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

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

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

アクセスキーを紛失しました。

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

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

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

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

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

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

Amazon S3、Amazon SNS、Amazon SQS などのリソースベース(またはアクセスコントロール)のポリシーのあるサービスへアクセスしようとしている場合は、リソースポリシーでお客様がプリンシパルに指定されていて、アクセス権限を付与されていることを確認します。リソースベースのポリシーの詳細については、そのサービスのドキュメントを参照してください。

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

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

  • サービスが一時的な認証情報を受け入れていることを確認します。詳細は、一時的な認証情報を使用して AWS にアクセスする方法を参照してください。

  • リクエストが正しく署名されており、そのリクエストの形式が整っていることを確認します。詳細については、ツールキット ドキュメントまたは Using Te porary Security Credentials to Authenticate an AWS Request を参照してください。

  • 一時的な認証情報が失効していないことを確認します。詳細については、Using Temporary Security Credentials を参照してください。

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

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

    Copy
    { "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 ポリシーエレメント: Version」を参照してください。ポリシーのバージョンの詳細については、「管理ポリシーのバージョニング」を参照してください。

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

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

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

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

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