ヤマムギ

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

  関連記事

EC2インスタンスプロファイルによってAssumeRoleされた認証情報の有効期限は短くできるのでしょうか

「EC2インスタンスプロファイルによってAssumeRoleされた認証情報の有効 …

S3をトリガーにしたときのLambdaのリソースベースポリシー

LambdaのトリガーでS3を設定したとき、自動的にLambdaのリソースベース …

Amazon CloudWatch Anomaly Detectionをダッシュボードに設定

Amazon CloudWatch クロスリージョンクロスアカウントダッシュボー …

ヤマムギ vol.8 (AWS)EC2でLinuxサーバー構築ハンズオン 手順

ヤマムギとは from Mitsuhiro Yamashita 「AWSではじめ …

Amazon SESの受信ルールでSNSトピックを追加

SESの受信ルールにSNSトピックを設定してみました。 [View Active …

ChatGPT APIをTeamsボットから使いました(AWS Lambda(Python) + API Gateway)

ChatGPT APIが有償で利用可能になったので、会社のTeamsボットに実装 …

「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました!

「Fin-JAWS 第14回 Fin人類育成計画」で話させていただきました。 久 …

API Gateway Lambdaプロキシ統合で渡されるリクエストを確認しました

API Gatewayの統合リクエストでLambdaを指定するときにプロキシ統合 …

EC2 Amazon Linux 2 にAmazon LinuxからWordPressを移行

このブログを新しいインスタンスに移行することにしました。 2015年5月にAma …

AWSセルフマネージドAD環境にEC2 Windowsサーバーをドメイン参加する

AWSクイックスタートのActive Directory Domain Serv …