AWS Organizations SCPで許可ポリシーの設定をし継承の関係を確認する
2021/08/07
ユーザーガイドのサービスコントロールポリシーの例にはDeny(拒否)ばっかりでAllow(許可)の例がないので、一応試しておきます。
SCP 構文にも記載があるように、Allow(許可)では、NotAction、Conditionが使えません。
Resourceも”*”のみです。
これに違反すると保存時に「The provided policy document does not meet the requirements of the specified policy type.」となりました。
## 環境
root->sandbox->Sandbox-nestに以下のSCPをアタッチしました。
この検証でSCPはEC2, S3, IAMを許可したAllowTestというSCPを作成しました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "EC2:*", "S3:*", "IAM:*" ], "Resource": "*" } ] } |
目次
OUのSCP継承を確認する
rootにはすべてを許可するFullAWSAccessというAWS管理SCPがアタッチされています。
配下のOUに継承されています。
|
1 2 3 4 5 6 7 8 9 10 11 |
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" } ] } |
sandboxには、IAMだけを許可するIAMFullをアタッチして、Sandbox-nestに継承しています。
|
1 2 3 4 5 6 7 8 9 10 11 12 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": "IAM:*", "Resource": "*" } ] } |
Sandbox-nestに上記のAllowTestをアタッチして、sakenamidaアカウントを子として登録しています。
sakenamidaアカウントのIAMロールOrgRoleにはAWS管理ポリシーAdministraotrAccessを設定しています。
スイッチロールしてsakenamidaアカウントにクロスアカウントアクセスしてみます。
IAM以外はすべて拒否されました。
sandboxからの継承により、配下のOUではIAMしか許可されなくなったしまったのですね。
ありそうな継承を確認する
継承はどんどん権限が狭くなるほうが実際にありそうですね。
このような構成に変えました。
sandboxにアタッチしたIAM-S3-EC2-RDSポリシーは名前どおり、IAM, S3, EC2, RDSにフルアクセス権限を追加しました。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "EC2:*", "S3:*", "IAM:*", "RDS:*", ], "Resource": "*" } ] } |
下にいくほど権限が絞り込まれていきます。
IAMロールは面倒なのでAdministrtorAccessのままです。
スイッチロールしてsakenamidaアカウントにクロスアカウントアクセスしてみます。
S3にアクセスできました。
RDSにはアクセスできませんでした。
想定どおりでした。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「AWS認定資格試験テキスト AWS認定AIプラクティショナー」という本を書きました。
「AWS教科書 AWS認定デベロッパーアソシエイト テキスト&問題集 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
ある意味マネジメントコンソールで生成された署名付きURL
マネジメントコンソールにS3オブジェクトの[開く]というボタンがいつのまにか出来 …
-
-
「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました!
「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました。 久 …
-
-
ParquetフォーマットのデータにS3 Select SQLを実行する
RDSスナップショットのS3エクスポート結果確認で出力したデータが、S3にPar …
-
-
Extend Switch Roles(Chromeのアドオン)で6つ以上のスイッチロール履歴
最近アカウントIDを忘れたりすることも多くなったので、切り替えに手間取ることがあ …
-
-
ADOT用のAWS マネージド型 Lambda レイヤーを使ってトレースを送信する
2025年11月にAWS X-Ray SDK / Daemon のサポート終了と …
-
-
Aurora Serverless Data APIを有効にしてQuery Editorを使ってみました
Aurora ServerlessのMySQLでData APIを有効にして作成 …
-
-
SIEM on Amazon OpenSearch Serviceを構築
このブログまわりのモニタリングをSIEM on Amazon OpenSearc …
-
-
CodeCommitリポジトリの復号化のCloudTrailログ確認
ユーザーガイドAWS Key Management Service と AWS …
-
-
CodeDeployでECR、ECSにデプロイするパイプラインのチュートリアル
チュートリアル: Amazon ECR ソースと、ECS と CodeDeplo …
-
-
RDS + VPC + Lambda + API Gateway + CloudFront + WAF + ACMでAPIを構築する
RDSのMySQLの情報を与えられたリクエストをキーにしてjsonで返すAPIを …









