ロールの修正 (AWS CLI) - AWS Identity and Access Management

ロールの修正 (AWS CLI)

AWS Command Line Interface を使用してロールを変更できます。ロールのタグのセットを変更するには、「IAM ロールのタグの管理 (AWS CLI または AWS API)」を参照してください。

ロールの信頼ポリシーの変更 (AWS CLI)

ロールを引き受けるユーザーを変更するには、ロールの信頼ポリシーを変更する必要があります。サービスにリンクされたロールの信頼ポリシーは変更できません。

メモ
  • ユーザーがプリンシパルとしてロールの信頼ポリシーに表示されているが、そのロールを引き受けることができない場合は、ユーザーのアクセス許可の境界を確認します。アクセス許可の境界がユーザーに対して設定されている場合は、sts:AssumeRole アクションを許可する必要があります。

  • ロールセッション内でユーザーが現在のロールを再び引き受けることができるようにするには、ロール信頼ポリシーでロール ARN または AWS アカウント ARN をプリンシパルとして指定します。Amazon EC2、Amazon ECS、Amazon EKS、Lambda などのコンピューティングリソースを提供する AWS のサービス は、一時的な認証情報を提供し、これらの認証情報を自動的にローテーションします。これにより、常に有効な認証情報セットを確保できます。これらのサービスでは、一時的な認証情報を取得するために現在のロールを再度引き受ける必要はありません。ただし、セッションタグまたはセッションポリシーを渡す場合は、現在のロールを再度引き受ける必要があります。ロールの信頼ポリシーを変更してプリンシパルロールの ARN または AWS アカウント ARN を追加する方法については、ロールの信頼ポリシーの変更 (コンソール) を参照してください。

ロールの信頼ポリシーを変更するには (AWS CLI)
  1. (オプション) 変更するロールの名前が不明である場合は、次のコマンドを実行してアカウントのロールを一覧表示します。

  2. (オプション) ロールの現在の信頼ポリシーを表示するには、次のコマンドを実行します。

  3. ロールにアクセス可能な信頼されたプリンシパルを変更するには、更新された信頼ポリシーを使用してテキストファイルを作成します。ポリシーの作成には任意のテキストエディタを使用できます。

    以下の信頼ポリシーの例では、Principal 要素で 2 つの AWS アカウントを参照する方法を示します。これにより、2 つの別個の AWS アカウント内のユーザーが、このロールを引き受けることができます。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ]}, "Action": "sts:AssumeRole" } }

    別のアカウントでプリンシパルを指定した場合、ロールの信頼ポリシーにアカウントを追加しても、クロスアカウントの信頼関係は半分しか確立されません。デフォルトでは、信頼されたアカウントのユーザーはロールを引き受けることができません。新しく信頼されたアカウントの管理者は、ロールを引き受けるアクセス許可をユーザーに付与する必要があります。これを行うには、ユーザーにアタッチするポリシーを作成または編集し、sts:AssumeRole アクションへのアクセスをユーザーに許可する必要があります。詳細については、次の手順または「ロールを切り替えるアクセス許可をユーザーに付与する」を参照してください。

  4. 先ほど作成したファイルを使用して信頼ポリシーを更新するには、次のコマンドを実行します。

信頼された外部アカウントのユーザーにロールの使用を許可するには (AWS CLI)

この手順の詳細については、「ロールを切り替えるアクセス許可をユーザーに付与する」を参照してください。

  1. JSON ファイルを作成し、ロールを引き受けるためのアクセス許可を付与するアクセス許可ポリシーを含めます。たとえば、次のポリシーには必要最小限のアクセス権限が含まれています。

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::ACCOUNT-ID-THAT-CONTAINS-ROLE:role/ROLE-NAME" } }

    ステートメント内の ARN を、ユーザーが引き受けるロールの ARN に置き換えます。

  2. 次のコマンドを実行し、信頼ポリシーが含まれている JSON ファイルを IAM にアップロードします。

    このコマンドの出力には、ポリシーの ARN が含まれています。この ARN を書き留めます。後のステップで必要になります。

  3. ポリシーをアタッチするユーザーまたはグループを決定します。目的のユーザーやグループの名前が不明である場合は、以下のいずれかのコマンドを使用して、アカウントのユーザーやグループを一覧表示します。

  4. 以下のいずれかのコマンドを使用して、前のステップで作成したポリシーをユーザーまたはグループにアタッチします。

ロールのアクセス許可ポリシーの変更 (AWS CLI)

ロールで許可されているアクセス許可を変更するには、ロールのアクセス許可のポリシーを修正します。IAM のサービスにリンクされたロールのアクセス許可ポリシーは変更できません。ロールに依存するサービス内では、アクセス許可ポリシーを変更できる場合があります。サービスでこの機能がサポートされているかどうかを確認するには、「IAM と連携する AWS のサービス」を参照し、[Service-linked roles] (サービスにリンクされたロール) 列が [Yes] (はい) となっているサービスを探します。そのサービスに関するサービスにリンクされたロールのドキュメントを表示するには、リンクが設定されている [Yes] (はい) を選択します。

ロールで許可されたアクセス許可を変更するには (AWS CLI)
  1. (オプション) ロールに現在関連付けられているアクセス許可を表示するには、以下のコマンドを実行します。

    1. aws iam list-role-policies (インラインポリシーの一覧表示)

    2. aws iam list-attached-role-policies (管理ポリシーの一覧表示)

  2. ロールのアクセス権限を更新するコマンドは、管理ポリシーとインラインポリシーのいずれを更新するかによって異なります。

    管理ポリシーを更新するには、次のコマンドを実行して新しいバージョンの管理ポリシーを作成します。

    インラインポリシーを更新するには、次のコマンドを実行します。

ロールの説明の変更 (AWS CLI)

ロールの説明を変更するには、説明テキストを変更します。

ロールの説明を変更するには (AWS CLI)
  1. (オプション) ロールの現在の説明を表示するには、次のコマンドを実行します。

  2. ロールの説明を更新するには、説明パラメータを指定して、次のコマンドを実行します。

ロールの最大セッション時間の変更 (AWS CLI)

AWS CLI または API を使用して、引き受けるロールの最大セッション期間設定を指定するには、最大セッション期間設定の値を変更します。この設定の値は 1 時間~ 12 時間です。値を指定しない場合、デフォルトの最大 1 時間が適用されます。この設定では、AWS サービスが引き受けるセッションは制限されません。

注記

AWS CLI または API からロールを引き受けると、duration-seconds CLI パラメータまたは DurationSeconds API パラメータを使用して、より長いロールセッションをリクエストできます。MaxSessionDuration 設定は、DurationSeconds パラメータを使用してリクエストできるロールセッションの最大セッション期間を決定します。DurationSeconds パラメータの値を指定しない場合、セキュリティ認証情報は 1 時間有効です。

引き受けたロールの最大セッション継続時間設定を AWS CLI で変更するには (AWS CLI)
  1. (オプション) ロールの現在の最大セッション継続時間設定を表示するには、次のコマンドを実行します。

  2. ロールの最大セッション継続時間設定を更新するには、max-session-duration CLI パラメータまたは MaxSessionDuration API パラメータを指定して、次のコマンドを実行します。

    変更は、次にこのロールが引き受けられるまで有効になりません。このロールの既存のセッションを取り消す方法については、「IAM ロールの一時的なセキュリティ認証情報の取り消し」を参照してください。

ロールのアクセス許可の境界の変更 (AWS CLI)

ロールに許可されるアクセス許可の上限を変更するには、ロールのアクセス許可の境界を変更します。

ロールのアクセス許可の境界を設定するために使用する管理ポリシーを変更するには (AWS CLI)
  1. (オプション) ロールの現在のアクセス許可の境界を表示するには、以下のコマンドを実行します。

  2. 別の管理ポリシーを使用してロールのアクセス許可の境界を更新するには、次のコマンドを実行します。

    ロールにアクセス許可の境界として設定できる管理ポリシーは 1 つのみです。アクセス許可の境界を変更する場合は、ロールに許可されるアクセス許可の上限を変更します。