クロスアカウントの IAM ロールを引き受けようとしたときの「AccessDenied」または「無効な情報」エラーを解決する方法を教えてください。

所要時間1分
0

クロスアカウントの AWS Identity and Access Management (IAM) ロールを引き受けようとしました。しかし、次のようなエラーが表示されました。 「An error occurred (AccessDenied) when calling the AssumeRole operation.Check your information or contact your administrator.」

解決策

**注:**AWS コマンドラインインターフェイス (AWS CLI) コマンドの実行中にエラーが発生した場合は、「AWS CLI エラーのトラブルシューティング」を参照してください。また、AWS CLI の最新バージョンを使用していることを確認してください。

クロスアカウントで IAM ロールを引き受けるには、まず IAM ロールを引き受けたアカウントの権限を編集します。次に、IAM ロールを引き継ぐことを許可する他の AWS アカウントの信頼ポリシーを編集します。

次の例では、2 つのアカウントがあります。1 つは Account_Bob という名前で、もう 1 つは Account_Aliceという名前です。また、Account_Bob には Bob という名前の IAM ユーザーまたはロールがあり、Account_Aliceには Alice という名前の IAM ロールがあります。このシナリオでは、ボブAlice という名前の IAM ロールを引き受けます。

AssumeRole API コールを複数の AWS アカウントまたはクロスアカウントで使用するには、ロールを引き受ける権限を付与する信頼ポリシーが必要です。

Bobに必要な権限の例:

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

Aliceに必要な信頼ポリシーの例:

{  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::ACCOUNT_Bob:user/Bob"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

クロスアカウントの IAM ロールを引き受けるための AWS CLI コマンドの例:

aws sts assume-role --role-arn "arn:aws:iam::123456789012:role/example-role" --role-session-name assume-cross-account

詳細については、「AWS CLI を使用して IAM ロールを引き受けるにはどうすればよいですか?」を参照してください。

クロスアカウントの IAM ロールを引き受ける際のエラーを避けるため、ユースケースに合った以下のベストプラクティスに従うようにしてください。

  • 引き受けロールの Bob には、API アクション AssumeRoleの権限が必要です。
  • Bobとして AWS アカウントにサインインする必要があります。詳細については、「AWS アカウント ID のエイリアスの使用」を参照してください。
  • 引き受けている役目、Alice は存在している必要があります。削除されていないことと、Amazon リソースネーム (ARN) が正しく設定されていることを確認してください。
  • ロールチェーンを使用する場合は、以前のセッションの IAM 認証情報を使用しないようにしてください。詳しくは、ロールの用語と概念の「ロールチェイニング」セクションを参照してください。
  • Account_Bob が AWS Organizations の一部である場合、Account_Bob または Account_Aliceによる AssumeRole アクセスを制限するサービスコントロールポリシー (SCP) が存在する可能性があります。Account_Bob または Account_Aliceによるアクセスを制限する SCP を必ず編集または削除してください。詳細については、SCPを参照してください。

関連情報

IAM 権限のアクセス拒否または不正エラーのトラブルシューティングに役立つデータを取得するにはどうすればよいですか

ユーザーから IAM ロールに切り替える (コンソール)

IAM ロールへの切り替え (AWS CLI)

コメントはありません

関連するコンテンツ