MENU

Soracom

Users

SAM デフォルト権限

SAM デフォルト権限は SAM を使用した操作権限管理機能 を拡張する機能です。SAM デフォルト権限を利用することにより、権限管理ルールをすべての SAM ユーザーに対して適用できます。

本機能は例えば、

  • すべての SAM ユーザーに「自分自身のパスワードの設定を可能とする」権限を与える
  • Billing 関係の権限以外を与える (つまり Billing 関係の権限だけを剥奪する)

というようなユースケースにおいて効果的に働きます。

利用方法

ユーザーコンソールのメニューから「セキュリティ」を選択します。

ユーザーコンソールからセキュリティを選択

「セキュリティ」画面のサイドバーメニューから「SAM デフォルト権限設定」を選択します。

セキュリティ画面からSAMデフォルト権限設定を選択

権限管理ルールを設定する画面が出てくるので、適宜権限設定を行い、「保存」をクリックしてください。

SAMデフォルト権限設定画面

SAM デフォルト権限設定を行った直後 (つまり上記画面の「保存」をクリックした直後) は、SAM デフォルト権限は各 SAM ユーザーに 即時反映されません。SAM デフォルト権限を反映するには各 SAM ユーザーが一度ログアウトして、再度ログインしなおす必要があります。

構文

アクセス権限設定のためのパーミッション構文は SAM アクセス権限設定のためのパーミッション構文 と同じです。

権限ルールの適用順序

権限ルールは deny (拒否) のものが 必ず優先 されます。以下に例を示します。

  • 個別 SAM ユーザーは「API A を許可している」状態で、SAM デフォルト権限設定は「API A を拒否している」
    • API A は拒否されます
  • 個別 SAM ユーザーは「API B を拒否している」状態で、SAM デフォルト権限設定は「API B を許可している」
    • API B は拒否されます
  • 個別 SAM ユーザーは「API C を許可している」状態で、SAM デフォルト権限設定も「API C を許可している」
    • API C は許可されます
  • 個別 SAM ユーザーは「API D を許可している」状態で、SAM デフォルト権限設定ではなにも設定しない
    • API D は許可されます

以下に SAM デフォルト権限設定ルールの例を示します。

全 SAM ユーザーから Billing の権限を剥奪する例

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

全 SAM ユーザーに「自分自身のパスワードを変更する権限」を付与する例

{
  "statements": [
    {
      "effect": "allow",
      "api": "User:updateUserPassword",
      "condition": "pathVariable('user_name') == samUserName"
    }
  ]
}