MerujukAWS Secrets Manager rahasia dariParameter Store parameter - AWS Systems Manager

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

MerujukAWS Secrets Manager rahasia dariParameter Store parameter

AWS Secrets Managermembantu Anda mengorganisasi dan mengelola data konfigurasi penting seperti kredensyal, kata sandi, dan kunci lisensi. Parameter Store, sebuah kemampuanAWS Systems Manager, terintegrasi dengan Secrets Manager sehingga Anda dapat mengambil rahasia Secrets Manager saat menggunakan lainnyaLayanan AWS yang sudah mendukung referensi keParameter Store parameter. Layanan ini mencakup Amazon Elastic Compute Cloud (Amazon EC2), Amazon Elastic Container Service (Amazon ECS), AWS Lambda, AWS CloudFormation, AWS CodeBuild, AWS CodeDeploy, dan kemampuan Systems Manager lainnya. DenganParameter Store mereferensikan rahasia Secrets Manager, Anda membuat proses yang konsisten dan aman untuk memanggil dan menggunakan rahasia dan referensi data di skrip kode dan konfigurasi Anda.

Untuk informasi lebih lanjut tentang Secrets Manager, lihat Apa Itu AWS Secrets Manager? di Panduan Pengguna AWS Secrets Manager.

Pembatasan

Perhatikan pembatasan berikut saat menggunakan rahasia Secrets ManagerParameter Store untuk mereferensikan rahasia Secrets Manager:

  • Anda hanya dapat mengambil Secrets Manager dengan menggunakan GetParameterdan operasi GetParametersAPI. Operasi modifikasi dan operasi API pengkuerian tingkat lanjut, seperti DescribeParametersdan GetParametersByPath, tidak didukung untuk Secrets Manager.

  • Anda dapat menggunakanAWS Command Line Interface (AWS CLI)AWS Tools for Windows PowerShell,, dan SDK untuk mengambil rahasia dengan menggunakanParameter Store.

  • Ketika Anda mengambil rahasia Secrets Manager dariParameter Store, nama harus dimulai dengan jalur pemesanan berikut: /aws/reference/secretsmanager/ Secretsmanager/ Secretsmanager/ Secretsmanager/ Secrets Manager.

    Ini contohnya: /aws/reference/secretsmanager/CFCreds1

  • Parameter Storemenghormati kebijakanAWS Identity and Access Management (IAM) yang melekat pada rahasia Secrets Manager. Misalnya, jika Pengguna 1 tidak memiliki akses ke Rahasia A, maka Pengguna 1 tidak dapat mengambil Rahasia A dengan menggunakanParameter Store.

  • Parameter yang mereferensikan rahasia Secrets Manager tidak dapat menggunakanParameter Store versioning atau fitur riwayat.

  • Parameter Storemenghormati tahapan versi Secrets Manager. Jika Anda mereferensikan tahapan versi, ia menggunakan huruf, angka, titik (.), tanda hubung (-), atau garis bawah (_). Semua simbol lain yang ditentukan dalam tahapan versi menyebabkan referensi gagal.

Cara mereferensikan rahasia Secrets Manager dengan menggunakanParameter Store

Prosedur berikut menjelaskan cara mereferensikan rahasia Secrets Manager dengan menggunakanParameter Store API. Prosedur mereferensikan prosedur lainnya di Panduan Pengguna AWS Secrets Manager.

catatan

Sebelum Anda memulai, pastikan Anda memiliki izin untuk mereferensikan rahasia Secrets Manager diParameter Store parameter. Jika Anda memiliki izin administrator di Secrets Manager dan Systems Manager, maka Anda dapat mereferensikan atau mengambil rahasia dengan menggunakanParameter Store API API. Jika Anda mereferensikan rahasia Secrets Manager diParameter Store parameter, dan Anda tidak memiliki izin untuk mengakses rahasia itu, maka referensi akan gagal. Untuk informasi lebiih lanjut, lihat Autentikasi dan pengendalian akses untuk AWS Secrets Manager di Panduan Pengguna AWS Secrets Manager.

penting

Parameter Storeberfungsi sebagai layanan pemintasan untuk referensi pada rahasia Secrets Manager. Parameter Storetidak mempertahankan data atau metadata tentang rahasia. Referensi bersifat stateless.

Mereferensikan rahasia Secrets Manager dengan menggunakanParameter Store
  1. Buat rahasia di Secrets Manager. Untuk informasi selengkapnya, lihat Membuat dan mengelola rahasia denganAWS Secrets Manager.

  2. Referensikan rahasia dengan menggunakan AWS CLI, AWS Tools for Windows PowerShell, atau SDK. Ketika Anda mereferensikan rahasia Secrets Manager, nama harus dimulai dengan jalur pemesanan berikut: /aws/reference/secretsmanager/. Dengan menentukan jalur ini, Systems Manager mengetahui bahwa rahasia diambil dari Secrets Manager dan bukanParameter Store. Berikut adalah beberapa contoh nama yang mereferensikan rahasia Secrets Manager dengan benar,CFCreds1 danDBPass, dengan benarParameter Store.

    • /aws/reference/secretsmanager/CFCreds1

    • /aws/reference/secretsmanager/DBPass

    Berikut ini adalah contoh kode Java yang mereferensikan access key dan kunci rahasia yang disimpan dalam Secrets Manager. Contoh kode ini menyiapkan klien Amazon DynamoDB. Kode tersebut mengambil data konfigurasi dan kredensi dariParameter Store. Data konfigurasi disimpan sebagai parameter string diParameter Store dan kredensyal disimpan di Secrets Manager. Meskipun data konfigurasi dan kredensyal disimpan di layanan yang terpisah, kedua kumpulan data dapat diaksesParameter Store dengan menggunakanGetParameter API.

    /** * Initialize Systems Manager client with default credentials */ AWSSimpleSystemsManagement ssm = AWSSimpleSystemsManagementClientBuilder.defaultClient(); ... /** * Example method to launch DynamoDB client with credentials different from default * @return DynamoDB client */ AmazonDynamoDB getDynamoDbClient() { //Getting AWS credentials from Secrets Manager using GetParameter BasicAWSCredentials differentAWSCreds = new BasicAWSCredentials( getParameter("/aws/reference/secretsmanager/access-key"), getParameter("/aws/reference/secretsmanager/secret-key")); //Initialize the DynamoDB client with different credentials final AmazonDynamoDB client = AmazonDynamoDBClient.builder() .withCredentials(new AWSStaticCredentialsProvider(differentAWSCreds)) .withRegion(getParameter("region")) //Getting configuration from Parameter Store .build(); return client; } /** * Helper method to retrieve parameter value * @param parameterName identifier of the parameter * @return decrypted parameter value */ public GetParameterResult getParameter(String parameterName) { GetParameterRequest request = new GetParameterRequest(); request.setName(parameterName); request.setWithDecryption(true); return ssm.newGetParameterCall().call(request).getParameter().getValue(); }

    Berikut ini adalah beberapa contoh AWS CLI. Gunakan perintah aws secretsmanager list-secrets untuk menemukan nama-nama rahasia Anda.

    AWS CLIContoh 1: Referensi dengan menggunakan nama rahasia

    Linux & macOS
    aws ssm get-parameter \ --name /aws/reference/secretsmanager/s1-secret \ --with-decryption
    Windows
    aws ssm get-parameter ^ --name /aws/reference/secretsmanager/s1-secret ^ --with-decryption

    Perintah tersebut mengembalikan informasi seperti berikut.

    {
        "Parameter": {
            "Name": "/aws/reference/secretsmanager/s1-secret",
            "Type": "SecureString",
            "Value": "Fl*MEishm!al875",
            "Version": 0,
            "SourceResult": 
                  "{
                       \"CreatedDate\": 1526334434.743,
                       \"Name\": \"s1-secret\",
                       \"VersionId\": \"aaabbbccc-1111-222-333-123456789\",
                       \"SecretString\": \"Fl*MEishm!al875\",
                       \"VersionStages\": [\"AWSCURRENT\"],
                       \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                   }"
            "LastModifiedDate": 2018-05-14T21:47:14.743Z,
            "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                   E18LRP",
          }
    }

    AWS CLIContoh 2: Referensi yang mencakup ID versi

    Linux & macOS
    aws ssm get-parameter \ --name /aws/reference/secretsmanager/s1-secret:11111-aaa-bbb-ccc-123456789 \ --with-decryption
    Windows
    aws ssm get-parameter ^ --name /aws/reference/secretsmanager/s1-secret:11111-aaa-bbb-ccc-123456789 ^ --with-decryption

    Perintah tersebut mengembalikan informasi seperti berikut.

    {
        "Parameter": {
            "Name": "/aws/reference/secretsmanager/s1-secret",
            "Type": "SecureString",
            "Value": "Fl*MEishm!al875",
            "Version": 0,
            "SourceResult": 
                  "{
                       \"CreatedDate\": 1526334434.743,
                       \"Name\": \"s1-secret\",
                       \"VersionId\": \"11111-aaa-bbb-ccc-123456789\",
                       \"SecretString\": \"Fl*MEishm!al875\",
                       \"VersionStages\": [\"AWSCURRENT\"],
                       \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                   }"
            "Selector": ":11111-aaa-bbb-ccc-123456789"
          }
            "LastModifiedDate": 2018-05-14T21:47:14.743Z,
            "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                   E18LRP",
    }
    

    AWS CLIContoh 3: Referensi yang mencakup tahapan versi

    Linux & macOS
    aws ssm get-parameter \ --name /aws/reference/secretsmanager/s1-secret:AWSCURRENT \ --with-decryption
    Windows
    aws ssm get-parameter ^ --name /aws/reference/secretsmanager/s1-secret:AWSCURRENT ^ --with-decryption

    Perintah tersebut mengembalikan informasi seperti berikut.

    {
        "Parameter": {
            "Name": "/aws/reference/secretsmanager/s1-secret",
            "Type": "SecureString",
            "Value": "Fl*MEishm!al875",
            "Version": 0,
            "SourceResult": 
                  "{
                       \"CreatedDate\": 1526334434.743,
                       \"Name\": \"s1-secret\",
                       \"VersionId\": \"11111-aaa-bbb-ccc-123456789\",
                       \"SecretString\": \"Fl*MEishm!al875\",
                       \"VersionStages\": [\"AWSCURRENT\"],
                       \"ARN\": \"arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-E18LRP\"
                   }"
            "Selector": ":AWSCURRENT"
          }
          "LastModifiedDate": 2018-05-14T21:47:14.743Z,
          "ARN": "arn:aws:secretsmanager:us-east-2:123456789012:secret:s1-secret-
                    E18LRP",
    }