Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

AWS Secrets Manager ベストプラクティス

フォーカスモード
AWS Secrets Manager ベストプラクティス - AWS Secrets Manager

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

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

Secrets Manager には、独自のセキュリティポリシーを開発および実装する際に考慮が必要ないくつかのセキュリティ機能が用意されています。以下のベストプラクティスは一般的なガイドラインであり、完全なセキュリティソリューションを提供するものではありません。これらのベストプラクティスはお客様の環境に必ずしも適切または十分でない可能性があるため、処方箋ではなく、あくまで有用な検討事項とお考えください。

認証情報やその他の機密情報を に保存する AWS Secrets Manager

Secrets Manager は、セキュリティ体制とコンプライアンスを改善し、機密情報への不正アクセスのリスクを軽減するのに役立ちます。Secrets Manager は、 AWS Key Management Service () で所有および保存する暗号化キーを使用して、保管中のシークレットを暗号化しますAWS KMS。シークレットを取得すると、Secrets Manager はシークレットを復号化し、TLS 経由でローカル環境にセキュアに送信します。詳細については、「AWS Secrets Manager シークレットを作成する」を参照してください。

コード内の保護されていないシークレットを検索する

CodeGuru Reviewer は Secrets Manager と統合され、シークレットディテクターを使用して、コード内の保護されていないシークレットを探します。シークレットディテクターは、ハードコードされたパスワード、データベース接続文字列、ユーザー名などを検索します。詳細については、「Amazon CodeGuru Reviewer を使って、コードの中の保護されていないシークレットを見つける」を参照してください。

Amazon Q は、コードベースをスキャンしてセキュリティの脆弱性やコード品質の問題を確認し、開発サイクル全体でアプリケーションの体制を改善できます。詳細については、「Amazon Q Developer ユーザーガイド」の「Amazon Q でコードをスキャン」を参照してください。

シークレットの暗号化キーを選択する

ほとんどの場合、 aws/secretsmanager AWS マネージドキーを使用してシークレットを暗号化することをお勧めします。この使用には費用は発生しません。

別のアカウントからシークレットにアクセスしたり、暗号化キーにキーポリシーを適用したりするには、カスタマーマネージドキーを使用してシークレットを暗号化します。

  • キーポリシーで、値を secretsmanager.<region>.amazonaws.com kms:ViaService 条件キーに割り当てます。これにより、キーの使用が Secrets Manager からのリクエストのみに制限されます。

  • キーの使用をさらに制限して、正しいコンテキストを持つ Secrets Manager からのリクエストのみを使用するには、以下を作成して KMS キーを使用する条件として Secrets Manager 暗号化コンテキストのキーまたは値を使用します。

詳細については、「AWS Secrets Manager のシークレット暗号化と復号」を参照してください。

キャッシュを使用してシークレットを取得する

シークレットを最も効率的に使用するには、サポートされている次のいずれかの Secrets Manager キャッシュコンポーネントを使用してシークレットをキャッシュし、必要な場合にのみ更新することをお勧めします。

シークレットのローテーション

シークレットを長期間変更しないと、シークレットが侵害される可能性が高くなります。Secrets Manager を使用すると、4 時間ごとに自動ローテーションを設定することができます。Secrets Manager には、シングルユーザー交代ユーザー の 2 つのローテーション戦略が用意されています。詳細については、「AWS Secrets Managerシークレットのローテーション」を参照してください。

CLI を使用するリスクを軽減する

を使用して AWS オペレーション AWS CLI を呼び出す場合は、コマンドシェルにそれらのコマンドを入力します。ほとんどのコマンドシェルには、ログ記録や最後に入力したコマンドを表示する機能など、シークレットを危険にさらす可能性のある機能があります。 AWS CLI を使用して機密情報を入力する前に、必ず を使用して AWS CLIAWS Secrets Manager シークレットを保存するリスクを軽減する を確認してください。

シークレットへのアクセスを制限する

シークレットへのアクセスを制御する IAM ポリシーステートメントでは、最小特権アクセスの原則を使用します。IAM ロールとポリシーリソースポリシー属性ベースのアクセス制御 (ABAC) を使用できます。詳細については、「の認証とアクセスコントロール AWS Secrets Manager」を参照してください。

シークレットへの広範なアクセスをブロックする

アクション PutResourcePolicy を許可するアイデンティティポリシーでは、BlockPublicPolicy: true を使用することをお勧めします。この条件は、ポリシーが広範なアクセスを許可していない場合、ユーザーがリソースポリシーのみをシークレットにアタッチできることを意味します。

Secrets Manager は、Zelkova の自動推論を使用して、広範なアクセスのためのリソースポリシーを分析します。Zelkova の詳細については、 AWS セキュリティブログの「 が自動推論 AWS を使用して大規模なセキュリティを実現する方法」を参照してください。

次の例は、BlockPublicPolicy の使用方法を示しています。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "secretsmanager:PutResourcePolicy", "Resource": "SecretId", "Condition": { "Bool": { "secretsmanager:BlockPublicPolicy": "true" } } } }

ポリシーの IP アドレス条件に注意する

Secrets Manager へのアクセスを許可または拒否するポリシーステートメントで、IP アドレス条件の演算子または aws:SourceIp 条件キーを指定するときは、注意が必要です。例えば、企業ネットワークの IP アドレス範囲からのリクエストに AWS アクションを制限するポリシーをシークレットにアタッチすると、企業ネットワークからリクエストを呼び出す IAM ユーザーとしてのリクエストは期待どおりに機能します。ただし、Lambda 関数でローテーションを有効にする場合など、他の サービスがユーザーに代わってシークレットにアクセスできるようにすると、その関数は AWS内部アドレス空間から Secrets Manager オペレーションを呼び出します。IP アドレスのフィルターがあるポリシーによって影響されたリクエストは失敗します。

また、リクエストが Amazon VPC エンドポイントから送信されている場合、aws:sourceIP 条件キーは効果が低下します。特定の VPC エンドポイントに対するリクエストを制限するには、VPC エンドポイント条件でリクエストを制限する を使用します。

VPC エンドポイント条件でリクエストを制限する

特定の VPC または VPC エンドポイントからのリクエストに対するアクセスを許可または拒否するには、aws:SourceVpc を使用して、指定された VPC からのリクエストに対するアクセスを制限するか、aws:SourceVpce を使用して、指定された VPC エンドポイントからのリクエストに対するアクセスを制限します。「例: アクセス許可と VPC」を参照してください。

  • aws:SourceVpc は、指定した VPC からのリクエストにアクセスを制限します。

  • aws:SourceVpce は、指定した VPC エンドポイントからのリクエストにアクセスを制限します。

これらの条件キーをシークレットポリシーステートメントで使用し、Secrets Manager シークレットへのアクセスを許可または拒否すると、ユーザーに代わってシークレットへのアクセスに Secrets Manager を使用しているサービスへのアクセスを、意図せずに拒否してしまうことがあります。VPC 内のエンドポイントで実行できるのは一部の AWS サービスのみです。シークレットのリクエストを VPC または VPC エンドポイントに制限すると、サービスに設定されていないサービスからの Secrets Manager への呼び出しは失敗します。

エンドポイントの使用 AWS Secrets Manager VPC 」を参照してください。

シークレットをレプリケートする

Secrets Manager は、障害耐性またはディザスタリカバリの要件を満たすために、シークレットを複数の AWS リージョンに自動的にレプリケートできます。詳細については、「リージョン間で AWS Secrets Manager シークレットをレプリケートする」を参照してください。

シークレットを監視する

Secrets Manager では、 AWS ログ記録、モニタリング、通知サービスとの統合を通じて、シークレットを監査およびモニタリングできます。詳細については、以下を参照してください。

プライベートネットワークでインフラストラクチャを実行する

パブリックインターネットからアクセスできないプライベートネットワーク上で、できるだけ多くのインフラストラクチャを実行することをお勧めします。VPC と Secrets Manager とのプライベート接続は、インターフェイス VPC エンドポイントを作成すると、確立できます。詳細については、「エンドポイントの使用 AWS Secrets Manager VPC 」を参照してください。

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.