AWS OrganizationsのSCPで許可/拒否クイズ
SCPの概要
AWS OrganizationsのSCP(Service Control Policy)とは、組織内のメンバーアカウントのAWS IAMユーザ・ロールの最大権限を制限するポリシーです。
権限を付与するのではなく「最大権限を制限する」という特徴から、評価ロジックがAWS IAMポリシーと異なります。
そんなSCPについて学べるクイズを5問作成してみたので、ぜひ挑戦してみてください。
第1問
AWS Organizationsの組織を作成し、ルート直下にOUを1つ作成し、そのOUの直下にメンバーアカウントを配置しました。
そのOUにはAmazon S3の操作を許可するSCPをアタッチしました。
このとき、AWS IAMポリシー「AdministratorAccess」をアタッチしたメンバーアカウント内のAWS IAMユーザはAmazon EC2の操作を実行できるでしょうか?
ただし、言及していない部分は既定の設定のままとします。
解説
正解は「実行できる」です。
FullAWSAccessという全操作許可のAWS管理SCPがルート・各OU・各AWSアカウントに既定でアタッチされています。[1]
そのため、本問の状況だとAWS IAMユーザは全操作を実行できます。
Amazon S3の操作のみ許可したい場合は、OUからFullAWSAccess SCPをデタッチする必要があります。
第2問
AWS Organizationsの組織を作成し、ルート直下にOU①を作成し、OU①の直下にOU②を作成し、OU②の直下にメンバーアカウントを配置しました。
OU①にAmazon S3の操作を許可するSCPをアタッチし、OU①からFullAWSAccess SCPをデタッチしました。
また、OU②にAmazon EC2の操作を許可するSCPをアタッチし、OU②からFullAWSAccess SCPをデタッチしました。
このとき、AWS IAMポリシー「AdministratorAccess」をアタッチしたメンバーアカウント内のAWS IAMユーザはAmazon S3の操作を実行できるでしょうか?
また、Amazon EC2の操作は実行できるでしょうか?
ただし、言及していない部分は既定の設定のままとします。
解説
正解は「Amazon S3の操作もAmazon EC2の操作も実行できない」です。
SCPの評価ロジックとして、ルート・各上位OU・メンバーアカウント自身、全てのレベルで明示的に許可された操作でないと許可されません。
OU①で明示的に許可されているのはAmazon S3の操作のみで、それもOU②で暗黙的に拒否されているため、AWS IAMユーザは何も操作することができません。
第3問
AWS Organizationsの組織を作成し、ルート直下にOUを1つ作成し、そのOUの直下にメンバーアカウントを配置しました。
そのOUにはAmazon S3の操作を拒否するSCPをアタッチし、OUからFullAWSAccess SCPをデタッチしました。
このとき、AWS IAMポリシー「AdministratorAccess」をアタッチしたメンバーアカウント内のAWS IAMユーザはAmazon EC2の操作を実行できるでしょうか?
ただし、言及していない部分は既定の設定のままとします。
解説
正解は「実行できない」です。
第2問の解説の繰り返しになりますが、SCPの評価ロジックとして、ルート・各上位OU・メンバーアカウント自身、全てのレベルで明示的に許可された操作でないと許可されません。
本問ではOUからFullAWSAccess SCPをデタッチしており、OUで明示的に許可された操作が1つもないため、AWS IAMユーザは何も操作することができません。
Amazon S3の操作のみ拒否し、それ以外の操作を許可したい場合は、FullAWSAccess SCPをアタッチしたままにしておきます。
第4問
AWS Organizationsの組織を作成し、ルートにAmazon S3の操作を拒否するSCPをアタッチしました。
このとき、AWS IAMポリシー「AdministratorAccess」をアタッチした管理アカウント内のAWS IAMユーザはAmazon S3の操作を実行できるでしょうか?
ただし、言及していない部分は既定の設定のままとします。
解説
正解は「実行できる」です。
管理アカウントはSCPの影響を受けません。[2]
第5問
AWS Organizationsの組織を作成し、ルート直下にOUを1つ作成し、そのOUの直下にメンバーアカウントを配置しました。
メンバーアカウントにてAWS Configを有効化した後、OUにAmazon S3の操作を拒否するSCPをアタッチしました。
このとき、メンバーアカウントのAWS Configは設定の履歴・スナップショットをAmazon S3バケットへ書き込めるでしょうか?
ただし、言及していない部分は既定の設定のままとします。
解説
正解は「書き込める」です。
AWS Configは「AwsServiceRoleForConfig」というサービスリンクロールを使用して設定の履歴・スナップショットをAmazon S3バケットに書き込みますが、サービスリンクロールはSCPの影響を受けません。
まとめ
- SCPは権限を付与するのではなく最大権限を制限するポリシーです。
- FullAWSAccess SCPがルート・各OU・各AWSアカウントに既定でアタッチされています。
- SCPの評価ロジックとして、ルート・各上位OU・メンバーアカウント自身、全てのレベルで明示的に許可された操作でないと許可されません。
- 管理アカウントとサービスリンクロールはSCPの影響を受けません。
Discussion