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

一般的な問題のトラブルシューティング

この情報を使用して、アクセス拒否された問題や、AWS Identity and Access Management (IAM) を操作するときに発生する可能性のある他の一般的な問題の診断や修復を行います。

アクセスキーを紛失した

アクセスキーは 2 つのパートで構成されます。

  • アクセスキー識別子。これはシークレットではなく、ユーザー概要ページなど、IAM コンソールでアクセスキーがリストされるすべての場所に表示されます。

  • シークレットアクセスキー。これは最初にアクセスキーペアを作成するときに提供されます。パスワードと同じように、後で取得することはできません。シークレットアクセスキーを紛失した場合は、新しいアクセスキーペアを作成する必要があります。既にアクセスキーが最大数の場合、既存のペアを削除してから新しいものを作成する必要があります。

詳細については、「紛失したり忘れたりしたパスワードまたはアクセスキーのリセット」を参照してください。

古いアカウントにアクセスする必要がある

AWS アカウントを初めて作成したときに、E メールアドレスとパスワードを指定しました。これらは、AWS アカウントのルートユーザー 認証情報です。パスワードを紛失または忘れたため、アクセスできなくなった古い AWS アカウントがある場合、パスワードを回復することができます。詳細については、「紛失したり忘れたりしたパスワードまたはアクセスキーのリセット」を参照してください。

E メールにアクセスできなくなった場合は、最初に E メールへのアクセス権限を回復します。回復できない場合は、AWS カスタマーサービスにお問い合わせください。

次のいずれかのオプションを使用して、E メールへのアクセス権限の回復を試みることができます。

  • E メールアドレスがホストされているドメインを所有している場合、E メールサーバーに E メールアドレスを追加し直すことができます。または、E メールアカウントのキャッチオールをセットアップできます。ドメインのキャッチオール設定は、メールサーバーに存在しない E メールアドレスに送信されたメッセージを「すべてキャッチ」します。この設定では、特定の E メールアドレスにそれらのメッセージをリダイレクトします。たとえば、AWS アカウントのルートユーザー E メールアドレスが paulo@sample-domain.com であるが、唯一のドメインの E メールアドレスを paulo.santos@sample-domain.com に変更した場合、新しい E メールをキャッチオールとして設定できます。このようにすると、AWS など誰かが paulo@sample-domain.com またはその他の text@sample-domain.com にメッセージを送信した場合、paulo.santos@sample-domain.com でそのメッセージを受信します。

  • アカウントの E メールアドレスが企業 E メールシステムの一部である場合は、IT システム管理者に連絡することをお勧めします。管理者は、E メールアドレスへのアクセス権限の回復を支援できる可能性があります。

それでも AWS アカウントにアクセスできない場合は、[I'm an AWS customer and I'm looking for billing or account support] メニューを展開し、[Contact us] で別のサポートオプションを見つけることができます。カスタマーサービスに連絡するときは、以下の情報を指定する必要があります。

  • フルネーム、電話番号、住所、E メールアドレス、クレジットカードの最後の 4 桁を含む、アカウントにリストされているすべての詳細情報。カスタマーサービスに連絡するためには、新しい AWS アカウントの作成が必要になる場合がありますが、これはリクエストの調査を支援するために必要です。

  • E メールアカウントにアクセスして、パスワードのリセット手順を受信できない理由。

  • また、サポートチームに対して、使用していないアカウントを削除するようにリクエストします。課金される可能性のある、お客様の名前のオープン状態のアカウントを持たないようにすることをお勧めします。

AWS サービスに要求を送信すると "アクセス拒否" が発生する

要求したアクションとリソースを呼び出す権限を持っているかを確認します。条件が付けられている場合、要求を送信するにはそれらの条件も満たしている必要があります。IAM ユーザー、グループ、ロールのポリシーの表示や修正の詳細については、IAM ポリシーを管理する を参照してください。

Amazon S3、Amazon SNS、Amazon SQS などのリソースベースのポリシーのあるサービスへアクセスしようとしている場合は、ポリシーでお客様がプリンシパルに指定されていて、アクセス権限を付与されていることを確認します。リソースベースのポリシーをサポートするサービスを確認するには、「IAM と連携する AWS サービス」を参照してください。

手動で要求に署名する(AWS SDK を使用しない)場合は、正確に要求に署名していることを確認します。

一時的な認証情報を使用して要求を送信すると "アクセス拒否" が発生する

  • サービスが一時的セキュリティ認証情報を受け入れることを確認します。「IAM と連携する AWS サービス」を参照してください。

  • リクエストが正しく署名されており、そのリクエストの形式が整っていることを確認します。詳細については、ツールキットドキュメントまたは「一時的なセキュリティ認証情報を使用して AWS リソースへのアクセスをリクエストする」を参照してください。

  • 一時的な認証情報が失効していないことを確認します。詳細については、「一時的セキュリティ認証情報」を参照してください。

  • IAM ユーザーまたはロールに正しいアクセス権限があるかどうかを確認します。一時的なセキュリティ認証情報のアクセス権限は IAM ユーザーまたはロールから生じるものであるため、IAM ユーザーまたはロールに付与されたアクセス権限に制限されます。一時的なセキュリティ認証情報に対するアクセス権限の決定方法の詳細については、「一時的なセキュリティ認証情報のアクセス権限を制御する」を参照してください。

  • ロールを使用してリソースベースのポリシーのあるリソースへアクセスする場合は、ポリシーからロールにアクセス権限が付与されていることを確認します。例えば、次のポリシーではアカウント 111122223333 からの MyRoleMyBucket へのアクセスを許可しています。

    { "Version": "2012-10-17", "Statement": [{ "Sid": "S3BucketPolicy", "Effect": "Allow", "Principal": {"AWS": ["arn:aws:iam::111122223333:role/MyRole"]}, "Action": ["s3:PutObject"], "Resource": ["arn:aws:s3:::MyBucket/*"] }] }

ポリシーの変数が機能していない

  • 変数のあるすべてのポリシーで、バージョン番号: "Version": "2012-10-17" がポリシーに含まれていることを確認します。正しいバージョン番号がないと、評価時に変数は置き換えられません。代わりに、変数は逐語的に評価されます。変数の含まれていないポリシーは、最新のバージョン番号が含まれていれば正常に機能します。

    Version ポリシー要素は、 ポリシーバージョンとは異なります。Version ポリシー要素は、ポリシー内で使用され、ポリシー言語のバージョンを定義します。一方で、ポリシーバージョンは、IAM でカスタマー管理ポリシーを変更すると作成されます。変更されたポリシーによって既存のポリシーが上書きされることはありません。代わりに、IAM は管理ポリシーの新しいバージョンを作成します。Version ポリシー要素の詳細については、「IAM JSON ポリシーエレメント: Version」を参照してください。ポリシーのバージョンの詳細については、「IAM ポリシーのバージョニング」を参照してください。

  • お客様のポリシーの変数が正しく設定されていることを確認してください。詳細については、「IAM ポリシーエレメント: 変数」を参照してください。

行った変更がすぐに表示されないことがある

世界中のデータセンター内のコンピューターを介してアクセスされるサービスとして、IAM は、結果整合性と呼ばれる分散コンピューティングモデルを採用しています。IAM(または他の AWS サービス)で行った変更は、すべての可能なエンドポイントから認識されるまでに時間がかかります。この遅延は、サーバー間、レプリケーションゾーン間、世界中のリージョン間でのデータ送信にかかる時間から発生している場合もあります。IAM はパフォーマンス向上のためにキャッシュも利用するため、これにより遅延が発生している場合もあります。変更は、以前にキャッシュされたデータがタイムアウトになるまで表示されないことがあるためです。

グローバルなアプリケーションは、発生する可能性のあるこれらの遅延を考慮して設計する必要があります。ある場所で行われた変更がすぐに別の場所に表示されないときでも、想定どおりに機能することを確認してください。このような変更には、ユーザー、グループ、ロール、またはポリシーの作成や更新が含まれます。アプリケーションの重要で高可用性のコードパスには、このような IAM の変更を含めないことをお勧めします。代わりに、実行頻度が低い別の初期化またはセットアップルーチンに IAM の変更を加えます。また、本番稼働ワークフローが依存する前に、変更が伝達済みであることを確認します。

AWS の他のいくつかのサービスがこの遅延からどのような影響を受けるかの詳細については、以下のリソースを参照してください。