AWS SDK を使用して Secrets Manager シークレットを一覧表示する - AWS SDK コードサンプル

Doc AWS SDK Examples リポジトリには、他にも SDK の例があります。 AWS GitHub

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

AWS SDK を使用して Secrets Manager シークレットを一覧表示する

次の例で、Secrets Manager シークレットを一覧表示する方法を示します。

CLI
AWS CLI

例 1: アカウント内のシークレットを一覧表示するには

以下の list-secrets の例は、アカウント内のシークレットの一覧を取得します。

aws secretsmanager list-secrets

出力:

{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } }, { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:AnotherSecret-d4e5f6", "Name": "AnotherSecret", "LastChangedDate": 1523482025.685, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222": [ "AWSCURRENT" ] } } ] }

詳細については、「Secrets Manager ユーザーガイド」の「AWS Secrets Manager でシークレットを検索する」を参照してください。

例 2: アカウント内のシークレットの一覧をフィルタリングするには

次の list-secrets の例は、アカウント内にあり、名前に Test が含まれているシークレットの一覧を取得します。名前によるフィルタリングでは、大文字と小文字が区別されます。

aws secretsmanager list-secrets \ --filter Key="name",Values="Test"

出力:

{ "SecretList": [ { "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:MyTestSecret-a1b2c3", "Name": "MyTestSecret", "LastChangedDate": 1523477145.729, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111": [ "AWSCURRENT" ] } } ] }

詳細については、「Secrets Manager ユーザーガイド」の「AWS Secrets Manager でシークレットを検索する」を参照してください。

例 3: 別のサービスで管理されているアカウントのシークレットを一覧表示するには

次の list-secrets の例は、Amazon RDS によって管理されているアカウントのシークレットを返します。

aws secretsmanager list-secrets \ --filter Key="owning-service",Values="rds"

出力:

{ "SecretList": [ { "Name": "rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "Tags": [ { "Value": "arn:aws:rds:us-west-2:123456789012:cluster:database-1", "Key": "aws:rds:primaryDBClusterArn" }, { "Value": "rds", "Key": "aws:secretsmanager:owningService" } ], "RotationRules": { "AutomaticallyAfterDays": 1 }, "LastChangedDate": 1673477781.275, "LastRotatedDate": 1673477781.26, "SecretVersionsToStages": { "a1b2c3d4-5678-90ab-cdef-EXAMPLEaaaaa": [ "AWSPREVIOUS" ], "a1b2c3d4-5678-90ab-cdef-EXAMPLEbbbbb": [ "AWSCURRENT", "AWSPENDING" ] }, "OwningService": "rds", "RotationEnabled": true, "CreatedDate": 1673467300.7, "LastAccessedDate": 1673395200.0, "ARN": "arn:aws:secretsmanager:us-west-2:123456789012:secret:rds!cluster-a1b2c3d4-5678-90ab-cdef-EXAMPLE11111-a1b2c3", "Description": "Secret associated with primary RDS DB cluster: arn:aws:rds:us-west-2:123456789012:cluster:database-1" } ] }

詳細については、「Secrets Manager ユーザーガイド」の「他の AWS のサービスによって管理される AWS Secrets Manager のシークレット」を参照してください。

  • API の詳細については、「 コマンドリファレンスListSecrets」の「」を参照してください。 AWS CLI

Java
SDK for Java 2.x
注記

については、こちらを参照してください GitHub。用例一覧を検索し、AWS コードサンプルリポジトリでの設定と実行の方法を確認してください。

import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.secretsmanager.SecretsManagerClient; import software.amazon.awssdk.services.secretsmanager.model.ListSecretsResponse; import software.amazon.awssdk.services.secretsmanager.model.SecretListEntry; import software.amazon.awssdk.services.secretsmanager.model.SecretsManagerException; import java.util.List; /** * Before running this Java V2 code example, set up your development * environment, including your credentials. * * For more information, see the following documentation topic: * * https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html */ public class ListSecrets { public static void main(String[] args) { Region region = Region.US_EAST_1; SecretsManagerClient secretsClient = SecretsManagerClient.builder() .region(region) .build(); listAllSecrets(secretsClient); secretsClient.close(); } public static void listAllSecrets(SecretsManagerClient secretsClient) { try { ListSecretsResponse secretsResponse = secretsClient.listSecrets(); List<SecretListEntry> secrets = secretsResponse.secretList(); for (SecretListEntry secret : secrets) { System.out.println("The secret name is " + secret.name()); System.out.println("The secret descreiption is " + secret.description()); } } catch (SecretsManagerException e) { System.err.println(e.awsErrorDetails().errorMessage()); System.exit(1); } } }
  • API の詳細については、「 API リファレンスListSecrets」の「」を参照してください。 AWS SDK for Java 2.x

Kotlin
SDK for Kotlin
注記

については、こちらを参照してください GitHub。用例一覧を検索し、AWS コードサンプルリポジトリでの設定と実行の方法を確認してください。

suspend fun listAllSecrets() { SecretsManagerClient { region = "us-east-1" }.use { secretsClient -> val response = secretsClient.listSecrets(ListSecretsRequest {}) response.secretList?.forEach { secret -> println("The secret name is ${secret.name}") println("The secret description is ${secret.description}") } } }
  • API の詳細については、ListSecretsAWS「 SDK for Kotlin API リファレンス」の「」を参照してください。

Rust
SDK for Rust
注記

については、こちらを参照してください GitHub。用例一覧を検索し、AWS コードサンプルリポジトリでの設定と実行の方法を確認してください。

async fn show_secrets(client: &Client) -> Result<(), Error> { let resp = client.list_secrets().send().await?; println!("Secret names:"); let secrets = resp.secret_list(); for secret in secrets { println!(" {}", secret.name().unwrap_or("No name!")); } println!("Found {} secrets", secrets.len()); Ok(()) }
  • API の詳細については、ListSecretsAWS「 SDK for Rust API リファレンス」の「」を参照してください。