All Products
Search
Document Center

Key Management Service:Ikhtisar

Last Updated:Apr 01, 2026

Kebijakan kunci (key policy) adalah kebijakan berbasis resource yang dilampirkan pada kunci KMS—setiap kunci KMS harus memiliki tepat satu kebijakan kunci. Kebijakan kunci mengontrol akun Alibaba Cloud, pengguna Resource Access Management (RAM), dan role RAM mana yang memiliki izin untuk mengelola atau menggunakan kunci KMS.

Kebijakan kunci memberikan akses kepada akun Alibaba Cloud, pengguna Resource Access Management (RAM), dan role RAM. Di dalam akun saat ini, Anda dapat menetapkan principal sebagai administrator kunci atau pengguna kunci. Principal dari akun Alibaba Cloud lain hanya dapat ditetapkan sebagai pengguna kunci.

Dalam dokumen ini:

Cara kebijakan kunci dan kebijakan RAM bekerja bersama

Kebijakan kunci berdampingan dengan kebijakan RAM berbasis identitas. Bersama-sama, keduanya menentukan apakah permintaan untuk mengakses kunci KMS diizinkan.

image

Hasil evaluasi bergantung pada sumber permintaan:

  • Akses dalam akun yang sama: Principal dalam akun pemilik kunci dapat mengelola atau menggunakan kunci jika hasil Evaluasi A atau Evaluasi B mengembalikan Allow dan tidak mengembalikan Explicit Deny. Cukup salah satu saja—kebijakan kunci di KMS atau kebijakan RAM—sudah memadai; Anda tidak perlu keduanya.

  • Akses lintas akun (cross-account access): Principal dari akun lain hanya dapat menggunakan kunci jika kedua Evaluasi A dan Evaluasi B mengembalikan Allow. Diperlukan baik kebijakan kunci di KMS maupun kebijakan RAM di akun eksternal.

Catatan

Akun pemilik kunci adalah akun Alibaba Cloud yang digunakan untuk membuat kunci tersebut. Untuk mengetahui pembuatnya, buka Konsol KMS, buka halaman detail kunci, lalu periksa bidang Created By. Atau, panggil DescribeKey dan periksa bidang Creator. Untuk informasi lebih lanjut tentang Explicit Deny dan Implicit Deny, lihat Policy evaluation process.

Pemberian akses lintas akun

Akses lintas akun memerlukan dua langkah—keduanya wajib:

  1. Di KMS: Tambahkan pengguna RAM atau role RAM eksternal sebagai principal dalam kebijakan kunci dan berikan izin penggunaan yang diperlukan.

  2. Di akun eksternal: Gunakan akun tersebut untuk memberikan kebijakan RAM kepada pengguna RAM atau role RAM agar diizinkan mengakses kunci.

Penting

Jika salah satu langkah tidak dilakukan, permintaan lintas akun akan ditolak. Untuk informasi selengkapnya, lihat Custom policies, Grant permissions to a RAM user, dan Grant permissions to a RAM role.

Batasan dan kendala

  • Kebijakan kunci hanya berlaku untuk kunci dalam instans KMS. Konfigurasikan kebijakan kunci saat membuat kunci, atau ubah setelahnya. Lihat Manage a key dan Configure a key policy.

  • Kebijakan kunci hanya berlaku ketika kunci diakses melalui titik akhir (endpoint) KMS. Jika Anda menggunakan endpoint instans KMS, kebijakan izin yang dikonfigurasi pada application access points (AAPs) terkait yang berlaku.

  • Pemberian akses lintas akun mengonsumsi Access Management Quota dari instans KMS, yang dihitung berdasarkan jumlah akun Alibaba Cloud eksternal. Setelah Anda mencabut izin lintas akun, jika tidak ada resource instans KMS yang dibagikan ke akun Alibaba Cloud lain, tunggu sekitar 5 menit hingga kuota dipulihkan.

  • Kebijakan kunci harus dalam format JSON dan tidak boleh melebihi 32.768 byte.

Struktur kebijakan kunci

Kebijakan kunci berisi entri Version dan satu atau beberapa entri Statement.

  • `Version`: Tetapkan ke 1.

  • `Statement`: Setiap pernyataan berisi bidang-bidang berikut.

Bidang pernyataan

FieldRequiredDescription
SidNoIdentifier pernyataan. Maksimal 128 karakter: huruf, angka, dan _ / + = . @ -.
EffectYesAllow atau Deny.
PrincipalYesAkun, pengguna RAM, atau role RAM yang diberi akses.
ActionYesOperasi API KMS yang diizinkan atau ditolak. Harus diawali dengan kms:.
ResourceYesTetapkan ke * untuk menargetkan kunci saat ini.
ConditionNoKondisi agar kebijakan berlaku. Format: "Condition": {"condition operator": {"condition key": "condition value"}}. Lihat Policy elements dan Condition keys.

Principal yang didukung

Bidang Principal menerima:

  • Akun Alibaba Cloud saat ini (acs:ram::<account-id>:*)

  • Pengguna RAM dan role RAM dalam akun saat ini

  • Pengguna RAM dan role RAM dalam akun Alibaba Cloud lain (hanya izin penggunaan)

Cakupan izin aksi

Hanya aksi dalam cakupan berikut yang berlaku. Aksi di luar cakupan ini akan diabaikan.

Aksi manajemen kunci — untuk administrator:

"Action": [
    "kms:List*",
    "kms:Describe*",
    "kms:Create*",
    "kms:Enable*",
    "kms:Disable*",
    "kms:Get*",
    "kms:Set*",
    "kms:Update*",
    "kms:Delete*",
    "kms:Cancel*",
    "kms:TagResource",
    "kms:UntagResource",
    "kms:ImportKeyMaterial",
    "kms:ScheduleKeyDeletion"
]

Aksi penggunaan kunci — untuk aplikasi dan layanan yang melakukan operasi kriptografi:

"Action": [
    "kms:Encrypt",
    "kms:Decrypt",
    "kms:GenerateDataKey",
    "kms:GenerateAndExportDataKey",
    "kms:AsymmetricEncrypt",
    "kms:AsymmetricDecrypt",
    "kms:DescribeKey",
    "kms:DescribeKeyVersion",
    "kms:ListKeyVersions",
    "kms:ListAliasesByKeyId",
    "kms:TagResource"
]

Contoh kebijakan kunci

Kebijakan berikut berlaku untuk kunci dalam akun 119285303511****. Kebijakan ini memberikan:

  • Izin penuh (kms:*) kepada seluruh akun

  • Izin manajemen kepada key_ramuser1 dalam akun yang sama

  • Izin penggunaan kepada key_ramuser2 dalam akun yang sama dan key_ramuser3 dalam akun 190325303126****

{
    "Statement": [
        {
            "Sid": "kms default key policy",
            "Action": [
                "kms:*"
            ],
            "Effect": "Allow",
            "Principal": {
                "RAM": [
                    "acs:ram::119285303511****:*"
                ]
            },
            "Resource": [
                "*"
            ]
        },
        {
            "Action": [
                "kms:List*",
                "kms:Describe*",
                "kms:Create*",
                "kms:Enable*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Set*",
                "kms:Update*",
                "kms:Delete*",
                "kms:Cancel*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ImportKeyMaterial",
                "kms:ScheduleKeyDeletion"
            ],
            "Effect": "Allow",
            "Principal": {
                "RAM": [
                    "acs:ram::119285303511****:user/key_ramuser1"
                ]
            },
            "Resource": [
                "*"
            ]
        },
        {
            "Action": [
                "kms:Encrypt",
                "kms:Decrypt",
                "kms:GenerateDataKey",
                "kms:GenerateAndExportDataKey",
                "kms:AsymmetricEncrypt",
                "kms:AsymmetricDecrypt",
                "kms:DescribeKey",
                "kms:DescribeKeyVersion",
                "kms:ListKeyVersions",
                "kms:ListAliasesByKeyId",
                "kms:TagResource"
            ],
            "Effect": "Allow",
            "Principal": {
                "RAM": [
                    "acs:ram::119285303511****:user/key_ramuser2",
                    "acs:ram::190325303126****:user/key_ramuser3"
                ]
            },
            "Resource": [
                "*"
            ]
        }
    ],
    "Version": "1"
}

Langkah berikutnya