シークレットのセキュアなストレージ
AWS Secrets Manager は保管中のシークレットをお客様の所有する暗号化キーで暗号化し、AWS Key Management Service (KMS) に保管します。シークレットを取得すると、Secrets Manager はシークレットを復号し、これを安全に TLS 上でお客様のローカル環境に送信します。デフォルトでは、Secrets Manager はシークレット永続的ストレージに書き込みまたはキャッシュしません。シークレットへのアクセスは、AWS Identity and Access Management (IAM) のきめ細かいポリシーおよびリソースベースのポリシーを使用して制限できます。 また、シークレットに個別にタグ付けを行い、タグベースのアクセスコントロールを適用することも可能です。例えば、実稼働環境で使用させているシークレットに「Prod」とタグ付けし IAM ポリシーを記述すれば、社内の IT ネットワークからリクエストがきた場合にのみそのシークレットへのアクセスを付与する、ということが可能です。
アプリケーションに影響を与えずにシークレットを自動更新
AWS Secrets Manager では、Secrets Manager コンソール、AWS SDK、または AWS CLI を用いてスケジュールに従い、またはオンデマンドでシークレットを更新できます。例えば、データベースのパスワードを更新するには、パスワードを Secrets Manager に保存するときにデータベースタイプ、更新頻度、マスターデータベース認証情報を与えてください。Secrets Manager は、Amazon RDS と Amazon DocumentDB でホストされているデータベース、および Amazon Redshift でホストされているクラスターの、各認証情報の更新をネイティブにサポートします。Secrets Manager を拡張して、サンプル Lambda 関数を変更することにより他のシークレットを更新することも可能です。例えば、アプリケーションの承認に使う OAuth リフレッシュトークンや、オンプレミスでホストしている MySQL データベースに使うパスワードを更新できます。ユーザーとアプリケーションは、ハードコードのシークレットを Secrets Manager API へのコールで置き換えてシークレットを更新でき、これにより、アプリケーションを中断なく実行しながら自動的にシークレットを更新できます。
複数の AWS リージョンへのシークレットの自動レプリケーション
AWS Secrets Manager を使用すると、シークレットを複数の AWS リージョンに自動的にレプリケートして、独自の災害復旧とリージョン間の冗長性の要件を満たすことができます。Secrets Manager コンソール、AWS SDK、AWS CLI、または AWS CloudFormation を使用することで、シークレットをレプリケートする必要がある AWS リージョンを指定でき、Secrets Manager はリージョンごとのリードレプリカを安全に作成するため、この機能のための複雑なソリューションを維持する必要がなくなります。マルチリージョンアプリケーションに、必要なリージョンにあるレプリケートされたシークレットへのアクセス権を付与し、Secrets Manager を使用してレプリカをプライマリシークレットと同期させることができます。
プログラムでのシークレットの取得
シークレットの保管と取得は AWS Secrets Manager コンソール、AWS SDK、AWS CLI、または AWS CloudFormation を使って行えます。シークレットを取得するには、アプリケーション内のプレーンテキストのシークレットを、これらのシークレットを Secrets Manager API を使ってプログラムで引き出すためのコードに置き換えるだけです。Secrets Manager は、Secrets Manager API を呼び出すコードのサンプルを用意しています。これらは Secrets Manager リソースページからでも入手できます。 Amazon Virtual Private Cloud (VPC) エンドポイントを、お使いの VPC と AWS ネットワーク内の Secrets Manager との間のトラフィックを維持するように、設定することができます。また、Secrets Manager のクライアント側キャッシュライブラリを使用することで、シークレット使用時の可用性とレイテンシーを改善することができます。
シークレットの使用状況の監査と監視
AWS Secrets Manager ではシークレットの監査と監視を、AWS ログ記録、モニタリング、通知サービスへの統合で行えます。例えば、ある AWS リージョンに対して AWS CloudTrail を有効にした後、シークレットがいつ保管または更新されたかは AWS CloudTrail ログを見て監査できます。同様に、Amazon CloudWatch の設定によって、一定期間シークレットが使われない場合に Amazon Simple Notification Service を使って E メールのメッセージを受け取るように、または Amazon CloudWatch Events の設定によって Secrets Manager がシークレットを更新したときにプッシュ通知を受け取るようにできます。
コンプライアンス
AWS Secrets Manager は、以下のような米国内の規定の対象となる、ワークロードでの機密管理に対応しています。国防総省クラウドコンピューティングセキュリティ要件ガイド(DoD CC SRG IL2、DoD CC SRG IL4、DoD CC SRG IL5)、連邦危機および認証管理プログラム(FedRAMP)、医療保険の相互運用性と説明責任に関する法律(HIPAA)、情報セキュリティ査定者登録プログラム(IRAP)、アウトソーシングされたサービスプロバイダーの監査レポート(OSPAR)、ISO/IEC 27001、ISO/IEC 27017、ISO/IEC 27018、ISO 9001、決済カード業界データセキュリティ標準(PCI-DSS)、システムおよび組織の制御(SOC)。AWS のコンプライアンスプログラムとレポートの詳細については、AWS Artifact をご参照ください。