トラブルシューティング AWS Secrets Manager - AWS Secrets Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

トラブルシューティング AWS Secrets Manager

こちらの情報は、Secrets Manager を操作するときに発生する可能性がある問題の、診断や修復に役立ちます。

ローテーションに関連する問題については、「AWS Secrets Manager ローテーションのトラブルシューティング」を参照してください。

「アクセスが拒否されました」のメッセージ

GetSecretValue や などの を Secrets Manager CreateSecret にAPI呼び出す場合は、その呼び出しを行うIAMアクセス許可が必要です。コンソールを使用する場合、コンソールはユーザーに代わって同じAPI呼び出しを行うため、 アクセスIAM許可も必要です。管理者は、 IAMポリシーをIAMユーザー、または自分がメンバーであるグループにアタッチすることで、アクセス許可を付与できます。これらのアクセス許可を付与するポリシーステートメントに、 や IP アドレスの制限などの time-of-day条件が含まれている場合は、リクエストを送信するときにそれらの要件を満たす必要があります。IAM ユーザー、グループ、またはロールのポリシーを表示または変更する方法については、「 IAMユーザーガイド」の「ポリシーの使用」を参照してください。Secrets Manager に必要な許可の詳細ついては、「AWS Secrets Manager の認証とアクセスコントロール」を参照してください。

を使用せずに手動でAPIリクエストに署名する場合はAWS SDKs、リクエストに正しく署名したことを確認します。

一時的なセキュリティ認証情報に「アクセスが拒否されました」と表示される

リクエストの作成に使用している IAM ユーザーまたはロールに適切なアクセス許可があることを確認します。一時的なセキュリティ認証情報のアクセス許可は IAM ユーザーまたはロールから取得されます。つまり、アクセス許可は IAM ユーザーまたはロールに付与されたものに限定されます。一時的なセキュリティ認証情報のアクセス許可を決定する方法の詳細については、「 ユーザーガイド」の「一時的なセキュリティ認証情報のアクセス許可の制御」を参照してください。 IAM

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

一時的な認証情報が失効していないことを確認します。詳細については、「 IAMユーザーガイド」の「一時的なセキュリティ認証情報のリクエスト」を参照してください。

Secrets Manager に必要な許可の詳細ついては、「AWS Secrets Manager の認証とアクセスコントロール」を参照してください。

変更がすぐに表示されない。

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

発生する可能性のあるこれらの遅延を考慮して、グローバルなアプリケーションを設計します。また、ある場所で行われた変更が他の場所で直ちに表示されない場合でも、期待どおりに機能するように確かめて下さい。

他のサービス AWS が結果整合性の影響を受ける方法の詳細については、以下を参照してください。

シークレットの作成時に「非対称キーを持つデータKMSキーを生成できません」

Secrets Manager は、シークレットに関連付けられた対称暗号化KMSキーを使用して、シークレット値ごとにデータキーを生成します。非対称KMSキーを使用することはできません。非対称KMSキーの代わりに対称暗号化KMSキーを使用していることを確認します。手順については、「非対称KMSキーの識別」を参照してください。

AWS CLI または AWS SDK オペレーションが部分的な からシークレットを見つけられない ARN

多くの場合、Secrets Manager は完全な ARN ではなく の一部からシークレットを見つけることができますARN。ただし、シークレットの名前がハイフンで終わり、その後に 6 文字が続く場合、Secrets Manager は の一部からのみシークレットを見つけることができない場合がありますARN。代わりに、シークレットの全体ARNまたは名前を使用することをお勧めします。

詳細

Secrets Manager には、シークレット名が一意であることを確認するために、シークレット名の末尾に 6 つのランダムな文字ARNが含まれています。元のシークレットが削除され、同じ名前で新しいシークレットが作成された場合、これらの文字ARNsにより 2 つのシークレットは異なります。古いシークレットにアクセスできるユーザーは、 ARNsが異なるため、新しいシークレットに自動的にアクセスできません。

Secrets Manager は、次のように、リージョン、アカウント、シークレット名、ハイフン、さらに 6 文字を含むシークレットARNの を構築します。

arn:aws:secretsmanager:us-east-2:111122223333:secret:SecretName-abcdef

シークレット名がハイフンと 6 文字で終わる場合、 の一部のみを使用すると、完全な を指定しているかのように Secrets Manager ARNに表示されますARN。たとえば、 MySecret-abcdefという名前のシークレットがあり、 ARN

arn:aws:secretsmanager:us-east-2:111122223333:secret:MySecret-abcdef-nutBrk

シークレットの一部のみを使用する次のオペレーションを呼び出すとARN、Secrets Manager はシークレットを見つけられない場合があります。

$ aws secretsmanager describe-secret --secret-id arn:aws:secretsmanager:us-east-2:111122223333:secret:MySecret-abcdef

このシークレットは AWS サービスによって管理されるため、そのサービスを使用して更新する必要があります。

シークレットを変更しようとしているときにこのメッセージが表示された場合、シークレットはメッセージに記載されている管理サービスを使用してのみ更新できます。詳細については、「他の AWS のサービスによって管理される AWS Secrets Manager のシークレット」を参照してください。

シークレットを管理しているユーザーを特定するには、シークレット名を確認します。他のサービスによって管理されるシークレットには、そのサービスの ID がプレフィックスとして付けられます。または、 で AWS CLI describe-secret を呼び出し、フィールド を確認しますOwningService

の使用時に Python モジュールのインポートが失敗する Transform: AWS::SecretsManager-2024-09-16

変換: を使用してAWS::SecretsManager-2024-09-16いて、ローテーション Lambda 関数の実行時に Python モジュールのインポートエラーが発生した場合、問題は互換性のないRuntime値が原因である可能性があります。この変換バージョンでは、 がランタイムバージョン、コード、および共有オブジェクトファイル AWS CloudFormation を管理します。これらを自分で管理する必要はありません。