Soracom

Users

ドキュメント

SAM ユーザーの権限を設定する

SAM ユーザーが SORACOM API を呼び出す場合は、呼び出す API にあわせて SAM ユーザーごとに権限を設定します。

権限を設定する方法には、直接指定、ロール指定、SAM デフォルト権限設定の 3 種類があります。1 ユーザーに対して、すべての方法で権限を設定した場合の適用順序については、SAM ユーザーの権限設定の適用順序について を参照してください。

設定方法説明
[直接指定]SAM ユーザーごとに、個別の権限を設定します。詳しくは、直接指定 を参照してください
[ロール指定]あらかじめロールを作成し、ロールを SAM ユーザーに関連付け (アタッチ) します。詳しくは、ロール指定 を参照してください。
SAM デフォルト権限設定SAM デフォルト権限は、すべての SAM ユーザーに適用される権限です。詳しくは、SAM デフォルト権限を設定する を参照してください。
SORACOM ユーザーコンソールおよび SORACOM CLI のほとんどの機能は権限設定の影響を受けます

SORACOM ユーザーコンソールおよび SORACOM CLI のほとんどの機能は、SORACOM API を利用しています。したがって、必要な権限が SAM ユーザーに設定されていない場合は、エラーメッセージが表示されたり、説明どおりに操作できなかったりします。

SORACOM ユーザーコンソールの主な機能と権限設定については、SORACOM ユーザーコンソールの主な機能と権限設定について を参照してください。

なお、SIM 管理画面の一覧 に表示する項目を設定する操作など、権限設定が不要な機能もあります。

SAM ユーザーの権限設定を変更したときは新しい API キーと API トークンを発行してください

SAM ユーザーの権限設定に関する情報は、API キーと API トークンに含まれています。したがって、API キーと API トークンを発行後に SAM ユーザーの権限設定を変更したときは、以下の方法で新しい API キーと API トークンを発行してください。

  • SORACOM API および SORACOM CLI を利用する場合は、API キーと API トークンを発行する の手順に従って API キーと API トークンを発行してください。
  • SAM ユーザーが SORACOM ユーザーコンソールにログインしている場合は、一度ログアウトしてログインし直してください。ログインし直したときに、新しい API キーと API トークンが発行されます。
SAM ユーザーに権限設定を許可しないでください

技術的には、SAM ユーザーに権限設定 (User:updateUserPermission API) を許可すると、SAM ユーザーが自分ですべての機能の利用を許可できるようになります。権限設定を許可しないことを強く推奨します。

ルートユーザーには権限を設定できません
オペレーターを作成 したときに同時に作成されるルートユーザーには、権限を設定することはできません。すべての操作を行えます。
Query:searchSims を許可した場合は、すべての IoT SIM に対して SIM グループも含めた検索/一覧取得を行う権限が与えられます。 たとえば、IoT SIM の一覧取得の権限のみを付与する場合は、Sim:listSims を許可してください。

直接指定

SAM ユーザーごとに、個別の権限を設定します。

  1. SAM ユーザー一覧画面で、権限を設定する SAM ユーザーをクリックします。

    SAMユーザーの選択 SAMユーザーの選択

  2. [権限設定] をクリックします。

    権限設定 権限設定

  3. パーミッション構文に従った JSON を [直接指定] に入力します。

    たとえば、ある SAM ユーザーに、IoT SIM の一覧を表示する権限のみを付与する場合は、以下のように入力します。

    {
      "statements": [
        {
          "effect": "allow",
          "api": [
            "Sim:listSims"
          ]
        }
      ]
    }
    

    パーミッション構文については、権限設定のためのパーミッション構文 を参照してください。

    テンプレート (良く使われる定型的な設定) や作成済みのロールを参考にできます

    良く使われる定型的な権限設定を「テンプレート」という名前で用意しています。

    [テンプレート選択] で目的に合った権限設定 (テンプレート、または ロール) を選択して、[直接指定] に入力する内容の参考にできます。[コピー] をクリックすると、[テンプレート選択] に表示されている内容をクリップボードにコピーできます。

  4. [保存] をクリックします。

ロール指定 (関連付け)

あらかじめ ロールを作成 しておくと、ロールを SAM ユーザーに関連付ける (アタッチする) だけで、SAM ユーザーの権限を設定できます。

  1. SAM ユーザー一覧画面で、権限を設定する SAM ユーザーをクリックします。

    SAMユーザーの選択 SAMユーザーの選択

  2. [権限設定] をクリックします。

    権限設定 権限設定

  3. [ロール指定][ロールをアタッチ] をクリックします。

  4. 関連付ける (アタッチする) ロールにチェックを入れて、[アタッチ] をクリックします。

    ロール一覧画面が表示されます。

複数のロールを指定した場合の動作について

直接指定とロール指定に優先順位はありません。直接指定およびロール指定で設定した権限はすべて同じ優先順位で評価されます。許可設定 (allow) と拒否設定 (deny) が競合した場合の動作について詳しくは、SAM ユーザーの権限設定の適用順序について を参照してください。

関連付けた (アタッチした) ロールを削除するには

関連付けたロールを削除するには、ロール一覧画面で [デタッチ][デタッチ] の順にクリックします。

SORACOM ユーザーコンソールの主な機能と権限設定について

適切な権限を設定していない SAM ユーザーが SORACOM ユーザーコンソールにログインすると、SIM 管理画面が表示されないなど説明通りに操作できない場合があります。これは、SORACOM ユーザーコンソールの一部の機能が、SORACOM API を利用しているためです。

SORACOM ユーザーコンソールの主な機能と、その機能を利用するために必要な権限の関係は、以下のとおりです。

主な機能必要な権限
ダッシュボード
  • [BILLING]: Billing:getLatestBilling および Billing:getBillingHistory
  • [TRAFFIC RANKING]: Query:searchSubscriberTrafficVolumeRanking
  • [SIM STATUS SUMMARY]: ResourceSummary:getResourceSummary
  • [VPG STATUS]: VirtualPrivateGateway:listVirtualPrivateGateways
  • [AUDIT LOG]: AuditLog:getAPIAuditLogs
  • [ERROR LOG]: Log:getLogs
従来の SIM 管理画面を表示する

Subscriber:listSubscribers

  • グループの情報を表示する: Group:listGroups
  • タグを追加/更新する: Subscriber:putSubscriberTags
  • タグを削除する: Subscriber:deleteSubscriberTags
新しい SIM 管理画面を表示する

Query:searchSims

  • グループの情報を表示する: Group:listGroups
  • タグを追加/更新する: Sim:putSimTags
  • タグを削除する: Sim:deleteSimTags
SAM ユーザーが自分のパスワードを変更する

User:updateUserPassword

「自分のパスワード」に制限する場合は、以下のように condition を指定します。condition を指定しない場合は、ある SAM ユーザーが、すべての SAM ユーザーのパスワードを変更できます。

{
  "statements": [
    {
      "effect": "allow",
      "api": "User:updateUserPassword",
      "condition": "pathVariable('user_name') == samUserName"
    }
  ]
}
SAM ユーザーの多要素認証を有効にする
  • otpauth URI を発行する: User:enableUserMFA
  • 認証コード (OTP) が正しいことを確認し、多要素認証を有効にする: User:verifyUserMFA
  • 多要素認証を無効にする: User:revokeUserMFA
  • 多要素認証の設定画面で [多要素認証を無効にする] を表示する: User:getUserMFAStatus
必要な機能を利用できないときは

上記の表に記載されている機能に限らず、ほとんどすべての機能は適切な権限を設定する必要があります。

必要な機能を利用できないときは、機能に対応する権限を SAM ユーザーに設定してください。すべての権限は、SORACOM API リファレンス で調べられます。

SAM ユーザーの権限設定の適用順序について

SAM ユーザーに対して権限を設定する方法には、直接指定ロール指定SAM デフォルト権限設定 の 3 種類があります。ある SAM ユーザーに対して、複数の方法で権限を設定した場合は、以下のルールで権限が適用されます。

直接指定、ロール指定 (複数指定可能)、SAM デフォルト権限設定の 3 種類の権限設定を、すべて同じ優先順位で組み合わせます。その結果、同じ API に対して、許可 (allow) と 禁止 (deny) を設定した場合は、API の呼び出しは 禁止 (deny) されます。

なお、具体例は以下のとおりです。

例 1:

Billing:billsBilling:bills を除く Billing:*
権限設定 Aallow
指定なし
権限設定 Bdeny
deny
結果denydeny
  • 権限設定 A : Billing:bills だけが allow

    {
      "statements": [
        {
          "effect": "allow",
          "api": "Billing:bills"
        }
      ]
    }
    
  • 権限設定 B : Billing:*deny (Billing:billsdeny)

    {
      "statements": [
        {
          "effect": "deny",
          "api": "Billing:*"
        }
      ]
    }
    

例 2:

Billing:billsBilling:bills を除く Billing:*
権限設定 Adeny
指定なし
権限設定 Ballow
allow
結果denyallow
  • 権限設定 A : Billing:billsdeny の権限設定

    {
      "statements": [
        {
          "effect": "deny",
          "api": "Billing:bills"
        }
      ]
    }
    
  • 権限設定 B : Billing:*allow の権限設定 (Billing:billsallow)

    {
      "statements": [
        {
          "effect": "allow",
          "api": "Billing:*"
        }
      ]
    }