一般的な IAM の問題のトラブルシューティング - AWS Identity and Access Management

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

この情報を使用して、AWS Identity and Access Management (IAM) を使用する際に一般的な問題の診断と修正を行います。

自分の AWS アカウントにサインインできません

正しい認証情報を持っていること、およびサインインに正しい方法を使用していることを確認します。詳しい情報については、「AWS サインイン ユーザーガイド」の「サインインに関する問題のトラブルシューティング」を参照してください。

アクセスキーを紛失した

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

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

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

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

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

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

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

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

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

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

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

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

iam:DeleteVirtualMFADevice を実行する権限がありません

自分または他のユーザーに仮想 MFA デバイスを割り当てるまたは削除しようとすると、次のエラーが表示されることがあります。

User: arn:aws:iam::123456789012:user/Diego is not authorized to perform: iam:DeleteVirtualMFADevice on resource: arn:aws:iam::123456789012:mfa/Diego with an explicit deny

これは、誰かが以前に IAM コンソールでユーザーに仮想 MFA デバイスの割り当てを開始し、プロセスをキャンセルした場合に発生する可能性があります。これにより、IAM でユーザー用の仮想化 MFA デバイスが作成されますが、ユーザーに決して割り当てられません。新しい仮想化 MFA デバイスを同じデバイス名で作成する前に、既存の仮想化 MFA デバイスを削除する必要があります。

この問題を修正するために、管理者はポリシーのアクセス許可を編集しないでください。代わりに、管理者は AWS CLI または AWS API を使用して、既存のしかし割り当てられていない仮想化 MFA デバイスを削除する必要があります。

既存の未割り当て仮想化 MFA デバイスを削除するには
  1. アカウントの仮想 MFA デバイスを表示します。

  2. レスポンスで、修正しようとしているユーザーの仮想化 MFA デバイスの ARN を見つけます。

  3. 仮想化 MFA デバイスを削除します。

IAM ユーザーを安全に作成するにはどうすればよいですか?

AWS へのアクセスを必要とする従業員がいる場合は、IAM ユーザーを作成するか、認証に IAM Identity Center を使用するかを選択できます。IAM を使用する場合、AWS では、IAM ユーザーを作成し、その認証情報を従業員に安全に伝達することを推奨しています。従業員の隣に物理的に配置されていない場合は、安全なワークフローを使用して、従業員に認証情報を伝達します。

IAM で新しいユーザーを安全に作成するには、次のワークフローを使用します。

  1. AWS Management Console を使用して新しいユーザーを作成します。自動生成されたパスワードを使用して AWS Management Console アクセス権を付与することを選択します。必要に応じて、[Users must create a new password at next sign-in] (ユーザーは次回サインイン時に新しいパスワードを作成する必要があります) のチェックボックスをオンにします。ユーザーがパスワードを変更するまで、アクセス許可ポリシーをユーザーに追加しないでください。

  2. ユーザーを追加したら、新しいユーザーのサインイン URL、ユーザー名、およびパスワードをコピーします。パスワードを表示するには、[Show] (表示) を選択します。

  3. E メール、チャット、チケットシステムなど、社内の安全な通信方法を使用して、従業員にパスワードを送信します。別途、IAM ユーザーコンソールのリンクおよびユーザー名をユーザーに提供します。アクセス許可を付与する前に、正常にサインインできることを確認するよう従業員に伝えます。

  4. 従業員が確認したら、必要なアクセス許可を追加します。セキュリティのベストプラクティスとして、認証情報を管理するために MFA を使用した認証をユーザーに要求するポリシーを追加します。ポリシーの例については、AWS: MFA で認証された IAM ユーザーが [My security credentials] (セキュリティ認証情報) ページで自分の認証情報を管理できるようにしますを参照してください。

その他のリソース

AWS を使用する際のトラブルシューティングに役立つリソースを以下に示します。