AWSのIAMポリシーPowerUserAccessでIAM情報の参照ができない
いままでAWSを利用する際に、参照のみの場合はReadOnlyAccess, ある程度権限が必要なユーザーにはAdministratorAccessを付与していましたが、ユーザー数の増加にともないもう少し細かい制御をおこなうことにしました。
新しく利用し始めたポリシーに、PowerUserAccessがあります
新しく利用し始めたポリシーに、PowerUserAccessがあります
PowerUserAccess
AWSによると、PowerUserAccessは以下のとおりです。
デベロッパーパワーユーザーの職務機能 AWS 管理ポリシー名: PowerUserAccess
ユースケース: このユーザーはアプリケーション開発タスクを実行し、AWS 対応アプリケーションの開発をサポートするリソースとサービスを作成および設定できます。
(略)
ポリシーの説明: このポリシーの最初のステートメントでは、NotAction 要素を使用して、すべての AWS サービスのすべてのアクションと、すべてのリソース (AWS Identity and Access Management および AWS Organizations を除く) のすべてのアクションを許可します。2 つめのステートメントでは、サービスにリンクされたロールを作成する IAM アクセス許可を付与します。これは、別のサービスのリソース (Amazon S3 バケットなど) にアクセスしなければならないサービスに必要です。また、ユーザーの組織に関する情報 (管理アカウント の E メールや組織の制限など) を表示する Organizations アクセス許可を付与します。このポリシーは IAM および Organizations アクセスを制限しますが、AWS SSO が有効になっている場合、ユーザーはすべての AWS SSO アクションを実行できます。
AdministratorAccessとPowerUserAccessの違いは、IAMロールを操作できるかどうかということなのですが、AWSの各サービスからのIAMロール参照など、参照もできなくなってしまいました。

iam:PassRole
AWS のサービスにロールを渡すアクセス権限をユーザーに付与する
によると、PowerUserAccessに加えてiam:PassRoleを設定することで解決ができそうです。
AWSマネジメントコンソールで、IAM→ポリシー→ポリシーの作成
の画面で、アクセスレベルを「リスト」「絞り込み」と、書き込みの中の「PassRole」を選択します。
の画面で、アクセスレベルを「リスト」「絞り込み」と、書き込みの中の「PassRole」を選択します。

作成したポリシーをロールにアタッチします

これでPowerUserAccess権限を維持しつつ、IAMロールの参照ができるようになりました。
kaneko tomo
2021年6月5日
関連記事
Amazon Linux 2 x86_64 standard: 3.0のCodeBuild環境でPHP8.0を使う方法。
『今度の開発はPHP8.0環境にLaravel8でソース組んでるんでインフラもそ…
← 前の投稿
sessionStorageとは?