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認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
関連記事
-
-
CloudFormationスタックポリシーでスタック更新を防止する
CloudFormationのスタックにスタックポリシーを設定することによって、 …
-
-
AWS CloudFormationでAmazon DynamoDBテーブルを作ってアイテムを追加する
デモ用にDynamoDBテーブルを作って消して、ということをたまにするので、Cl …
-
-
「JAWS-UG 名古屋 2022年 “re:Invent”の復習~忘年会~」に参加しました
re:Inventのおみやげも飲み物、ピザ、お寿司もたくさん。 コラボベースさん …
-
-
AWS Wavelengthゾーンを有効にする
画面上で確認しておきたかったので有効にしておきました。 AWS Waveleng …
-
-
ChatGPT APIをTeamsボットから使いました(AWS Lambda(Python) + API Gateway)
ChatGPT APIが有償で利用可能になったので、会社のTeamsボットに実装 …
-
-
Amazon SNSサブスクリプションフィルターで優先度別のSQSキューにサブスクライブする
EC2のコンシューマーアプリケーションは優先度の高いキューのメッセージを先に処理 …
-
-
X-Ray SDK for Python でライブラリへのパッチ適用
boto3でのAWS呼び出しとrequestsでの外部API呼び出しにパッチ適用 …
-
-
AWS WAFの個別ルールを設定する
Web ACLを選択して、[Add my own rules and rule …
-
-
RDS for MySQL のインスタンスタイプ変更
当ブログのデータベースは、RDS for MySQLです。 個人利用ですし、障害 …
-
-
API GatewayをトリガーにしたときのLambdaリソースベースポリシー
先日、SwaggerからAPI Gatewayを作ったときに、API Gatew …









