View a markdown version of this page

Referensi penyimpanan parameter - AWS Systems Manager

• AWS Systems Manager CloudWatch Dasbor tidak akan lagi tersedia setelah 30 April 2026. Pelanggan dapat terus menggunakan CloudWatch konsol Amazon untuk melihat, membuat, dan mengelola dasbor Amazon CloudWatch mereka, seperti yang mereka lakukan hari ini. Untuk informasi selengkapnya, lihat dokumentasi CloudWatch Dasbor Amazon.

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

Referensi penyimpanan parameter

Parameter adalah setiap bagian data yang disimpan diParameter Store, seperti blok teks, daftar nama, AMI ID, ID pedagang, atau nilai konfigurasi lainnya. Anda dapat mereferensikan data ini secara terpusat di skrip, perintah, dan dokumen SSM Anda.

Saat Anda mereferensikan parameter, Anda menentukan nama parameter menggunakan konvensi berikut.

{{ssm:parameter-name}}

catatan

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

Parameter Storememberikan dukungan untuk tiga jenis parameter:String,StringList, danSecureString.

Dengan satu pengecualian, saat Anda membuat atau memperbarui parameter, Anda memasukkan nilai parameter sebagai plaintext, dan tidak Parameter Store melakukan validasi pada teks yang Anda masukkan. Namun, untuk String parameter, Anda dapat menentukan tipe data sebagaiaws:ec2:image, dan Parameter Store memvalidasi bahwa nilai yang Anda masukkan adalah format yang tepat untuk Amazon EC2AMI; misalnya:. ami-12345abcdeEXAMPLE

Jenis parameter: String

Secara default, nilai String parameter terdiri dari setiap blok teks yang Anda masukkan. Contoh:

  • abc123

  • Example Corp

  • <img src="images/bannerImage1.png"/>

Jenis parameter: StringList

Nilai StringList parameter berisi daftar nilai yang dipisahkan koma, seperti yang ditunjukkan dalam contoh berikut.

Monday,Wednesday,Friday

CSV,TSV,CLF,ELF,JSON

Jenis parameter: SecureString

Gunakan SecureString untuk nilai konfigurasi yang memerlukan enkripsi, seperti titik akhir layanan dan pengidentifikasi akun. Untuk rahasia seperti kredentif database, kunci API, atau token, kami sarankan AWS Secrets Manager, yang menyediakan kontrol keamanan yang dibuat khusus termasuk rotasi otomatis dan replikasi lintas wilayah.

Hanya nilai parameter yang dienkripsi. Nama parameter, deskripsi, dan metadata lainnya tidak dienkripsi.

Parameter Storemengenkripsi dan mendekripsi nilai SecureString parameter menggunakan kunci. AWS KMS Anda dapat menggunakan default Kunci yang dikelola AWS untuk Parameter Store atau kunci yang dikelola pelanggan. Gunakan kunci yang dikelola pelanggan saat Anda perlu membatasi prinsipal mana yang dapat mendekripsi parameter tertentu. Untuk informasi selengkapnya, lihat Mengenkripsi dan mendekripsi parameter menggunakan AWS KMS keys.

penting

Perhatikan informasi penting berikut.

  • Jika Anda mengelola kredenSIAL yang memerlukan rotasi otomatis, akses lintas akun, atau pencatatan audit yang halus, sebaiknya gunakan. AWS Secrets Manager Secrets Manager dibuat khusus untuk mengelola rahasia seperti kredenSIAL database, kunci API, dan rahasia yang dijual perangkat lunak pihak ketiga yang didukung. Untuk informasi lebih lanjut, lihat Apa itu AWS Secrets Manager? dalam Panduan AWS Secrets Manager Pengguna.

  • Jangan simpan data sensitif dalam parameter String atau StringList. Untuk semua data sensitif yang harus tetap dienkripsi, gunakan hanya tipe parameter SecureString.

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

Anda dapat menggunakan SecureString parameter dengan yang lain Layanan AWS. Fungsi Lambda berikut mengambil ID pedagang terenkripsi dari parameter. /myapp/dev/vendor/merchant-id Fungsi menggunakan nilai tanpa menuliskannya ke log fungsi atau mengembalikannya dalam respons.

import json import boto3 ssm = boto3.client("ssm", region_name="us-east-1") def lambda_handler(event, context): response = ssm.get_parameter( Name="/myapp/dev/vendor/merchant-id", WithDecryption=True ) merchant_id = response["Parameter"]["Value"] # Use merchant_id when communicating with the vendor system. # Don't write the value to logs or include it in the response. return { "statusCode": 200, "body": json.dumps("Vendor configuration retrieved.") }
AWS KMS enkripsi dan harga

Saat Anda membuat SecureString parameter, Manajer Sistem menggunakan AWS KMS untuk mengenkripsi nilai parameter.

penting

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

Tidak ada biaya Parameter Store untuk membuat SecureString parameter, tetapi biaya untuk penggunaan AWS KMS dapat berlaku. Untuk informasi selengkapnya, lihat harga AWS Key Management Service.

Untuk informasi selengkapnya tentang Kunci yang dikelola AWS dan kunci yang dikelola pelanggan, lihat AWS Key Management Service Konsep di Panduan AWS Key Management Service Pengembang. Untuk informasi selengkapnya tentang cara Parameter Store menggunakan AWS KMS, lihat Cara AWS Systems ManagerParameter Store menggunakan AWS KMS.

catatan

Untuk melihat default Kunci yang dikelola AWS untukParameter Store, jalankan perintah berikut.

aws kms describe-key \ --region us-east-1 \ --key-id alias/aws/ssm

Kendala nama parameter

Gunakan informasi dalam topik ini untuk membantu Anda menentukan nilai yang valid untuk nama parameter saat Anda membuat parameter.

Informasi ini melengkapi detail dalam topik PutParameter di Referensi AWS Systems Manager API, yang juga menyediakan informasi tentang nilai AllowedPattern, Deskripsi,, Over KeyId write, Type , dan Val ue.

Persyaratan dan kendala untuk nama parameter mencakup hal berikut:

  • Kepekaan huruf besar-kecil: Nama parameter peka huruf besar dan kecil.

  • Spasi: Nama parameter tidak boleh mengandung spasi.

  • Karakter yang valid: Nama parameter hanya boleh terdiri dari simbol-simbol dan huruf berikut ini: a-zA-Z0-9_.-

    Selain itu, karakter garis miring ( / ) digunakan untuk menggambarkan hierarki dalam nama parameter. Misalnya: /Dev/Production/East/Project-ABC/MyParameter

  • Format AMI yang valid: Saat Anda memilih aws:ec2:image sebagai tipe data untuk parameter String, ID yang Anda masukkan harus memvalidasi untuk format ID AMI ami-12345abcdeEXAMPLE.

  • Memenuhi persyaratan: Saat Anda membuat atau mereferensi sebuah parameter dalam hierarki, sertakan karakter garis miring ke depan (/) . Saat Anda mereferensi parameter yang merupakan bagian dari sebuah hierarki, tentukan seluruh jalur hierarki termasuk garis miring awal (/).

    • Nama parameter yang memenuhi syarat: MyParameter1, /MyParameter2, /Dev/Production/East/Project-ABC/MyParameter

    • Nama parameter yang tidak memenuhi syarat: MyParameter3/L1

  • Panjang: Panjang maksimum untuk nama parameter yang Anda tentukan adalah 1011 karakter. Hitungan 1011 karakter ini mencakup karakter dalam ARN yang mendahului nama yang Anda tentukan, seperti 45 karakter di. arn:aws:ssm:us-east-2:111122223333:parameter/

  • Prefiks: Nama parameter tidak dapat memiliki prefiks "aws" atau "ssm" (peka terhadap besar huruf). Sebagai contoh, upaya untuk membuat parameter dengan nama berikut gagal dengan pengecualian:

    • awsTestParameter

    • SSM-testparameter

    • /aws/testparam1

    catatan

    Saat Anda menentukan parameter dalam dokumen SSM, perintah, atau skrip, sertakan ssm sebagai bagian dari sintaks. Misalnya, {{ssm:parameter-name}} dan {{ssm:parameter-name}}, seperti{{ssm:MyParameter}}, dan {{ ssm:MyParameter }}.

  • Keunikan: Sebuah nama parameter harus unik dalam Wilayah AWS. Sebagai contoh, Systems Manager memperlakukan yang berikut ini sebagai parameter terpisah, jika mereka ada di Region yang sama:

    • /Test/TestParam1

    • /TestParam1

    Contoh berikut ini juga unik:

    • /Test/TestParam1/Logpath1

    • /Test/TestParam1

    Namun, contoh-contoh berikut, jika di Region yang sama, tidak unik:

    • /TestParam1

    • TestParam1

  • Kedalaman hierarki: Jika Anda menentukan hierarki parameter, hierarki tersebut dapat memiliki kedalaman maksimum lima belas tingkat. Anda dapat menentukan parameter pada setiap tingkat hierarki. Kedua contoh berikut ini secara struktural valid:

    • /Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/parameter-name

    • parameter-name

    Berupaya untuk membuat parameter berikut akan gagal dengan pengecualian HierarchyLevelLimitExceededException:

    • /Level-1/L2/L3/L4/L5/L6/L7/L8/L9/L10/L11/L12/L13/L14/L15/L16/parameter-name

penting

Jika pengguna memiliki akses ke sebuah jalur, maka pengguna dapat mengakses semua tingkat pada jalur tersebut. Misalnya, jika pengguna memiliki izin untuk mengakses jalur /a, maka pengguna juga bisa mengakses /a/b. Bahkan jika pengguna secara eksplisit ditolak akses di AWS Identity and Access Management (IAM) untuk parameter/a/b, mereka masih dapat memanggil operasi GetParametersByPath API secara rekursif untuk /a dan melihat. /a/b