メニュー
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 要素にアカウント番号が表示されていない場合、アクセスポリシーでどのようなアクセス許可が付与されていても、ロールを引き受けることはできません。サンプルポリシーでは、2017 年 7 月 1 日~2017 年 12 月 31 日 (UTC) (この日付を含む) に発生するアクションのアクセス許可のみ付与できます。これらの日付の前後にログインした場合、ポリシーは一致しないため、ロールを引き受けることはできません。

    Copy
    "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:root" }, "Action": "sts:AssumeRole", "Condition": { "DateGreaterThan": {"aws:CurrentTime": "2017-07-01T00:00:00Z"}, "DateLessThan": {"aws:CurrentTime": "2017-12-31T23:59:59Z"} }

IAM アカウントに新しいロールが表示される

一部の AWS のサービスでは、サービスに直接リンクされた一意のタイプのサービスロールを使用する必要があります。このサービスにリンクされたロールはサービスによって事前に定義され、サービスで必要なすべてのアクセス権限が含まれます。これにより、必要なアクセス権限を手動で追加する必要がなくなるため、サービスの設定が簡単になります。サービスにリンクされたロールの一般情報については、「サービスにリンクされたロールの使用」を参照してください。

サービスにリンクされたロールのサポートを開始するときに、既にサービスを使用している可能性があります。その場合、アカウントに新しいロールについて伝える E メールが届くことがあります。このロールには、サービスがお客様に代わってアクションを実行するために必要なすべてのアクセス権限が含まれています。このロールをサポートするために、お客様が実行する必要があるアクションはありません。ただし、アカウントからロールを削除しないでください。ロールを削除すると、サービスが AWS リソースにアクセスするために必要なアクセス権限が削除される可能性があります。アカウントのサービスにリンクされたロールを表示するには、IAM コンソールの IAM [Roles] ページに移動します。サービスにリンクされたロールが、テーブルの [Trusted entities] 列の [(Service-linked role)] に表示されます。

サービスにリンクされたロールをサポートするサービスについては、「IAM と連携する AWS サービス」を参照してください。サポートするサービスでは、「サービスにリンクされたロール」列が「はい」になっています。サービスにリンクされたロールをサービスで使用するには、[Yes] リンクを選択します。

自分の IAM アカウントでロールを編集または削除できない

IAM の「サービスにリンクされたロール」のアクセス権限を削除または編集することはできません。これらのロールには、サービスがお客様に代わってアクションを実行するために必要な事前定義された信頼とアクセス権限が含まれます。サービスにリンクされたロールの説明は、IAM コンソール、AWS CLI、API のいずれかでのみ編集できます。アカウントのサービスにリンクされたロールを表示するには、コンソールの IAM [Roles] ページに移動します。サービスにリンクされたロールが、テーブルの [Trusted entities] 列の [(Service-linked role)] に表示されます。ロールの [Summary] ページのバナーにも、そのロールがサービスにリンクされたロールであることが示されています。サービスでアクションがサポートされている場合、リンクされたサービスを通じてのみこれらのロールを管理および削除できます。サービスにリンクされたロールを変更または削除すると、サービスが AWS リソースにアクセスするために必要なアクセス権限が削除される可能性があるので、注意してください。

サービスにリンクされたロールをサポートするサービスについては、「IAM と連携する AWS サービス」を参照してください。サポートするサービスでは、「サービスにリンクされたロール」列が「はい」になっています。