このブログを検索

2019/09/25

AWSのリソースポリシーの話

メモ。

AWSの権限管理と言えばIAMポリシーだけれど、S3バケットやAPI Gatewayにはリソースポリシーがある。

IAMポリシーは明示的にAllowされている権限だけが付与されるが、
リソースポリシーは明示的にDenyされていない限り同一アカウントからのアクセスは受け入れてしまう。
従ってリソースにホワイトリスト形式でIPアドレス制限をかけたい場合などは、下記リンクのようにDenyで全てのアクセスを拒否した上で、Condition句にNot条件を書く必要がある。

これと同様の方法で、例えばTrustedAdvisorに付与したIAMロールをホワイトリストで許可したい場合は、StringNotLike条件でuserid:*を記述する方法がある。

ただ、useridはブラウザコンソールから簡単に確認できず、ARNに比べるとどのIAMロールを指しているかがとても分かりにくいのが難儀。
色々試してみたところ、ArnNotEquals条件にPrincipalArnを記述すれば同じ効果が得られそうだった。
"Condition":{
  "ArnNotEquals":{
    "aws:PrincipalArn": "aws:arn:111122223333:role/role-name"
  } 
}
SourceArn条件だとアクセス元のAWSサービスのARNを指定することになるみたい。(Lambdaとか)

0 件のコメント:

コメントを投稿