スキップしてコンテンツを表示

よく見るIAMポリシーについて

0

IAMポリシーで特定のアクション以外を全て拒否するポリシーの例でよく見かけるものがあり、疑問です。 特にS3, Route53, IAM, CloudFront を例外とする記述例をよく見かけます。 例えば以下のようなポリシーです。

"Sid" : "sample",
"Effect" : "deny",
"NotAction" : [
	"s3:*",
	"route53:*",
	"iam:*",
	"cloudfront:*"
],
"Resource" : "*",
"Condition" : {
	"StringNotEquals": {
		"aws:RequestRegion" : [
			"eu-west-1"
	}
}

globalサービスだから除外しているのかとも思いましたが、S3はリージョナルサービスですし、globalサービスにはKMS等ほかにもあるので違うと思いました。

私の気のせいかもしれませんが、慣習的にそうなっているなどあればご教授頂きたいです。

よろしくお願いいたします。

1回答
1
承認された回答

IAMポリシーで制限しているサービスはそこまで深い意味は無いと思います。
おそらく例として使用されているだけです。
ちなみに一部のサービスはコントロールプレーンがus-east-1にしかないため記載いただいているIAMポリシーを設定すると操作できなくなるものもあります。
https://docs.aws.amazon.com/ja_jp/whitepapers/latest/aws-fault-isolation-boundaries/global-services.html

IAMポリシーでリージョン制限を行う時は注意してください。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_examples_aws_deny-requested-region.html

このポリシーは、ステートメントにリストされていないすべてのアクションへのアクセスを拒否する NotAction 効果がある Deny 要素を使用します。CloudFront、IAM、Route 53、および AWS Support サービスでのアクションは、物理的に AWS リージョンにある単一のエンドポイントを持つ一般的な us-east-1 グ ローバルサービスであるため、拒否しないでください。これらのサービスに対するすべてのリクエストは us-east-1 リージョンに対して行われるため、リクエストは NotAction 要素なしでは拒否されます。この要素を編集して、使用する他の AWS グ ローバルサービス (budgets、globalaccelerator、importexport、organizations、または waf など) のアクションを含めます。AWS Chatbot や AWS Device Farmなど、その他のグ ローバルサービスは、エンドポイントが us-west-2 リージョンに物理的に配置されているグ ローバルサービスです。単一のグ ローバルエンドポイントを持つすべてのサービスについては、「AWS 全般のリファレンス」の「AWS リージョンとエンドポイント」を参照してください。NotAction 効果を持つ Deny 要素の使用の詳細については、「IAM JSON ポリシー要素NotAction」を参照してください。

エキスパート
回答済み 1年前
  • ありがとうございます。IAMやRoute53といった一部のサービスのコントロールプレーンがus-east1にしかないというのは気づきませんでした。これまでIAMやRoute53に対してNotActionの記述が多い気がしたのはそのためかもしれません(上の例だとS3はたまたま)。勉強になりましたmm

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

関連するコンテンツ