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

ロールの修正

ロールの変更または修正は以下の方法で行います。

  • ロールを引き受けるユーザーを変更するには、ロールの信頼ポリシーを変更します。

    注記

    ロールがサービスにリンクされたロールである場合、ロールの信頼ポリシーは変更できません。サービスにリンクされたロールが、テーブルの [Trusted entities] 列の [(Service-linked role)] に表示されます。

  • ロールで許可されているアクセス権限を変更するには、ロールのアクセス権限のポリシーを修正します。

    注記

    ロールがサービスにリンクされたロールである場合、ロールのアクセス権限はロールに依存するサービスからのみ変更できます。サービスにリンクされたロールが、テーブルの [Trusted entities] 列の [(Service-linked role)] に表示されます。サービスでこの機能がサポートされているかどうかについては、そのサービスの AWS ドキュメントを参照してください。

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

AWS マネジメントコンソール、AWS コマンドラインツール、Tools for Windows PowerShell、または IAM API を使用して、これらの変更を行うこともできます。

ロールの修正 (コンソール)

AWS マネジメントコンソールを使用してロールを修正することができます。

ロールにアクセスできる信頼済みのプリンシパルを変更するには (コンソール)

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

  2. アカウントのロールの一覧で、変更するロールの名前を選択します。

  3. [Trust relationships] タブを選択し、続いて [Edit trust relationship] を選択します。

  4. 必要に応じて信頼ポリシーを編集します。他の信頼されたプリンシパルを追加するには、Principal 要素に指定します。ポリシーは JSON 形式で記述され、JSON 配列は角括弧([ ])で囲まれ、カンマで区切られることに注意してください。次のポリシースニペットの例では、Principal 要素の 2 つの AWS アカウントを参照する方法を示しています。

    Copy
    "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] },

    ロールの信頼ポリシーにアカウントを追加しても、信頼関係は半分しか確立されていない点に注意してください。デフォルトでは、アカウントの管理者がロールを引き受ける権限をユーザーに付与しない限り、信頼されたアカウントのユーザーはロールを引き受けることができません。そのためには、管理者がロールの Amazon リソースネーム (ARN) を sts:AssumeRole アクションの Allow 要素に追加します。詳細については、次の手順およびトピック「ロールを切り替えるユーザーアクセス権限の付与」を参照してください。

    ロールが、AWS アカウントではなく、1 つ以上の信頼されたサービスによって使用されるとき、ポリシーには、次のような要素が含まれる場合があります。

    Copy
    "Principal": { "Service": [ "opsworks.amazonaws.com", "ec2.amazonaws.com" ] },
  5. 編集が終了したら、[Update Trust Policy] を選択して、変更を保存します。

    ポリシーの構造や構文の詳細については、「IAM ポリシーの概要」および「IAM ポリシーエレメントのリファレンス」を参照してください。

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

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

  1. 信頼された外部 AWS アカウントにサインインします。

  2. ユーザーとグループのどちらにアクセス許可をアタッチするかを決定します。IAM コンソールのナビゲーションペインで [Users] または [Groups] を選択します。

  3. アクセスを許可する対象となるユーザーまたはグループの名前を選択し、[Permissions] タブを選択します。

  4. 次のいずれかを行ってください。

    • カスタマー管理ポリシーを編集するには、ポリシーの名前を選択してから [Edit policy] を選択します。AWS の管理ポリシーを編集することはできません。AWS アイコンが表示されている AWS 管理ポリシー ( )をクリックします。AWS 管理ポリシーとカスタマー管理ポリシーの違いの詳細については、「管理ポリシーとインラインポリシー」を参照してください。

    • インラインポリシーを編集するには、ポリシーの名前の横にある矢印を選択し、続いて [Edit Policy] を選択します。

  5. ポリシーエディターで、新しい Statement 要素を追加して、次のように指定します。

    Copy
    { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::AWS account ID that contains the role:role/role name" }

    赤い文字を、この信頼された外部アカウントのユーザーが使用できる元のアカウントのロールの ARN からの実際の値に置き換えます。

    Statement キーワードは 1 つだけ使用できることに注意してください。ただし、ステートメントでは配列内に複数の要素を含めることができます。配列内の要素はカンマで区切り、配列は波かっこ({ })で囲みます。また、ステートメント全体の要素は角括弧([ ])で囲みます。

  6. 画面のプロンプトに従って、ポリシーの編集を終了します。

    AWS マネジメントコンソールでのカスタマー管理ポリシーの編集の詳細については、「カスタマー管理ポリシーの編集」を参照してください。

    AWS マネジメントコンソールでのインラインポリシーの編集については、「インラインポリシーの使用 (コンソール)」を参照してください。

ロールで許可されているアクセス権限を変更するには (コンソール)

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

  2. 変更するロールの名前を選択し、[Permissions] タブを選択します。

  3. 次のいずれかを行ってください。

    • 既存のカスタマー管理ポリシーを編集するには、ポリシーの名前を選択してから [Edit policy] を選択します。

      注記

      AWS の管理ポリシーを編集することはできません。AWS アイコンが表示されている AWS 管理ポリシー ( )をクリックします。AWS 管理ポリシーとカスタマー管理ポリシーの違いの詳細については、「管理ポリシーとインラインポリシー」を参照してください。

    • 既存の管理ポリシーをアタッチするには、[Add permissions] を選択します。

    • 既存のインラインポリシーを編集するには、ポリシーの名前の横にある矢印を選択し、続いて [Edit Policy] を選択します。

    • 新しいインラインポリシーを埋め込むには、[Add inline policy] を選択します。

    ロールを介してアクセス権限を委任するポリシーの例については、「ポリシーの例」を参照してください。

    権限の詳細については、IAM ポリシーの概要を参照してください。

ロールの説明を変更するには (コンソール)

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

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

  3. [Role description] の横の右端にある [Edit] を選択します。

  4. ボックスに新しい説明を入力し、[Save] を選択します。

ロールの変更 (AWS CLI、AWS Tools for Windows PowerShell、AWS API)

AWS コマンドラインインターフェイスまたは IAM API を使用して、ロールを修正することができます。

ロールにアクセスできる信頼済みのプリンシパルを変更するには (AWS CLI、AWS Tools for Windows PowerShell、AWS API)

  1. 変更する必要があるロールの名前が不明である場合は、次のいずれかのコマンドを使用して、アカウントのロールのリストを取得してください。

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

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

    次のポリシースニペットの例では、Principal 要素の 2 つの AWS アカウントを参照する方法を示しています。

    Copy
    "Principal": { "AWS": [ "arn:aws:iam::111122223333:root", "arn:aws:iam::444455556666:root" ] },

    ロールの信頼ポリシーにアカウントを追加しても、信頼関係は半分しか確立されていない点に注意してください。デフォルトでは、アカウントの管理者がロールを引き受ける権限をユーザーに付与しない限り、信頼されたアカウントのユーザーはロールを引き受けることができません。このためには、管理者がロールの Amazon リソースネーム (ARN) を sts:AssumeRole アクションの Allow 要素に追加する必要があります。詳細については、次の手順およびトピック「ロールを切り替えるユーザーアクセス権限の付与」を参照してください。

  4. 信頼ポリシーを更新するには、次のいずれかのコマンドを使用します。

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

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

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

    Copy
    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::AWS account ID that contains the role:role/role name" } }

    前述の例のようなポリシーを含む JSON ファイルを作成します。赤い値を、引き受けることを許可されたロールの ARN の実際の値に置き換えます。ポリシーを作成したら、次のいずれかのコマンドを使用して、それを IAM にアップロードします。

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

  2. ポリシーをアタッチするユーザーまたはグループを決定します。変更する必要があるユーザーやグループの名前が不明である場合は、このいずれかのコマンドを使用して、アカウントに属しているユーザーやグループのリストを取得してください。

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

ロールで許可されているアクセス許可を変更するには (AWS CLI、AWS Tools for Windows PowerShell、AWS API)

  1. (オプション)ロールに現在関連付けられているアクセス権限を表示するには、次のコマンドを使用します。

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

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

    インラインポリシーを更新するには、次のいずれかのコマンドを使用します。

ロールの説明を変更するには (AWS CLI、AWS API)

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

  2. ロールの説明を更新するには、次のいずれかのコマンドを使用します。