AWS コマンドラインインターフェイス (AWS CLI)、AWS SDK、または独自のアプリケーションを使用して Amazon Simple Storage Service (Amazon S3) バケットにアクセスしたいと考えています。しかし、バケットにリクエストを送信すると、「The AWS Access Key Id you provided does not exist in our records」(入力した AWS アクセスキー ID がレコードに存在しません) というエラーが表示されます。 どうすれば解決できますか?
解決方法
「入力した AWS アクセスキー ID がレコードに存在しません」というエラーメッセージは、お使いの認証情報に問題があることを示しています。使用しているアクセスキーが削除されているか、関連付けられている AWS Identity and Access Management (IAM) のロールまたはユーザーが削除されている可能性があります。
この問題を解決するには、使用している資格情報を確認します。AWS CLI を使用しているのであれば、次のコマンドを実行して、保存されているアクセスキーを一覧します。
aws configure list
この get-caller-identity AWS CLI コマンドを実行して、API の呼び出しに使用している IAM 認証情報の詳細を取得することもできます。
aws sts get-caller-identity
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
AWS SDK を使用している場合は、使用している SDK の GetCallerIdentity アクションを実行します。
使用している認証情報を入手したら、それらの認証情報がまだ有効であることを確認します。
IAM ロールを使用している場合は、次の手順に従ってください。
- [IAM コンソール] を開きます。
- [ロール] を選択します。
- IAM ロールがリストされていることを確認します。ロールが表示されていない場合は、[新しい IAM ロール] を作成します。
IAM ユーザーを使用している場合は、次の手順に従ってください。
- [IAM コンソール] を開きます。
- [ユーザー] を選択します。
- IAM ユーザーがリストされていることを確認します。ユーザーがリストされていない場合は、新しい IAM ユーザーを作成する必要があります。
- IAM ユーザーがリストされている場合は、そのユーザー名を選択してその [概要] ページを表示します。
- [Security credentials] (セキュリティ認証情報) タブを選択し、関連付けられたアクセスキーが表示されるかどうかを確認します。アクセスキーが見つからないか無効になっている場合は、新しいアクセスキーを作成するか、キーを有効にする必要があります。
注: セッショントークンを使用している場合は、アクセスキーとシークレットキーでセッショントークンを渡してください。セキュリティトークンとキーをコピーするときは、ユースケースに合わない入力ミスがないか必ず確認してください。
また、多要素認証 (MFA) 付きのセッショントークンを使用して、AWS API オペレーションに特有のプログラム呼び出しを保護することもできます。お使いの MFA デバイスからのコードを使用して、AWS CLI でsts get-session-token コマンドを実行します。詳細については、「AWS CLI 経由で AWS リソースへのアクセスを認証するには、どのように MFA トークンを使用すればよいですか?」を参照してください。
関連情報
AWS CLI の設定