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

IAM ロールを使用する

作成したロールを IAM ユーザー、アプリケーション、またはサービスが使用できるようにするには、ロールを切り替えるアクセス許可を付与する必要があります。そのためには、必要なアクセス許可を付与するポリシーを IAM ユーザーグループまたはユーザー自身にアタッチする必要があります。このセクションでは、ロールを使用するアクセス許可をユーザーに付与する方法について説明した後、ユーザーが AWS マネジメントコンソール、Tools for Windows PowerShell、AWS Command Line Interface (AWS CLI)、AssumeRole API を使用してロールを切り替える方法について説明します。

重要

ロールの作成を IAM コンソールではなくプログラムで行う場合は、最大 64 文字までの RoleName に加えて最大 512 文字までの Path を追加できます。ただし、AWS コンソールの [ロールの切り替え] 機能でロールを使用する場合は、PathRoleName の合計が 64 文字を超えることはできません。

ロールの切り替えは AWS マネジメントコンソールから行うことができます。ロールを引き受けるには、AWS CLI または API オペレーションを呼び出すか、カスタム URL を使用します。使用する方法によって、誰がロールを引き受けることができるか、およびロールセッションの持続期間が決定されます。

ロールを使用するためのメソッドの比較

方法 だれがロールを引き受けるか 認証情報の有効期間を指定する方法 認証情報の有効期間 (最小 | 最大 | デフォルト)
AWS マネジメントコンソール IAM ユーザー (ロールの切り替えによる) なし 1 時間 | 1 時間 | 1 時間
assume-role CLI または AssumeRole API オペレーション IAM ユーザーまたはロール¹ duration-seconds CLI または DurationSeconds API パラメータ 15 分 | 最大セッション期間設定² | 1 時間
assume-role-with-saml CLI または AssumeRoleWithSAML API オペレーション SAML を使用して認証されたユーザー duration-seconds CLI または DurationSeconds API パラメータ 15 分 | 最大セッション期間設定² | 1 時間
assume-role-with-web-identity CLI または AssumeRoleWithWebIdentity API オペレーション ウェブ ID プロバイダを使用して認証されたユーザー duration-seconds CLI または DurationSeconds API パラメータ 15 分 | 最大セッション期間設定² | 1 時間
AssumeRole を使用して構築されたコンソール URL IAM ユーザーまたはロール URL の SessionDuration HTML パラメータ 15 分 | 12 時間 | 1 時間
AssumeRoleWithSAML を使用して構築されたコンソール URL SAML を使用して認証されたユーザー URL の SessionDuration HTML パラメータ 15 分 | 12 時間 | 1 時間
AssumeRoleWithWebIdentity を使用して構築されたコンソール URL ウェブ ID プロバイダを使用して認証されたユーザー URL の SessionDuration HTML パラメータ 15 分 | 12 時間 | 1 時間

¹ 1 つのロールの認証情報を使用して別のロールを引き受けることをロールの連鎖と呼びます。ロールの連鎖を使用すると、新しい認証情報は最長期間である 1 時間に制限されます。

² 最大セッション期間は、コンソール、AWS CLI、または API を使用してロールに割り当てることができる設定です。この設定は、CLI または API からロールを引き受けた場合の、そのロールの最大セッション期間を指定します。この設定の値は 1 時間~ 12 時間です。最大セッション期間設定の詳細については、「ロールの修正」を参照してください。この設定は、ロールの認証情報を取得したときにリクエストできる最大セッション期間設定を決定します。たとえば、AssumeRole* API オペレーションを使用してロールを引き受ける場合は、DurationSeconds パラメータの値を使用してセッションの期間を指定できます。このパラメータを使用して、ロールセッションの期間を 900 秒 (15 分) からそのロールの最大セッション期間設定まで指定できます。ロールの最大値を確認する方法については、このページで後述する「ロールの最大セッション期間設定の表示」を参照してください。

ロールの最大セッション期間設定の表示

AWS CLI または API オペレーションを使用してロールを引き受ける場合は、DurationSeconds パラメータの値を指定できます。このパラメータを使用して、ロールセッションの期間を 900 秒 (15 分) からそのロールの最大 CLI/API セッション期間設定まで指定できます。パラメータを指定する前に、ロールのこの設定を表示する必要があります。DurationSeconds パラメータに最大値設定よりも大きい値を指定した場合は、オペレーションが失敗します。

ロールの最大セッション期間を表示するには (コンソール)

  1. IAM コンソールの [Navigation] ペインで [Roles] を選択します。

  2. 表示するロールの名前を選択します。

  3. [最大 CLI/API セッション期間] の横に、AWS CLI または API オペレーションに指定できる最大セッション期間が表示されます。

ロールの最大セッション継続時間設定を表示するには (AWS CLI)

  1. 引き受けるロールの名前がわからない場合は、次のコマンドを実行してアカウントのロールを一覧表示します。

  2. ロールの最大セッション継続時間を表示するには、次のコマンドを実行します。次に、最大セッション継続時間パラメータを確認します。

ロールの最大セッション継続時間設定を表示するには (AWS API)

  1. 引き受けるロールの名前がわからない場合は、次のオペレーションを呼び出してアカウントのロールを一覧表示します。

  2. ロールの最大セッション継続時間を表示するには、次のオペレーションを実行します。次に、最大セッション継続時間パラメータを確認します。