メニュー
AWS Identity and Access Management
ユーザーガイド

一時的なセキュリティ認証情報を作成するためのアクセス権限の付与

デフォルトで、IAM ユーザーには、フェデレーティッドユーザーおよびロールの一時的なセキュリティ認証情報を作成するアクセス権限がありません。ただし、IAM ユーザーはデフォルトで各自のアクセス権限を使用して GetSessionToken を呼び出し、他のユーザーのために一時的な認証情報を作成することができます。

注記

ユーザーに直接アクセス権限を付与できますが、アクセス権限はグループに付与することを強くお勧めします。これによって、アクセス権限の管理が容易になります。ユーザーがアクセス権限に関連付けられているタスクを実行する必要がなくなった場合には、そのユーザーをグループから削除するだけです。他のユーザーがそのタスクを実行する必要がある場合には、そのユーザーをグループに追加して、アクセス権限を付与します。

フェデレーテッドユーザーまたはロールの一時的なセキュリティ認証情報を作成するアクセス権限を IAM グループに付与するには、次の権限の少なくとも 1 つを付与するポリシーをアタッチします。

  • IAM ロールにアクセスするフェデレーテッドユーザーには、AWS STS AssumeRole へのアクセス権限を付与します。

  • ロールを必要としないフェデレーテッドユーザーには、AWS STS GetFederationToken へのアクセス権限を付与します。

AssumeRole API と GetFederationToken API の違いの詳細については、「一時的なセキュリティ認証情報のリクエスト」を参照してください。

例 : ロールを引き受けるアクセス権限を与えるポリシー

以下のポリシーの例では、AWS アカウント 123123123123UpdateApp ロールに対して AssumeRole を呼び出すアクセス権限が与えられます。AssumeRole を使用する場合、フェデレーテッドユーザーの代わりにセキュリティ認証情報を作成するユーザー(アプリケーション)は、ロールのアクセスポリシーに指定されていないアクセス権限を委任することができません。

Copy
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::123123123123:role/UpdateAPP" }] }

例 : フェデレーティッドユーザーの一時的なセキュリティ認証情報を作成するアクセス権限を付与するポリシー

次のポリシーの例では、GetFederationToken にアクセスできるアクセス権限が付与されます。

Copy
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": "*" }] }

重要

GetFederationToken を使用して、IAM ユーザーにアクセス権限を与えてフェデレーティッドユーザーの一時的なセキュリティ認証情報を作成する場合は、それによって、IAM ユーザーが自身のアクセス権限を委任できるようになることに注意してください。IAM ユーザーや AWS アカウントへのアクセス権限の委任については、「アクセス権を委任するポリシーの例」を参照してください。一時的なセキュリティ認証情報のアクセス権限を制御する方法の詳細については、「一時的なセキュリティ認証情報のアクセス権限を制御する」を参照してください。

例 : フェデレーテッドユーザーの一時的なセキュリティ認証情報を作成するユーザーを限定するアクセス権限を付与するポリシー

IAM ユーザーが GetFederationToken を呼び出してフェデレーティッドユーザーの一時的なセキュリティ認証情報を作成できるようにするときは、IAM ユーザーが委任を許可されたアクセス権限を実用上できるだけ制限することがベストプラクティスです。たとえば、次のポリシーは、名前が Manager で始まるフェデレーティッドユーザーの場合にのみ、IAM ユーザーに一時的なセキュリティ認証情報の作成を許可する方法を示しています。

Copy
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "sts:GetFederationToken", "Resource": ["arn:aws:sts::123456789012:federated-user/Manager*"] }] }