Buat Parameter Store parameter menggunakan AWS CLI - AWS Systems Manager

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

Buat Parameter Store parameter menggunakan AWS CLI

Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk membuatString,StringList, dan jenis SecureString parameter. Setelah menghapus parameter, tunggu setidaknya 30 detik untuk membuat parameter dengan nama yang sama.

Parameter tidak dapat direferensikan atau di-nest dalam nilai-nilai parameter lainnya. Anda tidak dapat menyertakan {{}} atau {{ssm:parameter-name}} dalam nilai parameter.

catatan

Parameter hanya tersedia di Wilayah AWS tempat mereka dibuat.

Buat String parameter menggunakan AWS CLI

  1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

    Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.

  2. Jalankan perintah berikut ini untuk membuat parameter tipe-String. Ganti masing-masing example resource placeholder dengan informasi Anda sendiri.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "parameter-value" \ --type String \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "parameter-value" ^ --type String ^ --tags "Key=tag-key,Value=tag-value"

    -atau-

    Jalankan perintah berikut untuk membuat parameter yang berisi Amazon Machine Image (AMI) ID sebagai nilai parameter.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "an-AMI-id" \ --type String \ --data-type "aws:ec2:image" \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "an-AMI-id" ^ --type String ^ --data-type "aws:ec2:image" ^ --tags "Key=tag-key,Value=tag-value"

    Opsi --name mendukung hierarki. Untuk informasi tentang hierarki, lihat Bekerja dengan hierarki parameter di Parameter Store.

    --data-typeOpsi harus ditentukan hanya jika Anda membuat parameter yang berisi AMI ID. Ini memvalidasi bahwa nilai parameter yang Anda masukkan adalah Amazon Elastic Compute Cloud (Amazon) yang diformat dengan benar EC2 AMI ID. Untuk semua parameter lainnya, tipe data default adalah text dan tidak wajib untuk menentukan nilai. Untuk informasi selengkapnya, lihat Menggunakan dukungan parameter asli di Parameter Store untuk Gambar Mesin Amazon IDs.

    penting

    Jika berhasil, perintah mengembalikan nomor versi parameter. Pengecualian: Jika Anda telah menentukan aws:ec2:image sebagai tipe data, nomor versi baru dalam respons tidak berarti bahwa nilai parameter telah divalidasi. Untuk informasi selengkapnya, lihat Menggunakan dukungan parameter asli di Parameter Store untuk Gambar Mesin Amazon IDs.

    Contoh berikut ini menambahkan dua tag pasangan nilai kunci ke sebuah parameter.

    Linux & macOS
    aws ssm put-parameter \ --name parameter-name \ --value "parameter-value" \ --type "String" \ --tags '[{"Key":"Region","Value":"East"},{"Key":"Environment", "Value":"Production"}]'
    Windows
    aws ssm put-parameter ^ --name parameter-name ^ --value "parameter-value" ^ --type "String" ^ --tags [{\"Key\":\"Region1\",\"Value\":\"East1\"},{\"Key\":\"Environment1\",\"Value\":\"Production1\"}]

    Contoh berikut ini menggunakan hierarki parameter dalam nama untuk membuat parameter String teks biasa. Perintah tersebut mengembalikan nomor versi parameter. Untuk informasi selengkapnya tentang hierarki parameter, lihat Bekerja dengan hierarki parameter di Parameter Store.

    Linux & macOS

    Parameter tidak dalam hierarki

    aws ssm put-parameter \ --name "golden-ami" \ --type "String" \ --value "ami-12345abcdeEXAMPLE"

    Parameter dalam hierarki

    aws ssm put-parameter \ --name "/amis/linux/golden-ami" \ --type "String" \ --value "ami-12345abcdeEXAMPLE"
    Windows

    Parameter tidak dalam hierarki

    aws ssm put-parameter ^ --name "golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"

    Parameter dalam hierarki

    aws ssm put-parameter ^ --name "/amis/windows/golden-ami" ^ --type "String" ^ --value "ami-12345abcdeEXAMPLE"
  3. Jalankan perintah berikut untuk menampilkan nilai parameter terbaru dan memverifikasi detail parameter baru Anda.

    aws ssm get-parameters --names "/Test/IAD/helloWorld"

    Sistem mengembalikan informasi seperti berikut ini.

    {
        "InvalidParameters": [],
        "Parameters": [
            {            
                "Name": "/Test/IAD/helloWorld",
                "Type": "String",
                "Value": "My updated parameter value",
                "Version": 2,
                "LastModifiedDate": "2020-02-25T15:55:33.677000-08:00",
                "ARN": "arn:aws:ssm:us-east-2:123456789012:parameter/Test/IAD/helloWorld"            
            }
        ]
    }

Jalankan perintah berikut ini untuk mengubah nilai parameter . Perintah tersebut mengembalikan nomor versi parameter.

aws ssm put-parameter --name "/Test/IAD/helloWorld" --value "My updated 1st parameter" --type String --overwrite

Jalankan perintah berikut ini untuk melihat riwayat nilai parameter.

aws ssm get-parameter-history --name "/Test/IAD/helloWorld"

Jalankan perintah berikut untuk menggunakan parameter ini dalam sebuah perintah.

aws ssm send-command --document-name "AWS-RunShellScript" --parameters '{"commands":["echo {{ssm:/Test/IAD/helloWorld}}"]}' --targets "Key=instanceids,Values=instance-ids"

Jalankan perintah berikut jika Anda hanya ingin mengambil nilai parameter.

aws ssm get-parameter --name testDataTypeParameter --query "Parameter.Value"

Jalankan perintah berikut jika Anda hanya ingin mengambil nilai parameter menggunakan get-parameters.

aws ssm get-parameters --names "testDataTypeParameter" --query "Parameters[*].Value"

Jalankan perintah berikut ini untuk melihat metadata parameter.

aws ssm describe-parameters --filters "Key=Name,Values=/Test/IAD/helloWorld"
catatan

Nama harus dikapitalisasi.

Sistem mengembalikan informasi seperti berikut ini.

{
    "Parameters": [
        {
            "Name": "helloworld",
            "Type": "String",
            "LastModifiedUser": "arn:aws:iam::123456789012:user/JohnDoe",
            "LastModifiedDate": 1494529763.156,
            "Version": 1,
            "Tier": "Standard",
            "Policies": []           
        }
    ]
}

Buat StringList parameter menggunakan AWS CLI

  1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

    Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.

  2. Jalankan perintah berikut ini untuk membuat sebuah parameter. Ganti masing-masing example resource placeholder dengan informasi Anda sendiri.

    Linux & macOS
    aws ssm put-parameter \ --name "parameter-name" \ --value "a-comma-separated-list-of-values" \ --type StringList \ --tags "Key=tag-key,Value=tag-value"
    Windows
    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-comma-separated-list-of-values" ^ --type StringList ^ --tags "Key=tag-key,Value=tag-value"
    catatan

    Jika berhasil, perintah mengembalikan nomor versi parameter.

    Contoh berikut ini menambahkan dua tag pasangan nilai kunci ke sebuah parameter. (Tergantung pada jenis sistem operasi pada mesin lokal Anda, jalankan salah satu perintah berikut. Versi untuk dijalankan dari mesin Windows lokal termasuk karakter escape ("\") yang Anda butuhkan untuk menjalankan perintah dari alat baris perintah Anda.)

    Berikut adalah contoh StringList yang menggunakan hierarki parameter.

    Linux & macOS
    aws ssm put-parameter \ --name /IAD/ERP/Oracle/addUsers \ --value "Milana,Mariana,Mark,Miguel" \ --type StringList
    Windows
    aws ssm put-parameter ^ --name /IAD/ERP/Oracle/addUsers ^ --value "Milana,Mariana,Mark,Miguel" ^ --type StringList
    catatan

    Item dalam StringList harus dipisahkan dengan koma (,). Anda tidak dapat menggunakan tanda baca atau karakter khusus lainnya untuk menghindari item dalam daftar. Jika Anda memiliki nilai parameter yang memerlukan koma, maka gunakan tipe String.

  3. Jalankan perintah get-parameters untuk memverifikasi detail parameter. Sebagai contoh:

    aws ssm get-parameters --name "/IAD/ERP/Oracle/addUsers"

Buat SecureString parameter menggunakan AWS CLI

Gunakan prosedur berikut untuk membuat sebuah parameter SecureString. Ganti masing-masing example resource placeholder dengan informasi Anda sendiri.

penting

Hanya nilai dari parameter SecureString yang dienkripsi. Nama parameter, deskripsi, dan properti lainnya tidak dienkripsi.

penting

Parameter Store hanya mendukung KMSkunci enkripsi simetris. Anda tidak dapat menggunakan KMSkunci enkripsi asimetris untuk mengenkripsi parameter Anda. Untuk bantuan menentukan apakah KMS kunci simetris atau asimetris, lihat Mengidentifikasi KMS kunci simetris dan asimetris dalam Panduan Pengembang AWS Key Management Service

  1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

    Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.

  2. Jalankan salah satu perintah berikut untuk membuat parameter yang menggunakan tipe data SecureString.

    Linux & macOS

    Buat SecureString parameter menggunakan default Kunci yang dikelola AWS

    aws ssm put-parameter \ --name "parameter-name" \ --value "parameter-value" \ --type "SecureString"

    Buat SecureString parameter yang menggunakan kunci yang dikelola pelanggan

    aws ssm put-parameter \ --name "parameter-name" \ --value "a-parameter-value, for example P@ssW%rd#1" \ --type "SecureString" --tags "Key=tag-key,Value=tag-value"

    Buat SecureString parameter yang menggunakan AWS KMS kunci khusus

    aws ssm put-parameter \ --name "parameter-name" \ --value "a-parameter-value, for example P@ssW%rd#1" \ --type "SecureString" \ --key-id "your-account-ID/the-custom-AWS KMS-key" \ --tags "Key=tag-key,Value=tag-value"
    Windows

    Buat SecureString parameter menggunakan default Kunci yang dikelola AWS

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "parameter-value" ^ --type "SecureString"

    Buat SecureString parameter yang menggunakan kunci yang dikelola pelanggan

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-parameter-value, for example P@ssW%rd#1" ^ --type "SecureString" ^ --tags "Key=tag-key,Value=tag-value"

    Buat SecureString parameter yang menggunakan AWS KMS kunci khusus

    aws ssm put-parameter ^ --name "parameter-name" ^ --value "a-parameter-value, for example P@ssW%rd#1" ^ --type "SecureString" ^ --key-id " ^ --tags "Key=tag-key,Value=tag-value"account-ID/the-custom-AWS KMS-key"

    Jika Anda membuat SecureString parameter dengan menggunakan Kunci yang dikelola AWS kunci di akun dan Wilayah Anda, maka Anda tidak perlu memberikan nilai untuk --key-id parameter tersebut.

    catatan

    Untuk menggunakan yang AWS KMS key ditugaskan ke Anda Akun AWS dan Wilayah AWS, hapus key-id parameter dari perintah. Untuk informasi selengkapnya tentang AWS KMS keys, lihat Konsep AWS Key Management Service dalam Panduan Developer AWS Key Management Service .

    Untuk menggunakan kunci yang dikelola pelanggan alih-alih yang Kunci yang dikelola AWS ditetapkan ke akun Anda, tentukan kunci dengan menggunakan --key-id parameter. Parameter mendukung format KMS parameter berikut.

    • Contoh Nama Sumber Daya Amazon (ARN):

      arn:aws:kms:us-east-2:123456789012:key/key-id

    • ARNContoh alias:

      arn:aws:kms:us-east-2:123456789012:alias/alias-name

    • Contoh ID Kunci:

      12345678-1234-1234-1234-123456789012

    • Contoh Nama Alias:

      alias/MyAliasName

    Anda dapat membuat kunci yang dikelola pelanggan dengan menggunakan AWS Management Console atau AWS KMS API. AWS CLI Perintah berikut membuat kunci yang dikelola pelanggan dalam Wilayah AWS arus Anda Akun AWS.

    aws kms create-key

    Gunakan perintah dalam format berikut untuk membuat parameter SecureString menggunakan kunci yang baru Anda buat.

    Contoh berikut menggunakan nama yang dikaburkan (3l3vat3131) untuk parameter kata sandi dan. AWS KMS key

    Linux & macOS
    aws ssm put-parameter \ --name /Finance/Payroll/3l3vat3131 \ --value "P@sSwW)rd" \ --type SecureString \ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
    Windows
    aws ssm put-parameter ^ --name /Finance/Payroll/3l3vat3131 ^ --value "P@sSwW)rd" ^ --type SecureString ^ --key-id arn:aws:kms:us-east-2:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e
  3. Jalankan perintah berikut ini untuk memverifikasi detail parameter.

    Jika Anda tidak menentukan with-decryption parameter, atau jika Anda menentukan no-with-decryption parameter, perintah mengembalikan terenkripsiGUID.

    Linux & macOS
    aws ssm get-parameters \ --name "the-parameter-name-you-specified" \ --with-decryption
    Windows
    aws ssm get-parameters ^ --name "the-parameter-name-you-specified" ^ --with-decryption
  4. Jalankan perintah berikut ini untuk melihat metadata parameter.

    Linux & macOS
    aws ssm describe-parameters \ --filters "Key=Name,Values=the-name-that-you-specified"
    Windows
    aws ssm describe-parameters ^ --filters "Key=Name,Values=the-name-that-you-specified"
  5. Jalankan perintah berikut ini untuk mengubah nilai parameter jika Anda tidak menggunakan AWS KMS key yang dikelola pelanggan.

    Linux & macOS
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --overwrite

    -atau-

    Jalankan perintah berikut ini untuk mengubah nilai parameter jika Anda menggunakan AWS KMS key yang dikelola pelanggan.

    Linux & macOS
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --key-id "the-KMSkey-ID" \ --overwrite
    aws ssm put-parameter \ --name "the-name-that-you-specified" \ --value "a-new-parameter-value" \ --type "SecureString" \ --key-id "account-alias/the-KMSkey-ID" \ --overwrite
    Windows
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --key-id "the-KMSkey-ID" ^ --overwrite
    aws ssm put-parameter ^ --name "the-name-that-you-specified" ^ --value "a-new-parameter-value" ^ --type "SecureString" ^ --key-id "account-alias/the-KMSkey-ID" ^ --overwrite
  6. Jalankan perintah berikut ini untuk melihat nilai parameter terbaru.

    Linux & macOS
    aws ssm get-parameters \ --name "the-name-that-you-specified" \ --with-decryption
    Windows
    aws ssm get-parameters ^ --name "the-name-that-you-specified" ^ --with-decryption
  7. Jalankan perintah berikut ini untuk melihat riwayat nilai parameter.

    Linux & macOS
    aws ssm get-parameter-history \ --name "the-name-that-you-specified"
    Windows
    aws ssm get-parameter-history ^ --name "the-name-that-you-specified"
catatan

Anda dapat membuat parameter secara manual dengan suatu nilai terenkripsi. Dalam hal ini, karena nilai sudah dienkripsi, Anda tidak perlu memilih tipe parameter SecureString. Jika Anda memilih SecureString, parameter Anda akan terenkripsi ganda.

Secara default, semua nilai SecureString ditampilkan sebagai cipher-text. Untuk mendekripsi SecureString nilai, pengguna harus memiliki izin untuk memanggil operasi AWS KMS DekripsiAPI. Untuk informasi tentang mengkonfigurasi kontrol akses AWS KMS , lihat Autentikasi dan Kontrol Akses untuk AWS KMS di Panduan Developer AWS Key Management Service .

penting

Jika Anda mengubah alias KMS kunci untuk KMS kunci yang digunakan untuk mengenkripsi parameter, maka Anda juga harus memperbarui alias kunci yang digunakan parameter untuk referensi. AWS KMS Ini hanya berlaku untuk alias KMS kunci; ID kunci yang dilampirkan alias tetap sama kecuali Anda menghapus seluruh kunci.

Buat parameter multi-baris menggunakan AWS CLI

Anda dapat menggunakan AWS CLI untuk membuat parameter dengan jeda baris. Gunakan jeda baris untuk memecah teks dalam nilai parameter yang lebih panjang untuk keterbacaan yang lebih baik atau, misalnya, memperbarui konten parameter multi-paragraf untuk halaman web. Anda dapat menyertakan konten dalam JSON file dan menggunakan --cli-input-json opsi, menggunakan karakter jeda baris seperti\n, seperti yang ditunjukkan pada contoh berikut.

  1. Instal dan konfigurasikan AWS Command Line Interface (AWS CLI), jika Anda belum melakukannya.

    Untuk selengkapnya, lihat Menginstal atau memperbarui versi terbaru AWS CLI.

  2. Jalankan perintah berikut ini untuk membuat parameter multi baris.

    Linux & macOS
    aws ssm put-parameter \ --name "MultiLineParameter" \ --type String \ --cli-input-json file://MultiLineParameter.json
    Windows
    aws ssm put-parameter ^ --name "MultiLineParameter" ^ --type String ^ --cli-input-json file://MultiLineParameter.json

    Contoh berikut ini menunjukkan konten dari file MultiLineParameter.json.

    { "Value": "<para>Paragraph One</para>\n<para>Paragraph Two</para>\n<para>Paragraph Three</para>" }

Nilai parameter yang tersimpan akan disimpan sebagai berikut.

<para>Paragraph One</para>
<para>Paragraph Two</para>
<para>Paragraph Three</para>