2020年6月16日火曜日

IAM trustポリシー、service-linkedロールについて

こちらが良いかも


ーー

ややこしいのでまとめました。


リソースベースポリシーはTrust Policy

リソースベースのポリシーは、Amazon S3 バケットなどのリソースにアタッチする JSON ポリシードキュメントです。
リソースベースのポリシーはインラインポリシーです。リソースベースの管理ポリシーはありません。
IAM サービスは、ロールの信頼ポリシーと呼ばれるリソースベースのポリシーのタイプを 1 つのみサポートします。

信頼ポリシーは他にもあるけど、リソースベースのポリシーは信頼ポリシーしかないです。つまり十分条件ですね。つまり、他のリソースがアクセスすることを信頼するポリシーです。

IAM信頼ポリシー

あるPrincipalが、ロールや認証を引き受けることができるように許可するポリシー。 

この1文がわかりやすかったです。『Trust policyでは、管理者がEC2インスタンスだけにロールを引き受けさせることができます。』

In the role's trust policy, the administrator specifies that only EC2 instances can assume the role. https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2.html 


同じページからポリシーの例。
Principalはec2で、sts:AssumeRoleをAllowしている。 

The abcd role must trust the Amazon EC2 service to assume the role. To do this, the abcd role must have the following trust policy: 

Account 111111111111 abcd Role Trust Policy 


    "Version": "2012-10-17", 

    "Statement": [ 

        { 

            "Sid": "abcdTrustPolicy", 

            "Effect": "Allow", 

            "Action": "sts:AssumeRole", 

            "Principal": {"Service": "ec2.amazonaws.com"} 

        } 

    ] 


Service-linked role 

(「サービスにリンクされたロール」と訳されている。)

あるAWSサービス(1)が他のAWSサービス(2)にアクセスできるようになるためのrole。 
このロールがつくサービス(1)は「trusted service」と呼ばれる。

- AWS Organizationで設定する
- 1つのサービスに限定して作成する
- ロールの管理が楽になる(Organizationzで設定するから)
- 権限のエスカレーションができないので安全
- 他のIAMのパーミッションには影響しない
- このロールの削除は対象のリソースを削除してからでないとできません。

使えるサービスは表になっている。最初はlexだけだったそうです。 
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html 

Service-linked roleを使う設定

あるAWSサービス(trusted serviceと呼ぶ)でservice-linked roleをアタッチするとする。trusted serviceが別のAWSサービスにアクセスできるようにする設定をtrusted accessと呼ぶ。  

条件: 
・AWS Organizationが使えること。 
・Trusted serviceが使えること。 


方法: 
Trusted access を有効にすることで、 trusted serviceが有効にできる。パーミッションの設定を行う。 

organizations:EnableAWSServiceAccess 
organizations:ServicePrincipal 
organizations:ListAWSServiceAccessForOrganization 


詳細は こちらで。
https://docs.aws.amazon.com/organizations/latest/userguide/orgs_integrate_services.html?icmpid=docs_orgs_console 

 

 
 

0 件のコメント:

コメントを投稿