AWS Identity and Access Management
ユーザーガイド

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

デフォルトで、IAM ユーザーには、フェデレーティッドユーザーおよびロールの一時的なセキュリティ認証情報を作成するアクセス許可がありません。ユーザーに上記の権限を提供するポリシーを使用する必要があります。ユーザーに直接アクセス権限を付与できますが、アクセス権限はグループに付与することを強くお勧めします。これによって、アクセス権限の管理が容易になります。ユーザーがアクセス権限に関連付けられているタスクを実行する必要がなくなった場合には、そのユーザーをグループから削除するだけです。他のユーザーがそのタスクを実行する必要がある場合には、そのユーザーをグループに追加して、アクセス権限を付与します。

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

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

  • ロールを必要としないフェデレーティッドユーザーには、AWS STS GetFederationToken に対するアクセス許可を付与します。

AssumeRole および GetFederationToken の API オペレーションの違いの詳細については、「一時的なセキュリティ認証情報のリクエスト」を参照してください。

また、IAM ユーザーは、一時的セキュリティ認証情報を作成するために GetSessionToken を呼び出すこともできます。ユーザーが GetSessionToken を呼び出すためには、アクセス権限を必要としません。このオペレーションの目的は、MFA を使用してユーザーを認証することです。認証を制御するためにポリシーを使用することはできません。つまり、IAM ユーザーが GetSessionToken を呼び出して、一時的な認証情報を作成することを回避することはできません。

例 : ロールを引き受けるアクセス許可を付与するポリシー

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

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

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

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

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

重要

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

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

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

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