ヤマムギ

growing hard days.

*

IAMアクセス許可の境界でIAMロールの権限を制御する

   

IAMユーザー自身の権限はIAMポリシーで制御できますが、IAMユーザーにIAMロールを作成する権限を自由に許可することで、そのIAMユーザー自身以上の権限が許可されたIAMロールが作成され、EC2やLambdaに設定されることで、IAMユーザーは自身以上の権限でAWSの操作が行えます。

IAMアクセス許可の境界を使用することで、IAMユーザーは指定された権限範囲を超えるロールの作成ができなくなります。

ユーザーガイドIAM エンティティのアクセス許可の境界を参考に検証をしました。
こちらのユーザーガイドではIAMユーザーの管理を移譲されたIAMユーザーのシナリオですが、IAMロールを作成する開発者に置き換えて検証してみました。

まずIAMユーザーにアタッチするIAMポリシーの例です。

ポリシー名: DelegatedRoleBoundary

LambdaRoleBoundariesというポリシーがアクセス境界に設定されていないと、CreateRoleなどは行えないよう、”iam:PermissionsBoundary”をConditionsで設定しています。

アクセス境界に設定するIAMポリシーの例です。

ポリシー名: LambdaRoleBoundaries

こちらはシンプルにCloudWatch Logs、S3、DynamoDBに対してのフルアクセス権限が設定されています。

対象IAMユーザーです。
DelegatedRoleBoundaryポリシーがアタッチされています。
必要に応じて、EC2やLambdaなど開発に必要なサービス、リソースへのアクションを許可するものとします。

このユーザーがIAMロールを作成しようとして、LambdaRoleBoundariesポリシーをアクセス境界に設定しなかった場合は、以下の権限エラーで作成ができません。

User: arn:aws:iam::123456789012:user/BoundaryRoleTest is not authorized to perform: iam:CreateRole on resource: arn:aws:iam::123456789012:role/TestRole

LambdaRoleBoundariesポリシーをアクセス境界に設定することでIAMロールが作成できます。
もしもIAMロールにAdministratorAccessポリシーをアタッチしても、アクセス境界ポリシーでCloudWatch Logs, S3, DynamoDBしか操作が許可されていませんので、安全です。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

ALBにWAFを関連付けて特定のヘッダー以外はブロックする

おかげさまで、ブログのアクセスも増えてきて、t3.nano EC2インスタンス単 …

AWS IAMのMFA「エンティティは既に存在しています」に対応しました

エンティティは既に存在しています MFA Device entity at th …

Amazon CodeCatalystのスペースとプロジェクトを作成してみました

Amazon CodeCatalystはIAMユーザーで操作するのではなく、AW …

Amazon API GatewayをLambda(Python)で削除する

やりたいこと 特定のAWSアカウント、特定のリージョン内のAPI Gateway …

新しいVPCウィザード(2022年)がすんごく便利になってました

VPCウィザードがすんごく便利になってました。 ウィザードの左ペインで設定を選択 …

Rocket.ChatをAmazon EC2 Ubuntuサーバーで起動

こちらRocket.Chatを1行でAWS上に導入を参照させていただきました。 …

AWS Organizationsでタグポリシーを設定しようとしました

Organizationsで[タグポリシーを有効にする]ボタンを押下しました。 …

WordPressのwp-login.php , xmlrpc.phpへのアクセスをAWS WAFで接続元IPアドレスを制限する

AWS CloudWatch LogsエージェントでAmazon EC2上のNg …

静的と動的って何ですか?と営業さんに聞かれたので端的に説明してみました

AWS認定クラウドプラクティショナーの勉強をしている営業さんに、「S3で静的オブ …

AWS App RunnerでGithubリポジトリからデプロイ

AWS App Runner開発者ガイドのチュートリアルをやってみました。 Gi …