シークレット値の取得 - AWS Secrets Manager

英語の翻訳が提供されている場合で、内容が矛盾する場合には、英語版がオリジナルとして取り扱われます。翻訳は機械翻訳により提供されています。

シークレット値の取得

Secrets Manager を使用すると、カスタムアプリケーションでシークレットをプログラムで安全に取得できます。ただし、コンソールまたは CLI ツールを使用してシークレットを取得することもできます。

このセクションでは、シークレットのシークレット値を取得する方法とそのコマンドについて説明します。

シークレット値の取得

以下のいずれかのタブのステップに従ってください。

Using the Secrets Manager console
最小限必要なアクセス権限

コンソールでシークレットを取得するには次のアクセス許可が必要です。

  • secretsmanager:ListSecrets – 取得するシークレットに移動するために使用します。

  • secretsmanager:DescribeSecret — シークレットの暗号化されていない部分を取得するために使用します。

  • secretsmanager:GetSecretValue – シークレットの暗号化されているパートを取得するために使用します。

  • kms:Decrypt – カスタム AWS KMS カスタマーマスターキー (CMK) を使用してシークレットを暗号化した場合にのみ必要です。

  1. Secrets Manager コンソール (https://console.aws.amazon.com/secretsmanager/) を開きます。

  2. アカウントのシークレットの一覧から、表示するシークレットの名前を選択します。

    [シークレットの詳細] ページが表示されます。このページには暗号化されたシークレットテキスト以外の、選択されているシークレットの構成の詳細がすべて表示されます。

  3. [シークレット値] セクションで、[Retrieve secret value(シークレット値の取得)] を選択します。

  4. [シークレットキー/値] を選択して、個別のキーと値として解析された認証情報を確認します。[プレーンテキスト] を選択して、暗号化されて保存されている JSON テキスト文字列を確認します。

Using the AWS CLI or AWS SDK operations

以下のコマンドを使用して、AWS Secrets Manager に保存されているシークレットを取得します。

シークレットはフレンドリ名または Amazon リソースネーム (ARN) で識別し、シークレットのバージョンを指定する必要があります。バージョンを指定しない場合、Secrets Manager はデフォルトにより、ステージングラベル AWSCURRENT を持つバージョンになります。Secrets Manager は、シークレットテキストの内容をレスポンスパラメータ PlaintextString に返します。シークレットにバイナリデータを格納した場合は、バイト配列を返す Plaintext に返されます。

次の AWS CLI コマンドの例では、暗号化されたシークレット情報を「MyTestDatabase」という名前のシークレットのデフォルトバージョンから復号して取得します。Secrets Manager では、CreatedDate 出力の最終更新日が使用されます。

$ aws secretsmanager get-secret-value --secret-id development/MyTestDatabase { "ARN": "arn:aws:secretsmanager:region:accountid:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "VersionId": "EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE", "SecretString": "{\"ServerName\":\"MyDBServer\",\"UserName\":\"Anaya\",\"Password\":\"MyT0pSecretP@ssw0rd\"}", "SecretVersionStages": [ "AWSCURRENT" ], "CreatedDate": 1510089380.309 }