AWS Identity and Access Management (IAM) の AssumeRole 機能は、一時的なセキュリティ認証情報を提供し、異なるIAMロールを一時的に引き受けることを可能にします。この記事では、AssumeRoleの基本的な概念と実際の使用方法について解説します。
AssumeRoleとは?
IAMのAssumeRoleは、あるIAMエンティティ(ユーザー、アプリケーション、またはサービス)が一時的に別のロールを引き受けることを可能にする機能です。このプロセスを通じて、エンティティは追加のアクセス権を一時的に得ることができます。
なぜAssumeRoleが必要なのか?
- 最小権限の原則: 一時的なアクセス権限を使用することで、常に必要最小限の権限で作業を行うことができます。
- クロスアカウントアクセス: 異なるAWSアカウント間でリソースにアクセスする必要がある場合に便利です。
- 一時的なアクセス: 限られた期間だけ特定のリソースへのアクセスを許可したい場合に使用します。
基本的な使い方
-
ロールの作成: AssumeRoleを利用するためには、まず引き受けるロールを作成する必要があります。このロールには、引き受けるエンティティと許可されたアクションを定義するポリシーが関連付けられます。
-
ロールの引き受け: AssumeRole APIを呼び出して、定義したロールを引き受けます。成功すると、一時的なセキュリティ認証情報が返されます。
-
一時的な認証情報の使用: 返された一時的な認証情報を使用して、定義されたアクションを実行します。
実際の例
以下は、AWS CLIを使用してAssumeRoleを呼び出し、一時的な認証情報を取得する基本的な例です。
aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/demo-role" --role-session-name "DemoSession"