この記事の目次
AWS Secrets Manager とは?

AWS Secrets Manager の仕組み

{ "host" : "test.com", "port" : "3333", "username" : "admin", "password" : "testPass@ssw0rd!F0r+Th3_Acc0unt", "dbname" : "testdatabase", "engine" : "mysql" }AWS Secrets Manager は、設定したスケジュールでSecretを自動的にローテーションします。 また、Secrets Manager は、Secretのローテーションにおいて以下のデータベースをサポートします。 Secretには、暗号化されたシークレットテキストだけではなく、メタデータ要素も含まれています。 メタデータは、Secretの名前、説明、ARNを含む基本情報、AWS Secrets Manager がSecretの保護テキストを暗号化および復号するために必要な、AWS KMS キーのARN (この情報を指定しない場合は、AWSのアカウントデフォルトAWS KMSキーを使用します) を持ちます。 さらに、キーをローテーションする頻度およびローテーションを実行するために必要なLambda関数に必要な情報も含みます。
- Amazon Aurora
- MySQL
- PostgreSQL
- Oracle
- MariaDB
- Microsoft SQL Server
AWS Secrets Manager の使い方

aws secretsmanager create-secret --name mysecret --description "secret description" --secret-string 1qaz2wsx@!すると、以下のような実行結果になります。
[cloudshell-user@ip-10-1-0-24 ~]$ aws secretsmanager create-secret --name mysecret --description "secret description" --secret-string 1qaz2wsx@! { "ARN": "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret-TucTqA", "Name": "mysecret", "VersionId": "eee3169d-12e6-4c75-90c1-65a094aa5e51" }暗号化されたテキスト以外のSecretを取得するには、以下のコマンドを実行します。
aws secretsmanager describe-secret --secret-id mysecretすると、以下のような実行結果になります。
[cloudshell-user@ip-10-0-143-220 ~]$ aws secretsmanager describe-secret --secret-id mysecret { "ARN": "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret-TucTqA", "Name": "mysecret", "Description": "secret description", "LastChangedDate": "2020-12-25T12:13:36.218000+00:00", "LastAccessedDate": "2020-12-25T00:00:00+00:00", "VersionIdsToStages": { "eee3169d-12e6-4c75-90c1-65a094aa5e51": [ "AWSCURRENT" ] }, "CreatedDate": "2020-12-25T10:39:27.441000+00:00" }暗号化されたテキストのSecretを取得するには、以下のコマンドを実行します。
aws secretsmanager get-secret-value --secret-id mysecret --version-stage AWSCURRENTすると、以下のような実行結果になります。
[cloudshell-user@ip-10-0-143-220 ~]$ aws secretsmanager get-secret-value --secret-id mysecret --version-stage AWSCURRENT { "ARN": "arn:aws:secretsmanager:us-east-1:123456789012:secret:mysecret-TucTqA", "Name": "mysecret", "VersionId": "eee3169d-12e6-4c75-90c1-65a094aa5e51", "SecretString": "1qaz2wsx@!", "VersionStages": [ "AWSCURRENT" ], "CreatedDate": "2020-12-25T10:39:27.479000+00:00" }
AWS Secrets Manager の料金体系

AWS Secrets Manager ユースケースについて

AWS Secrets Manager まとめ
