View a markdown version of this page

AWS KMS enkripsi untuk AWS Systems Manager Penyimpanan Parameter SecureString 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.

AWS KMS enkripsi untuk AWS Systems Manager Penyimpanan Parameter SecureString parameter

Dengan AWS Systems Manager Parameter Store, Anda dapat membuat SecureString parameter, yang merupakan parameter yang memiliki nama parameter plaintext dan nilai parameter terenkripsi. Parameter Storedigunakan AWS KMS untuk mengenkripsi dan mendekripsi nilai parameter SecureString parameter.

DenganParameter Store, Anda dapat membuat, menyimpan, dan mengelola data sebagai parameter dengan nilai. Anda dapat membuat parameter Parameter Store dan menggunakannya di beberapa aplikasi dan layanan yang tunduk pada kebijakan dan izin yang Anda desain. Ketika Anda perlu mengubah nilai parameter, Anda mengubah satu instance, daripada mengelola perubahan rawan kesalahan ke banyak sumber. Parameter Storemendukung struktur hierarkis untuk nama parameter, sehingga Anda dapat memenuhi syarat parameter untuk penggunaan tertentu.

Untuk mengelola data sensitif, Anda dapat membuat SecureString parameter. Parameter Storedigunakan AWS KMS keys untuk mengenkripsi nilai parameter SecureString parameter saat Anda membuat atau mengubahnya. Ini juga menggunakan kunci KMS untuk mendekripsi nilai parameter saat Anda mengaksesnya. Anda dapat menggunakan Kunci yang dikelola AWS yang dibuat Parameter Store untuk akun Anda atau menentukan kunci yang dikelola pelanggan Anda sendiri.

penting

Parameter Storehanya mendukung kunci KMS simetris. Anda tidak dapat menggunakan kunci KMS asimetris untuk mengenkripsi parameter Anda. Untuk bantuan menentukan apakah kunci KMS simetris atau asimetris, lihat Mengi dentifikasi jenis kunci yang berbeda di Panduan Peng AWS Key Management Service embang.

Parameter Storemendukung dua tingkatan SecureString parameter: standar dan lanjutan. Parameter standar, yang tidak dapat melebihi 4096 byte, dienkripsi dan didekripsi langsung di bawah kunci KMS yang Anda tentukan. Untuk mengenkripsi dan mendekripsi SecureString parameter lanjutan, Parameter Store gunakan enkripsi amplop dengan AWS Encryption SDK. Anda dapat mengonversi SecureString parameter standar ke parameter lanjutan, tetapi Anda tidak dapat mengonversi parameter lanjutan ke parameter standar. Untuk informasi lebih lanjut tentang perbedaan antara SecureString parameter standar dan lanjutan, lihatMemilih tingkatan parameter di Penyimpanan Parameter.

Melindungi SecureString parameter standar

Parameter Storetidak melakukan operasi kriptografi apa pun. Sebaliknya, itu bergantung pada AWS KMS untuk mengenkripsi dan mendekripsi nilai SecureString parameter. Saat Anda membuat atau mengubah nilai SecureString parameter standar, Parameter Store memanggil operasi AWS KMS Enkripsi. Operasi ini menggunakan kunci KMS enkripsi simetris secara langsung untuk mengenkripsi nilai parameter alih-alih menggunakan kunci KMS untuk menghasilkan kunci data. https://docs.aws.amazon.com/kms/latest/developerguide/data-keys.html

Anda dapat memilih kunci KMS yang digunakan Parameter Store untuk mengenkripsi nilai parameter. Jika Anda tidak menentukan kunci KMS, gunakan Kunci yang dikelola AWS yang Parameter Store dibuat Manajer Sistem secara otomatis di akun Anda. Kunci KMS ini memiliki aws/ssm alias.

Untuk melihat kunci aws/ssm KMS default untuk akun Anda, gunakan DescribeKey operasi di AWS KMS API. Contoh berikut menggunakan describe-key perintah di AWS Command Line Interface (AWS CLI) dengan nama aws/ssm alias.

aws kms describe-key \ --key-id alias/aws/ssm

Untuk membuat SecureString parameter standar, gunakan PutParameter operasi di API Manajer Sistem. Abaikan parameter Tier atau tentukan nilai Standard, yang merupakan default. Sertakan parameter Type dengan nilai dari SecureString. Untuk menentukan kunci KMS, gunakan KeyId parameter. Defaultnya adalah Kunci yang dikelola AWS untuk akun Anda,aws/ssm.

Parameter Storekemudian memanggil AWS KMS Encrypt operasi dengan kunci KMS dan nilai parameter plaintext. AWS KMS mengembalikan nilai parameter terenkripsi, yang Parameter Store menyimpan dengan nama parameter.

Contoh berikut menggunakan perintah put-parameter Manajer Sistem dan --type parameternya di AWS CLI untuk membuat SecureString parameter. Karena perintah menghilangkan opsional --tier dan --key-id parameter, Parameter Store membuat SecureString parameter standar dan mengenkripsinya di bawah. Kunci yang dikelola AWS

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

Contoh serupa berikut menggunakan --key-id parameter untuk menentukan kunci yang dikelola pelanggan. Contoh menggunakan ID kunci KMS untuk mengidentifikasi kunci KMS, tetapi Anda dapat menggunakan pengidentifikasi kunci KMS yang valid. Karena perintah menghilangkan Tier parameter (--tier), membuat Parameter Store SecureString parameter standar, bukan yang lanjutan.

aws ssm put-parameter \ --name param1 \ --value "secret" \ --type SecureString \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab

Ketika Anda mendapatkan SecureString parameter dariParameter Store, nilainya dienkripsi. Untuk mendapatkan parameter, gunakan GetParameter operasi di System Manager API.

Contoh berikut menggunakan perintah System Manager get-parameter di AWS CLI untuk mendapatkan MyParameter parameter dari Parameter Store tanpa mendekripsi nilainya.

aws ssm get-parameter --name MyParameter
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "AQECAHgnOkMROh5LaLXkA4j0+vYi6tmM17Lg"
    }
}

Untuk mendekripsi nilai parameter sebelum mengembalikannya, atur parameter WithDecryption dari GetParameter ke true. Saat Anda menggunakanWithDecryption, Parameter Store memanggil operasi AWS KMS Dekripsi atas nama Anda untuk mendekripsi nilai parameter. Akibatnya, permintaan GetParameter akan mengembalikan parameter dengan nilai parameter plaintext, seperti yang ditunjukkan dalam contoh berikut.

aws ssm get-parameter \ --name MyParameter \ --with-decryption
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "secret_value"
    }
}

Alur kerja berikut menunjukkan cara Parameter Store menggunakan kunci KMS untuk mengenkripsi dan mendekripsi SecureString parameter standar.

Mengenkripsi parameter standar

  1. Saat Anda menggunakan PutParameter untuk membuat SecureString parameter, Parameter Store mengirim Encrypt permintaan ke AWS KMS. Permintaan itu mencakup nilai parameter plaintext, kunci KMS yang Anda pilih, dan konteks en Parameter Store kripsi. Selama transmisi ke AWS KMS, nilai plaintext dalam SecureString parameter dilindungi oleh Transport Layer Security (TLS).

  2. AWS KMS mengenkripsi nilai parameter dengan kunci KMS yang ditentukan dan konteks enkripsi. Ini mengembalikan ciphertext keParameter Store, yang menyimpan nama parameter dan nilai terenkripsi.

    Mengenkripsi nilai SecureString parameter standar

Mendekripsi parameter standar

  1. Ketika Anda menyertakan WithDecryption parameter dalam GetParameter permintaan, Parameter Store mengirimkan Decrypt permintaan ke AWS KMS dengan nilai SecureString parameter terenkripsi dan konteks en Parameter Store kripsi.

  2. AWS KMS menggunakan kunci KMS yang sama dan konteks enkripsi yang disediakan untuk mendekripsi nilai terenkripsi. Ini mengembalikan nilai parameter plaintext (didekripsi) ke. Parameter Store Selama transmisi, data plaintext dilindungi oleh TLS.

  3. Parameter Storemengembalikan nilai parameter plaintext kepada Anda dalam GetParameter respons.

Melindungi SecureString parameter lanjutan

Saat Anda menggunakan PutParameter untuk membuat SecureString parameter lanjutan, Parameter Store menggunakan enkripsi amplop dengan AWS Encryption SDK dan enkripsi simetris AWS KMS key untuk melindungi nilai parameter. Setiap nilai parameter lanjutan dienkripsi di bawah kunci data unik, dan kunci data dienkripsi di bawah kunci KMS. Anda dapat menggunakan kunci Kunci yang dikelola AWS for the account (aws/ssm) atau kunci yang dikelola pelanggan apa pun.

AWS Encryption SDK adalah pustaka sisi klien sumber terbuka yang membantu Anda mengenkripsi dan mendekripsi data menggunakan standar industri dan praktik terbaik. Ini didukung pada beberapa platform dan dalam beberapa bahasa pemrograman, termasuk antarmuka baris perintah. Anda dapat melihat kode sumber dan berkontribusi pada pengembangannya di GitHub.

Untuk setiap nilai SecureString parameter, Parameter Store panggil AWS Encryption SDK untuk mengenkripsi nilai parameter menggunakan kunci data unik yang AWS KMS menghasilkan (GenerateDataKey). Kem AWS Encryption SDK bali ke pesan terenkripsi Parameter Store yang mencakup nilai parameter terenkripsi dan salinan terenkripsi dari kunci data unik. Parameter Storemenyimpan seluruh pesan terenkripsi dalam nilai SecureString parameter. Kemudian, ketika Anda mendapatkan nilai SecureString parameter lanjutan, Parameter Store gunakan AWS Encryption SDK untuk mendekripsi nilai parameter. Ini membutuhkan panggilan untuk AWS KMS mendekripsi kunci data terenkripsi.

Untuk membuat SecureString parameter lanjutan, gunakan PutParameter operasi di API Manajer Sistem. Atur nilai parameter Tier ke Advanced. Sertakan parameter Type dengan nilai dari SecureString. Untuk menentukan kunci KMS, gunakan KeyId parameter. Defaultnya adalah Kunci yang dikelola AWS untuk akun Anda,aws/ssm.

aws ssm put-parameter \ --name MyParameter \ --value "secret_value" \ --type SecureString \ --tier Advanced

Contoh serupa berikut menggunakan --key-id parameter untuk menentukan kunci yang dikelola pelanggan. Contoh ini menggunakan Amazon Resource Name (ARN) dari kunci KMS, tetapi Anda dapat menggunakan pengidentifikasi kunci KMS yang valid.

aws ssm put-parameter \ --name MyParameter \ --value "secret_value" \ --type SecureString \ --tier Advanced \ --key-id arn:aws:kms:us-east-2:987654321098:key/1234abcd-12ab-34cd-56ef-1234567890ab

Ketika Anda mendapatkan SecureString parameter dariParameter Store, nilainya adalah pesan terenkripsi yang AWS Encryption SDK dikembalikan. Untuk mendapatkan parameter, gunakan GetParameter operasi di System Manager API.

Contoh berikut menggunakan GetParameter operasi Manajer Sistem untuk mendapatkan MyParameter parameter dari Parameter Store tanpa mendekripsi nilainya.

aws ssm get-parameter --name MyParameter
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "AQECAHgnOkMROh5LaLXkA4j0+vYi6tmM17Lg"
    }
}

Untuk mendekripsi nilai parameter sebelum mengembalikannya, atur parameter WithDecryption dari GetParameter ke true. Saat Anda menggunakanWithDecryption, Parameter Store memanggil operasi AWS KMS Dekripsi atas nama Anda untuk mendekripsi nilai parameter. Akibatnya, permintaan GetParameter akan mengembalikan parameter dengan nilai parameter plaintext, seperti yang ditunjukkan dalam contoh berikut.

aws ssm get-parameter \ --name MyParameter \ --with-decryption
{
    "Parameter": {
        "Type": "SecureString", 
        "Name": "MyParameter", 
        "Value": "secret_value"
    }
}

Anda tidak dapat mengonversi SecureString parameter lanjutan ke parameter standar, tetapi Anda dapat mengonversi standar SecureString ke yang lanjutan. Untuk mengonversi SecureString parameter standar ke lanj SecureString utan, gunakan PutParameter operasi dengan Overwrite parameter. Type harus SecureString dan nilai Tier harus Advanced. KeyIdParameter, yang mengidentifikasi kunci yang dikelola pelanggan adalah opsional. Jika Anda menghilangkannyaParameter Store, gunakan Kunci yang dikelola AWS untuk akun. Anda dapat menentukan kunci KMS apa pun yang diizinkan oleh kepala sekolah untuk digunakan, bahkan jika Anda menggunakan kunci KMS yang berbeda untuk mengenkripsi parameter standar.

Bila Anda menggunakan Overwrite parameter, Parameter Store gunakan AWS Encryption SDK untuk mengenkripsi nilai parameter. Kemudian menyimpan pesan yang baru dienkripsi diParameter Store.

aws ssm put-parameter \ --name myStdParameter \ --value "secret_value" \ --type SecureString \ --tier Advanced \ --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --overwrite

Alur kerja berikut menunjukkan cara Parameter Store menggunakan kunci KMS untuk mengenkripsi dan mendekripsi SecureString parameter lanjutan.

Mengenkripsi parameter lanjutan

  1. Bila Anda menggunakan PutParameter untuk membuat SecureString parameter lanjutan, Parameter Store menggunakan AWS Encryption SDK dan AWS KMS untuk mengenkripsi nilai parameter. Parameter Storememanggil AWS Encryption SDK dengan nilai parameter, kunci KMS yang Anda tentukan, dan konteks en Parameter Store kripsi.

  2. Men AWS Encryption SDK girim GenerateDataKey permintaan ke AWS KMS dengan pengenal kunci KMS yang Anda tentukan dan konteks en Parameter Store kripsi. AWS KMS mengembalikan dua salinan kunci data unik: satu dalam plaintext dan satu dienkripsi di bawah kunci KMS. (Konteks enkripsi digunakan saat mengenkripsi kunci data.)

  3. Menggunakan AWS Encryption SDK kunci data plaintext untuk mengenkripsi nilai parameter. Ini mengembalikan pesan terenkripsi yang mencakup nilai parameter terenkripsi, kunci data terenkripsi, dan data lainnya, termasuk konteks Parameter Store enkripsi.

  4. Parameter Storemenyimpan pesan terenkripsi sebagai nilai parameter.

    Mengenkripsi nilai SecureString parameter lanjutan

Dekripsi parameter lanjutan

  1. Anda dapat menyertakan WithDecryption parameter dalam GetParameter permintaan untuk mendapatkan SecureString parameter lanjutan. Ketika Anda melakukannyaParameter Store, mener uskan pesan terenkripsi dari nilai parameter ke metode dekripsi. AWS Encryption SDK

  2. Operasi AWS Encryption SDK tersebut memanggil AWS KMS Decrypt. Ini melewati kunci data terenkripsi dan konteks en Parameter Store kripsi dari pesan terenkripsi.

  3. AWS KMS menggunakan kunci KMS dan konteks en Parameter Store kripsi untuk mendekripsi kunci data terenkripsi. Kemudian ini mengembalikan plaintext (didekripsi) kunci data ke AWS Encryption SDK.

  4. Menggunakan AWS Encryption SDK kunci data plaintext untuk mendekripsi nilai parameter. Ini mengembalikan nilai parameter plaintext keParameter Store.

  5. Parameter Storememverifikasi konteks enkripsi dan mengembalikan nilai parameter plaintext kepada Anda dalam respons. GetParameter

Menetapkan izin untuk mengenkripsi dan mendekripsi nilai parameter

Untuk mengenkripsi nilai SecureString parameter standar, pengguna memerlukan kms:Encrypt izin. Untuk mengenkripsi nilai SecureString parameter lanjutan, pengguna memerlukan kms:GenerateDataKey izin. Untuk mendekripsi salah SecureString satu jenis nilai parameter, pengguna memerlukan kms:Decrypt izin.

Anda dapat menggunakan kebijakan AWS Identity and Access Management (IAM) untuk mengizinkan atau menolak izin bagi pengguna untuk memanggil Manajer Sistem PutParameter dan GetParameter operasi.

Jika Anda menggunakan kunci yang dikelola pelanggan untuk mengenkripsi nilai SecureString parameter, Anda dapat menggunakan kebijakan IAM dan kebijakan kunci untuk mengelola izin enkripsi dan mendekripsi. Namun, Anda tidak dapat menetapkan kebijakan kontrol akses untuk kunci aws/ssm KMS default. Untuk informasi terperinci tentang mengendalikan akses ke kunci yang dikelola pelanggan, lihat akses dan izin kunci KMS di Panduan Peng AWS Key Management Service embang.

Contoh berikut menunjukkan kebijakan IAM yang dirancang untuk SecureString parameter standar. Ini memungkinkan pengguna untuk memanggil operasi PutParameter Systems Manager pada semua parameter dalam jalur FinancialParameters. Kebijakan ini juga memungkinkan pengguna untuk memanggil AWS KMS Encrypt operasi pada contoh kunci yang dikelola pelanggan.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/FinancialParameters/*" }, { "Effect": "Allow", "Action": [ "kms:Encrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }

Contoh berikutnya menunjukkan kebijakan IAM yang dirancang untuk SecureString parameter lanjutan. Ini memungkinkan pengguna untuk memanggil operasi PutParameter Systems Manager pada semua parameter dalam jalur ReservedParameters. Kebijakan ini juga memungkinkan pengguna untuk memanggil AWS KMS GenerateDataKey operasi pada contoh kunci yang dikelola pelanggan.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:PutParameter" ], "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/ReservedParameters/*" }, { "Effect": "Allow", "Action": [ "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id" } ] }

Contoh terakhir juga menunjukkan kebijakan IAM yang dapat digunakan untuk SecureString parameter standar atau lanjutan. Ini memungkinkan pengguna untuk memanggil operasi GetParameter Systems Manager (dan operasi terkait) pada semua parameter dalam jalur ITParameters. Kebijakan ini juga memungkinkan pengguna untuk memanggil AWS KMS Decrypt operasi pada contoh kunci yang dikelola pelanggan.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameter*" ], "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/ITParameters/*" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" } ] }

Penyimpanan Parameter konteks enkripsi

Konteks enkripsi adalah seperangkat pasangan kunci-nilai yang berisi data non-rahasia yang arbitrer. Saat Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, AWS KMS secara kriptografis mengikat konteks enkripsi ke data terenkripsi. Untuk mendekripsi data, Anda harus meneruskan konteks enkripsi yang sama.

Anda juga dapat menggunakan konteks enkripsi untuk mengidentifikasi operasi kriptografi dalam audit catatan dan log. Konteks enkripsi muncul di plaintext dalam log, seperti log AWS CloudTrail.

Ini AWS Encryption SDK juga mengambil konteks enkripsi, meskipun menanganinya secara berbeda. Parameter Storememasok konteks enkripsi ke metode enkripsi. Secara AWS Encryption SDK kriptografis mengikat konteks enkripsi ke data terenkripsi. Ini juga mencakup konteks enkripsi dalam teks polos di header pesan terenkripsi yang dikembalikan. Namun, tidak seperti AWS KMS, metode AWS Encryption SDK dekripsi tidak mengambil konteks enkripsi sebagai input. Sebaliknya, ketika mendekripsi data, AWS Encryption SDK mendapatkan konteks enkripsi dari pesan terenkripsi. Parameter Storememverifikasi bahwa konteks enkripsi menyertakan nilai yang diharapkan sebelum mengembalikan nilai parameter plaintext kepada Anda.

Parameter Storemenggunakan konteks enkripsi berikut dalam operasi kriptografinya:

  • Kunci: PARAMETER_ARN

  • Nilai: Amazon Resource Name (ARN) dari parameter yang sedang dienkripsi.

Format konteks penyulitan adalah seperti berikut:

"PARAMETER_ARN":"arn:aws:ssm:region-id:account-id:parameter/parameter-name"

Misalnya, ser Parameter Store takan konteks enkripsi ini dalam panggilan untuk mengenkripsi dan mendekripsi MyParameter parameter dalam contoh Akun AWS dan wilayah.

"PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/MyParameter"

Jika parameter berada di jalur Parameter Store hierarkis, jalur dan nama disertakan dalam konteks enkripsi. Misalnya, konteks enkripsi ini digunakan saat mengenkripsi dan mendekripsi MyParameter parameter di /ReadableParameters jalur dalam contoh Akun AWS dan wilayah.

"PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/ReadableParameters/MyParameter"

Anda dapat mendekripsi nilai SecureString parameter terenkripsi dengan memanggil AWS KMS Decrypt operasi dengan konteks enkripsi yang benar dan nilai parameter terenkripsi yang dikembalikan oleh GetParameter operasi Manajer Sistem. Namun, kami mendorong Anda untuk mendekripsi nilai Parameter Store parameter dengan menggunakan GetParameter operasi dengan WithDecryption parameter.

Anda juga dapat menyertakan konteks enkripsi dalam kebijakan IAM. Misalnya, Anda dapat mengizinkan pengguna untuk mendekripsi hanya satu nilai parameter tertentu atau set nilai parameter.

Contoh pernyataan kebijakan IAM berikut memungkinkan pengguna untuk mendapatkan nilai MyParameter parameter dan untuk mendekripsi nilainya menggunakan kunci KMS yang ditentukan. Namun izin hanya berlaku ketika konteks enkripsi cocok dengan string tertentu. Izin ini tidak berlaku untuk parameter lain atau kunci KMS, dan panggilan untuk GetParameter gagal jika konteks enkripsi tidak cocok dengan string.

Sebelum menggunakan pernyataan kebijakan seperti ini, ganti example ARNs dengan nilai yang valid.

JSON
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameter*" ], "Resource": "arn:aws:ssm:us-east-1:111122223333:parameter/MyParameter" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id", "Condition": { "StringEquals": { "kms:EncryptionContext:PARAMETER_ARN":"arn:aws:ssm:us-east-1:111122223333:parameter/MyParameter" } } } ] }

Memecahkan masalah utama KMS di Penyimpanan Parameter

Untuk melakukan operasi apa pun pada SecureString parameter, Parameter Store harus dapat menggunakan kunci AWS KMS KMS yang Anda tentukan untuk operasi yang Anda inginkan. Sebagian besar Parameter Store kegagalan yang terkait dengan kunci KMS disebabkan oleh masalah berikut:

  • KredenSIAL yang digunakan aplikasi tidak memiliki izin untuk melakukan tindakan yang ditentukan pada kunci KMS.

    Untuk memperbaiki kesalahan ini, jalankan aplikasi dengan kredensial yang berbeda atau merevisi IAM atau kebijakan kunci yang mencegah operasi. Untuk bantuan terkait AWS KMS IAM dan kebijakan utama, lihat akses dan izin kunci KMS di Panduan Peng AWS Key Management Service embang.

  • Kunci KMS tidak ditemukan.

    Ini biasanya terjadi ketika Anda menggunakan pengidentifikasi yang salah untuk kunci KMS. Temukan pengidentifikasi yang benar untuk kunci KMS dan coba perintah lagi.

  • Kunci KMS tidak diaktifkan. Ketika ini terjadi, Parameter Store mengembalikan peng InvalidKeyId ecualian dengan pesan kesalahan terperinci dari AWS KMS. Jika status kunci KMS adalahDisabled, aktifkan. Jika status Pending Import, selesaikan prosedur impor. Jika status kunci adalahPending Deletion, batalkan penghapusan kunci atau gunakan kunci KMS yang berbeda.

    Untuk menemukan status kunci dari kunci KMS, gunakan DescribeKey operasi.