AWS KMS enkripsi untuk AWS Systems Manager Parameter Store SecureString parameter - AWS Systems Manager

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 Parameter Store 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 Store menggunakan AWS KMS untuk mengenkripsi dan mendekripsi nilai parameter. SecureString

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

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

penting

Parameter Store hanya mendukung KMStombol simetris. Anda tidak dapat menggunakan KMSkunci asimetris untuk mengenkripsi parameter Anda. Untuk bantuan menentukan apakah KMS kunci simetris atau asimetris, lihat Mengidentifikasi tipe kunci yang berbeda dalam Panduan AWS Key Management Service Developer.

Parameter Store mendukung dua tingkatan SecureString parameter: standar dan lanjutan. Parameter standar, yang tidak dapat melebihi 4096 byte, dienkripsi dan didekripsi langsung di bawah kunci yang Anda tentukan. KMS Untuk mengenkripsi dan mendekripsi parameter lanjutan, SecureString Parameter Store menggunakan enkripsi amplop dengan file. AWS Encryption SDK Anda dapat mengonversi SecureString parameter standar menjadi parameter lanjutan, tetapi Anda tidak dapat mengonversi parameter lanjutan menjadi standar. Untuk informasi selengkapnya tentang perbedaan antara SecureString parameter standar dan lanjutan, lihatMengelola tingkatan parameter.

Melindungi SecureString parameter standar

Parameter Store tidak melakukan operasi kriptografis apa pun. Sebaliknya, itu bergantung pada AWS KMS untuk mengenkripsi dan mendekripsi nilai parameterSecureString. Saat Anda membuat atau mengubah nilai SecureString parameter standar, Parameter Store memanggil operasi AWS KMS Encrypt. Operasi ini menggunakan KMS kunci enkripsi simetris langsung untuk mengenkripsi nilai parameter alih-alih menggunakan KMS kunci untuk menghasilkan kunci data.

Anda dapat memilih KMS kunci yang Parameter Store menggunakan untuk mengenkripsi nilai parameter. Jika Anda tidak menentukan KMS kunci, Parameter Store menggunakan Kunci yang dikelola AWS yang secara otomatis dibuat Systems Manager di akun Anda. KMSKunci ini memiliki aws/ssm alias.

Untuk melihat aws/ssm KMS kunci default untuk akun Anda, gunakan DescribeKeyoperasi 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 PutParameteroperasi di Systems ManagerAPI. Abaikan parameter Tier atau tentukan nilai Standard, yang merupakan default. Sertakan parameter Type dengan nilai dari SecureString. Untuk menentukan KMS kunci, gunakan KeyId parameter. Defaultnya adalah Kunci yang dikelola AWS untuk akun Andaaws/ssm.

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

Contoh berikut menggunakan parameter put-parameter Systems Manager dan --type parameternya dalam AWS CLI untuk membuat SecureString parameter. Karena perintah menghilangkan opsional --tier dan --key-id parameter, Parameter Store membuat SecureString parameter standar dan mengenkripsi 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 KMS kunci untuk mengidentifikasi KMS kunci, tetapi Anda dapat menggunakan pengenal KMS kunci mana pun yang valid. Karena perintah menghilangkan Tier parameter (--tier), Parameter Store membuat SecureString parameter standar, bukan parameter lanjutan.

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

Ketika Anda mendapatkan SecureString parameter dari Parameter Store, nilainya dienkripsi. Untuk mendapatkan parameter, gunakan GetParameter operasi di Systems ManagerAPI.

Contoh berikut menggunakan parameter get-parameter Systems Manager di AWS CLI untuk mendapatkan parameter dari MyParameter 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. Ketika 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 caranya Parameter Store menggunakan KMS kunci untuk mengenkripsi dan mendekripsi parameter standar. SecureString

Mengenkripsi parameter standar

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

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

    Mengenkripsi nilai parameter standar SecureString

Dekripsi parameter standar

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

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

  3. Parameter Store mengembalikan nilai parameter plaintext untuk Anda dalam respons. GetParameter

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 yang dikelola AWSfor the account (aws/ssm) atau kunci yang dikelola pelanggan.

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 memanggil AWS Encryption SDK untuk mengenkripsi nilai parameter menggunakan kunci data unik yang AWS KMS dihasilkan (GenerateDataKey). AWS Encryption SDK Kembali ke Parameter Store sebuah pesan terenkripsi yang mencakup nilai parameter terenkripsi dan salinan terenkripsi dari kunci data unik. Parameter Store menyimpan seluruh pesan terenkripsi dalam nilai SecureString parameter. Kemudian, ketika Anda mendapatkan nilai SecureString parameter lanjutan, Parameter Store menggunakan AWS Encryption SDK untuk mendekripsi nilai parameter. Ini membutuhkan panggilan ke AWS KMS untuk mendekripsi kunci data terenkripsi.

Untuk membuat SecureString parameter lanjutan, gunakan PutParameteroperasi di Systems ManagerAPI. Atur nilai parameter Tier ke Advanced. Sertakan parameter Type dengan nilai dari SecureString. Untuk menentukan KMS kunci, gunakan KeyId parameter. Defaultnya adalah Kunci yang dikelola AWS untuk akun Andaaws/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 menggunakan Amazon Resource Name (ARN) KMS kunci, tetapi Anda dapat menggunakan pengenal KMS kunci mana pun 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 dari Parameter Store, nilainya adalah pesan terenkripsi yang dikembalikan. AWS Encryption SDK Untuk mendapatkan parameter, gunakan GetParameteroperasi di Systems ManagerAPI.

Contoh berikut menggunakan GetParameter operasi Systems Manager 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. Ketika 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 menjadi standar, tetapi Anda dapat mengonversi standar SecureString menjadi lanjutan. Untuk mengonversi SecureString parameter standar ke lanjutanSecureString, 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 menghilangkannya, Parameter Store menggunakan Kunci yang dikelola AWS untuk akun. Anda dapat menentukan KMS kunci dengan izin penggunaan prinsipal, bahkan jika Anda menggunakan KMS kunci yang berbeda untuk mengenkripsi parameter standar.

Saat Anda menggunakan Overwrite parameter, Parameter Store menggunakan AWS Encryption SDK untuk mengenkripsi nilai parameter. Kemudian ini menyimpan pesan terenkripsi baru di Parameter 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 caranya Parameter Store menggunakan KMS kunci untuk mengenkripsi dan mendekripsi parameter lanjutan. SecureString

Mengenkripsi parameter lanjutan

  1. Saat Anda menggunakan PutParameter untuk membuat SecureString parameter lanjutan, Parameter Store menggunakan AWS Encryption SDK dan AWS KMS untuk mengenkripsi nilai parameter. Parameter Store memanggil AWS Encryption SDK dengan nilai parameter, KMS kunci yang Anda tentukan, dan Parameter Store konteks enkripsi.

  2. AWS Encryption SDK Mengirim GenerateDataKeypermintaan ke AWS KMS dengan pengenal KMS kunci yang Anda tentukan dan Parameter Store konteks enkripsi. AWS KMS mengembalikan dua salinan kunci data unik: satu di plaintext dan satu dienkripsi di bawah kunci. KMS (Konteks enkripsi digunakan saat mengenkripsi kunci data.)

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

  4. Parameter Store menyimpan pesan terenkripsi sebagai nilai parameter.

    Mengenkripsi nilai parameter lanjutan SecureString

Dekripsi parameter lanjutan

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

  2. AWS Encryption SDK Panggilan operasi AWS KMS Dekripsi. Ini lolos dalam kunci data terenkripsi dan kunci data terenkripsi dan Parameter Store konteks enkripsi dari pesan terenkripsi.

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

  4. AWS Encryption SDK menggunakan kunci data plaintext untuk mendekripsi nilai parameter. Ini mengembalikan plaintext nilai parameter ke Parameter Store.

  5. Parameter Store memverifikasi konteks enkripsi dan mengembalikan nilai parameter plaintext untuk Anda dalam respons. GetParameter

Menetapkan izin untuk mengenkripsi dan mendekripsi nilai parameter

Untuk mengenkripsi nilai SecureString parameter standar, pengguna membutuhkan kms:Encrypt izin. Untuk mengenkripsi nilai SecureString parameter lanjutan, pengguna membutuhkan kms:GenerateDataKey izin. Untuk mendekripsi jenis nilai SecureString parameter mana pun, pengguna membutuhkan kms:Decrypt izin.

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

Jika Anda menggunakan kunci yang dikelola pelanggan untuk mengenkripsi nilai SecureString parameter, Anda dapat menggunakan IAM kebijakan dan kebijakan kunci untuk mengelola izin enkripsi dan dekripsi. Namun, Anda tidak dapat menetapkan kebijakan kontrol akses untuk aws/ssm KMS kunci default. Untuk informasi rinci tentang mengontrol akses ke kunci terkelola pelanggan, lihat akses KMS utama dan izin di Panduan AWS Key Management Service Pengembang.

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

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

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

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

Contoh terakhir juga menunjukkan IAM kebijakan 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 mengizinkan pengguna untuk memanggil AWS KMS Decrypt operasi pada kunci yang dikelola pelanggan.

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

Parameter Store konteks enkripsi

Konteks enkripsi adalah seperangkat pasangan kunci-nilai yang berisi data non-rahasia yang arbitrer. Bila Anda menyertakan konteks enkripsi dalam permintaan untuk mengenkripsi data, AWS KMS secara kriptografi mengikat konteks enkripsi ke data terenkripsi tersebut. 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.

AWS Encryption SDK juga mengambil konteks enkripsi, meskipun ditangani secara berbeda. Parameter Store menyediakan konteks enkripsi untuk metode enkripsi. AWS Encryption SDK secara kriptografi mengikat konteks enkripsi untuk 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 Store memverifikasi konteks enkripsi menyertakan nilai yang diharapkan sebelum mengembalikan nilai parameter plaintext untuk Anda.

Parameter Store menggunakan 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, Parameter Store menyertakan konteks enkripsi ini dalam panggilan untuk mengenkripsi dan mendekripsi MyParameter parameter dalam dan wilayah contoh Akun AWS .

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

Jika parameternya ada di Parameter Store jalur hierarkis, jalur dan nama termasuk dalam konteks enkripsi. Sebagai contoh, konteks enkripsi ini digunakan saat mengenkripsi dan mendekripsi MyParameter parameter dalam /ReadableParameters jalur dalam dan wilayah contoh. Akun AWS

"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 operasi Systems Manager. GetParameter Namun, kami mendorong Anda untuk mendekripsi Parameter Store nilai parameter dengan menggunakan GetParameter operasi dengan WithDecryption parameter.

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

Contoh pernyataan IAM kebijakan berikut memungkinkan pengguna untuk nilai get dari MyParameter parameter dan untuk mendekripsi nilainya menggunakan kunci yang ditentukanKMS. Namun izin hanya berlaku ketika konteks enkripsi cocok dengan string tertentu. Izin ini tidak berlaku pada parameter atau KMS kunci lain, 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.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:GetParameter*" ], "Resource": "arn:aws:ssm:us-east-2:111122223333:parameter/MyParameter" }, { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "arn:aws:kms:us-east-2:987654321098:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringEquals": { "kms:EncryptionContext:PARAMETER_ARN":"arn:aws:ssm:us-east-2:111122223333:parameter/MyParameter" } } } ] }

Memecahkan masalah KMS utama di Parameter Store

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

  • Kredenal yang digunakan aplikasi tidak memiliki izin untuk melakukan tindakan tertentu pada kunci. KMS

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

  • KMSKuncinya tidak ditemukan.

    Hal ini biasanya terjadi ketika Anda menggunakan pengidentifikasi yang salah untuk KMS kunci. Temukan pengidentifikasi yang benar untuk KMS kunci dan coba perintahnya lagi.

  • KMSKuncinya tidak diaktifkan. Ketika ini terjadi, Parameter Store mengembalikan InvalidKeyIdpengecualian dengan pesan kesalahan mendetail dari AWS KMS. Jika status KMS kuncinyaDisabled, aktifkan. Jika status Pending Import, selesaikan prosedur impor. Jika status kunciPending Deletion, membatalkan penghapusan kunci atau menggunakan kunci yang berbedaKMS.

    Untuk menemukan status kunci KMS kunci, gunakan DescribeKeyoperasi.