
Secrets Manager は、アプリケーションで利用する Secret(機密情報) を安全に保管・管理するサービスです。
データベースのパスワードやAPIキーといった Secret Value(シークレット値) を KMSにより安全に暗号化し、IAM および アクセスポリシーを使って厳密にアクセス制御を行います。
各シークレットには一意の Secret ID(シークレットの識別子) が割り当てられ、取得時には Retrieve(シークレット取得) API を利用してアプリケーションが動的に値を参照できます。
Rotation(ローテーション) に対応しており、Rotation Lambda Function(ローテーション用Lambda関数) を使用することで、RDS、Redshift、 DocumentDB などのデータベース認証情報を自動的に更新できます。この処理は Secret Rotation Schedule(ローテーションスケジュール) に基づいて定期的に実行され、セキュリティリスクを最小化します。
Secrets Manager は Version(バージョン管理) 機能を備えており、シークレットの履歴を追跡したり、過去の値へロールバックしたりすることが可能です。すべての操作履歴は CloudTrailに記録され、変更や取得のアクティビティを可視化できます。
マルチリージョンレプリケーション に対応しており、異なるリージョン間でシークレットを安全に複製・同期することができます。
Cross-Account Access(クロスアカウントアクセス) によって、他のAWSアカウントからシークレットを安全に参照できるよう設計されています。これにより、複数アカウントやシステム間でのシークレット共有が容易になります。
Secrets Manager は、Config や Security Hub とも連携し、シークレットの構成状態を監査・可視化したり、セキュリティ評価の一部として利用したりできます。
重要用語
ユースケース
- リスト1
 - リスト2
 - リスト3
 
ベストプラクティス
- リスト1
 - リスト2
 - リスト3
 
高可用性・冗長化
- リスト1
 - リスト2
 - リスト3
 
セキュリティ
- リスト1
 - リスト2
 - リスト3
 
運用・監視
- リスト1
 - リスト2
 - リスト3
 
デフォルトのリミット値
| リミット事項 | 上限数 | 
|---|---|
| 項目1 | 上限1 | 
| 項目2 | 上限2 | 
| 項目3 | 上限3 | 
| 項目4 | 上限4 | 
| 項目5 | 上限5 | 
AWS CLIのサンプルコード
vpc を作成
#include <stdio.h>
void main(void) {
  int i;
  for (i=0; i<10; i++)
    printf("%d\n", i);
vpc を作成
aaaaaaaaaaaaa
bbbbbbbbbbbbb
ccccccccccccc
Terraformのサンプルコード
vpc を作成
bbbbbbbbbbbbbbbbbbbbbbb
ddddddddddddddddddddddd
vpc を作成
xxxxxxxxxxxxxxxxxxxxxxx
yyyyyyyyyyyyyyyyyyyyyy
課金モデル
| 項目 | 内容 | 
|---|---|
| 項目1 | 内容1 | 
| 項目2 | 内容2 | 
| 項目3 | 内容3 | 
| 項目4 | 内容4 | 
| 項目5 | 内容5 |