ヤマムギ

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認定クラウドプラクティショナー 改訂第2版」という本を書きました。

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

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

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

 - AWS ,

ad

ad

  関連記事

AWSアカウント ルートユーザーのMFAが使えなくなったので復旧

AWSのルートユーザーどころか、MFAが使えるログインすべてが使えなくなって焦り …

Amazon Location Service入門ワークショップ-ルート計算

Amazon Location Service入門ワークショップのアプリで、ルー …

AWS CodeStarのプロジェクトテンプレートLambda+Pythonによって生成されるもの

勉強会のデモで、AWS CodeStarのプロジェクトテンプレートLambda+ …

VPC環境でLambdaを100同時実行してプライベートIPアドレスを確認した

2019年9月発表のLambda 関数が VPC 環境で改善されます以降に、VP …

特定AWSアカウント特定リージョンのSQSキューを削除するLambda(Python)

やりたいこと 特定アカウント内特定リージョン内のSQSキューを全部削除したいです …

RDSのポイントインタイムリカバリをしました

WordPressで画像アップロードができなくなった(AWS WAFでブロックし …

S3バケットのリクエスタ支払い

S3バケットのリクエスタ支払いを試しました。 バケットの設定 検証用のS3バケッ …

Amazon Aurora Serverless 課金確認

Amazon Aurora Serverlessを使い始めてみましたの記事で書い …

「ポケットスタディ AWS認定 デベロッパーアソシエイト」を執筆しました

2021年3月6日に、「ポケットスタディ AWS認定 デベロッパーアソシエイト」 …

Systems Manager セッションマネージャアクセスのCloud9(SSHなし)

作成画面 いつからできるようになっていたのか気づいてなかったのですが、Cloud …