【AWS SSO】アクセス権の仕組みについて

記事タイトルとURLをコピーする

こんにちは。AWS CLIが好きな福島です。

今回は、AWS SSOでのアクセス権の仕組みについて、ブログにまとめたいと思います。

用語(要素)

アクセス権の仕組みには、以下の3つの用語(要素)が関係しています。

AWSアカウント

AWS SSO上には、Organizations配下にいるAWSアカウントが表示されます。

ユーザー&グループ

Single Sign-On時に利用するユーザー&グループになります。
AWS SSOでは、

  • AWS SSO自身
  • Active Directory
  • 外部IDプロバイダー

のどれかを利用し、ユーザー&グループを管理できます。

アクセス権限セット

AWS SSOの独自の用語です。IAMでいうIAMロールと同じイメージです。
アクセス権限セットには、

  • AWSマネージドポリシー
  • アクセス権限ポリシー(IAMでいうインラインポリシー)

を付与できます。

ポイント

  • アクセス権限ポリシーは、1つしか設定できないため、
    IAMのマネージドポリシーのように用途ごとにカスタムしたポリシーを作成できず、 可読性が悪くなってしまいます。

  • AWSマネージドポリシーは10個までアタッチ可能で、 アクセス権限ポリシーは、10,000 バイトまで記載可能という制限があります。

他の制限については、以下をご参照ください。

docs.aws.amazon.com

※言語は、英語を指定してください。(日本語では古い情報が記載されています。)

アクセス権の仕組み

結論から記載するとAWS SSOを使ってアクセス権を付与するためには、

  • AWSアカウント
  • ユーザーもしくはグループ
  • アクセス権限セット

の組み合わせを定義する必要があります。

例えば、下記設定を実施した場合、

f:id:swx-fukushima:20210214160203p:plain

①の設定
「Group-A」に所属しているユーザーは、
「PermissionSet-A」を使って、
「AWSアカウントA」にログイン可能になります。

②の設定
「Group-A」に所属しているユーザーは、
「PermissionSet-A」を使って、
「AWSアカウントB」にログイン可能になります。

③の設定
「Group-A」に所属しているユーザーは、
「PermissionSet-B」を使って、
「AWSアカウントC」にログイン可能になります。

④の設定
「Group-B」に所属しているユーザーは、
「PermissionSet-B」もしくは「PermissionSet-C」を使って、
「AWSアカウントA」にログイン可能になります。
ただし、「PermissionSet-B」と「PermissionSet-C」の権限を同時に使うことはできません。

※アクセス権限セットは、それぞれの設定で使い回すことが可能です。

利用イメージ

ユーザーがアクセスするページには、以下のイメージになります。

f:id:swx-fukushima:20210214155642p:plain

49xxxxxxxx09のAWSアカウントには、

  • AdministartorAccess(アクセス権限セット)

を使い、アクセス可能です。

paaaaaman18のAWSアカウントには、

  • test(アクセス権限セット)
  • ViewOnlyAccess(アクセス権限セット)

の権限を使い、アクセス可能です。 ※testを使って、アクセスした場合は、testの権限のみしか、付与されません。

終わりに

今回は、AWS SSOのアクセス権の仕組みについて、まとめてみました。
どなたかのお役に立てれば幸いです。

福島 和弥 (記事一覧)

SRE3課

2019/10 入社

AWS CLIが好きです。