質問: APIが書き込むS3バケット専用のロールを発行たくて ``` { "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:getObject", "s3:putObject", "s3:deleteObject" ], "Resource":"arn:aws:s3:::xxxxx/*" } } } ``` こんな感じのロールを作ろうとしたのですが `not authorized to perform: iam:CreatePolicy on resource: policy` といわれていまします 自分のアカウントには ``` "iam:Get*", "iam:List*", "iam:PassRole" "iam:CreateServiceLinkedRole", "iam:DeleteServiceLinkedRole", "iam:ListRoles", ``` しかもってなくて iam:CreatePolicy は付与されていません "iam:CreateServiceLinkedRole", https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/using-service-linked-roles.html というのを調べるとなんか条件によってはロールを作れるとありますが難しくて理解できません 今回のようなケースで iam:CreateServiceLinkedRole があればやりたいことは可能なのでしょうか その場合どのようにして使えばいいのでしょうか あるいは上長にお願いするしかないですか?
回答: ご参考 service-linked roleの名の通り、このRoleは対応しているAWSリソースを作成した際に自動で作成されます。 作成されるRoleにはAWSリソースに必要な権限のみ設定され、紐付いているAWSリソース以外からは使用することが出来ないというものになっています。 IAM Roleの場合、自分が持っている権限よりも強い権限を作って好きな対象に権限を付与することが出来ます。 service-linked roleは従来のIAM Roleと権限が分かれているため、自由にRoleを作られることなくAWSサービスに必要な権限だけ与えることが出来るというわけです。 「IAM と連携する AWS のサービス」を参照してください。 https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/using-service-linked-roles.html https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html