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

IAM ロールのトラブルシューティング

この情報を使用して、IAM ロールを操作するときに発生する可能性がある一般的な問題の診断や修復を行います。

ロールを取得できない。

  • IAM ポリシーによって、取得するロールの sts:AssumeRole を呼び出す権限が付与されていることを確認します。IAM ポリシーの Action エレメントによって、AssumeRole アクションの呼び出しが許可されていて、IAM ポリシーの Resource エレメントで、取得するロールを指定する必要があります。たとえば、Resource エレメントでは Amazon リソースネーム (ARN) またはワイルドカード (*) を指定することで、ロールを指定できます。たとえば、ユーザーに該当する 1 つ以上のポリシーで、以下のようなアクセス許可を付与する必要があります。

    Copy
    "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume"
  • ロールの信頼ポリシーで指定されているすべての条件が満たされていることを確認します。1 つの Condition で、失効日、外部 ID、またはリクエスト発行元の IP アドレスを定義することができます。次の例では、現在の日付が指定日より後の日付である場合、ポリシーが一致しないため、ロールを引き受けるアクセス権限をユーザーに付与できません。

    Copy
    "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::account_id_number:role/role-name-you-want-to-assume" "Condition": { "DateLessThan" : { "aws:CurrentTime" : "2016-05-01T12:00:00Z" } }
  • AssumeRole の呼び出し元である AWS アカウントが、引き受けようとしているロールにとって信頼されたエンティティであることを確認します。信頼されたエンティティは、ロールの信頼ポリシーで Principal として定義されます。次の例では、引き受けるロールに信頼ポリシーがアタッチされています。この例の場合、サインインに使用した IAM ユーザーのアカウント ID が 123456789012 である必要があります。ロールの信頼ポリシーの Principal 要素にアカウント番号が表示されていない場合、アクセスポリシーでどのようなアクセス許可が付与されていても、ロールを引き受けることはできません。また、サンプルポリシーでは、ロールにアクセスするユーザーは Multi-Factor Authentication (MFA) を使用してサインインする必要があります。指定した AWS アカウントのユーザーとして、または MFA デバイスを使用してサインインしない場合、ポリシーが一致しないため、ロールを引き受けることはできません。アクセスキーのような長期的な認証情報は MFA で機能しないため、短期的な認証情報の使用が必要となる点にご注意ください。IAM ロール、フェデレーティッドユーザー、AWS マネジメントコンソール ユーザー (バックグラウンドでユーザーの代わりにコンソールが短期的な認証情報を指定)、IAM ユーザーのみが、最初に sts:GetSessionToken を呼び出すことで一時的な認証情報を取得することができます。

    Copy
    "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole", "Condition": { "Bool": { "aws:MultiFactorAuthPresent": "true" } }

このページの内容: