

# IAM をトラブルシューティングする
<a name="troubleshoot"></a>

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

**Topics**
+ [自分の AWS アカウントにサインインできません](#troubleshoot_general_cant-sign-in)
+ [アクセスキーを紛失した](#troubleshoot_general_access-keys)
+ [ポリシーの変数が機能していない](#troubleshoot_general_policy-variables-dont-work)
+ [行った変更がすぐに表示されないことがある](#troubleshoot_general_eventual-consistency)
+ [iam:DeleteVirtualMFADevice を実行することを認可されていません](#troubleshoot_general_access-denied-delete-mfa)
+ [IAM ユーザーを安全に作成するにはどうすればよいですか?](#troubleshoot_general_securely-create-iam-users)
+ [その他のリソース](#troubleshoot_general_resources)
+ [アクセス拒否エラーメッセージをトラブルシューティングする](troubleshoot_access-denied.md)
+ [ルートユーザーに関する問題をトラブルシューティングする](troubleshooting_root-user.md)
+ [IAM ポリシーをトラブルシューティングする](troubleshoot_policies.md)
+ [FIDO セキュリティキーをトラブルシューティングする](troubleshoot_mfa-fido.md)
+ [IAM ロールをトラブルシューティングする](troubleshoot_roles.md)
+ [IAM および Amazon EC2 をトラブルシューティングする](troubleshoot_iam-ec2.md)
+ [Amazon S3 と IAM をトラブルシューティングする](troubleshoot_iam-s3.md)
+ [SAML と IAM とのフェデレーションをトラブルシューティングする](troubleshoot_saml.md)

## 自分の AWS アカウントにサインインできません
<a name="troubleshoot_general_cant-sign-in"></a>

正しい認証情報を持っていること、およびサインインに正しい方法を使用していることを確認します。詳しい情報については、「AWS サインイン ユーザーガイド」の「[サインインに関する問題のトラブルシューティング](https://docs.aws.amazon.com/signin/latest/userguide/troubleshooting-sign-in-issues.html)」を参照してください。

## アクセスキーを紛失した
<a name="troubleshoot_general_access-keys"></a>

アクセスキーは 2 つのパートで構成されます。
+ **アクセスキー識別子**。これはシークレットではなく、ユーザー概要ページなど、IAM コンソールでアクセスキーがリストされるすべての場所に表示されます。
+ **シークレットアクセスキー**。これは最初にアクセスキーペアを作成するときに提供されます。パスワードと同じように、***後で取得することはできません***。シークレットアクセスキーを紛失した場合は、新しいアクセスキーペアを作成する必要があります。[アクセスキーの最大数](reference_iam-quotas.md#reference_iam-quotas-entities)に達している場合は、既存のペアを削除してから新しいものを作成する必要があります。

シークレットアクセスキーを紛失した場合は、そのアクセスキーを削除し、新しく作成する必要があります。詳細な手順については、「[アクセスキーを更新する](id-credentials-access-keys-update.md)」を参照してください。

## ポリシーの変数が機能していない
<a name="troubleshoot_general_policy-variables-dont-work"></a>

ポリシー変数が機能しない場合は、次のいずれかのエラーが発生しています。

**Version ポリシー要素の日付が間違っています。**  
変数のあるすべてのポリシーで、バージョン番号: `"Version": "2012-10-17"` がポリシーに含まれていることを確認します。正しいバージョン番号がないと、評価時に変数は置き換えられません。代わりに、変数は逐語的に評価されます。変数が含まれていないポリシーは、最新のバージョン番号が含まれていれば正常に機能します。  
`Version` ポリシー要素は、ポリシーバージョンとは異なります。`Version` ポリシー要素は、ポリシー内で使用され、ポリシー言語のバージョンを定義します。ポリシーバージョンは、IAM でカスタマー管理ポリシーを変更すると作成されます。変更されたポリシーによって既存のポリシーが上書きされることはありません。代わりに、IAM は管理ポリシーの新しいバージョンを作成します。`Version` ポリシー要素の詳細については、「[IAM JSON ポリシー要素Version](reference_policies_elements_version.md)」を参照してください。ポリシーのバージョンの詳細については、「[IAM ポリシーのバージョニング](access_policies_managed-versioning.md)」を参照してください。

**変数文字の大文字と小文字が間違っています。**  
お客様のポリシーの変数が正しく設定されていることを確認してください。詳細については、「[IAM ポリシーの要素: 変数とタグ](reference_policies_variables.md)」を参照してください。

## 行った変更がすぐに表示されないことがある
<a name="troubleshoot_general_eventual-consistency"></a>

世界中のデータセンター内のコンピューターを介してアクセスされるサービスとして、IAM は、[結果整合性](https://wikipedia.org/wiki/Eventual_consistency)と呼ばれる分散コンピューティングモデルを採用しています。[属性ベースのアクセス制御 (ABAC)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_attribute-based-access-control.html) タグなど、IAM (または他の AWS サービス) で変更を行った場合、その変更が関係するすべてのエンドポイントに反映されるまでに時間がかかります。その要因には、サーバー間、レプリケーションゾーン間、リージョン間でのデータの送信に時間がかかるということがあります。IAM ではパフォーマンス向上のためにキャッシュも使用しているため、これが原因で遅延が発生することがあります。変更は、以前にキャッシュされたデータがタイムアウトになるまで反映されない場合があります。

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

AWS の他のいくつかのサービスがこの遅延からどのような影響を受けるかの詳細については、以下のリソースを参照してください。
+ **Amazon DynamoDB**:「DynamoDB デベロッパーガイド」の「[読み込み整合性](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html)」と「Amazon DynamoDB デベロッパーガイド」の「[読み込み整合性](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadConsistency.html)」。
+ **Amazon EC2**: [Amazon EC2 API リファレンス](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/query-api-troubleshooting.html#eventual-consistency)の* EC2 結果整合性*。
+ **Amazon EMR**:「AWS ビッグデータブログ」の「[Ensuring Consistency When Using Amazon S3 and Amazon EMR for ETL Workflows](https://aws.amazon.com/blogs/big-data/ensuring-consistency-when-using-amazon-s3-and-amazon-elastic-mapreduce-for-etl-workflows/)」
+ **Amazon Redshift**: [Amazon Redshift Database デベロッパーガイド](https://docs.aws.amazon.com/redshift/latest/dg/managing-data-consistency.html)の* データの一貫性の管理*
+ **Amazon S3**: [Amazon Simple Storage Service ユーザーガイド](https://docs.aws.amazon.com//AmazonS3/latest/userguide/Welcome.html#ConsistencyModel)の* Amazon S3 データ整合性モデル*

## iam:DeleteVirtualMFADevice を実行することを認可されていません
<a name="troubleshoot_general_access-denied-delete-mfa"></a>

自分または他のユーザーに仮想 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 デバイスを表示します。
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html](https://docs.aws.amazon.com/cli/latest/reference/iam/list-virtual-mfa-devices.html)
   + AWS API:[https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_ListVirtualMFADevices.html)

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

1. 仮想化 MFA デバイスを削除します。
   + AWS CLI: [https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html](https://docs.aws.amazon.com/cli/latest/reference/iam/delete-virtual-mfa-device.html)
   + AWS API:[https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html](https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteVirtualMFADevice.html)

## IAM ユーザーを安全に作成するにはどうすればよいですか?
<a name="troubleshoot_general_securely-create-iam-users"></a>

AWS へのアクセスを必要とする従業員がいる場合は、IAM ユーザーを作成するか、[認証に IAM Identity Center を使用する](https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html)かを選択できます。IAM を使用する場合、AWS では、IAM ユーザーを作成し、その認証情報を従業員に安全に伝達することを推奨しています。従業員の隣に物理的に配置されていない場合は、安全なワークフローを使用して、従業員に認証情報を伝達します。

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

1. AWS マネジメントコンソール を使用して[新しいユーザーを作成](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html)します。生成されたパスワードを使用してAWS マネジメントコンソールへのアクセスを付与することを選択します。必要に応じて、[**Users must create a new password at next sign-in**] (ユーザーは次回サインイン時に新しいパスワードを作成する必要があります) のチェックボックスをオンにします。ユーザーがパスワードを変更するまで、アクセス許可ポリシーをユーザーに追加しないでください。

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

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

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

## その他のリソース
<a name="troubleshoot_general_resources"></a>

AWS を使用する際のトラブルシューティングに役立つリソースを以下に示します。
+ **[AWS CloudTrail ユーザーガイドユーザーガイド](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/)** – AWS CloudTrail を使用して、AWS への API コールの履歴を追跡し、その情報をログファイルに保存します。この情報は、どのユーザーおよびアカウントがお客様のアカウントのリソースにアクセスしたか、いつその呼び出しが行われたか、どのアクションがリクエストされたかなどを調べるために役立ちます。詳細については、「[AWS CloudTrail による IAM および AWS STS の API コールのログ記録](cloudtrail-integration.md)」を参照してください。
+ **[AWS ナレッジセンター](https://aws.amazon.com/premiumsupport/knowledge-center/)** — 問題のトラブルシューティングに役立つ FAQ やその他のリソースへのリンクを検索できます。
+ **[AWS サポートセンター](https://console.aws.amazon.com/support/home#/)** — テクニカルサポートを利用できます。
+ **[AWS プレミアムサポートセンター](https://aws.amazon.com/premiumsupport/)** – プレミアムテクニカルサポートを利用できます。