All Products
Search
Document Center

Key Management Service:Informasi otorisasi

Last Updated:Apr 01, 2026

Resource Access Management (RAM) mengontrol siapa yang dapat memanggil operasi API KMS dan resource mana yang dapat diaksesnya. Untuk memberikan akses KMS kepada RAM user, buat kebijakan RAM kustom yang secara eksplisit menentukan operasi dan resource yang diizinkan, lalu sambungkan kebijakan tersebut ke pengguna tersebut.

RAM menyediakan dua mode pengeditan: visual dan dokumen. Untuk KMS, gunakan mode pengeditan dokumen karena mode visual hanya memungkinkan pemilihan semua resource KMS dan semua operasi, sehingga tidak mendukung prinsip hak akses minimal (least-privilege).

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Akun Alibaba Cloud dengan akses administrator ke Konsol RAM

  • RAM user yang akan diberikan izin

Struktur kebijakan

Pernyataan kebijakan RAM untuk KMS mencakup hingga empat elemen:

ElemenWajibDeskripsi
EffectYaAllow atau Deny
ActionYaSatu atau beberapa operasi API KMS dalam format kms:<api-name>
ResourceYaNama Sumber Daya Alibaba Cloud (ARN) dari resource target
ConditionTidakBatasan tambahan seperti pembatasan berbasis waktu

Lampiran di bawah ini mencantumkan semua aksi, format ARN resource, dan kunci kondisi yang didukung.

Berikan akses KMS kepada RAM user

Langkah 1: Buat kebijakan kustom

  1. Masuk ke Konsol RAM menggunakan Akun Alibaba Cloud Anda.

  2. Di panel navigasi sebelah kiri, pilih Permissions > Policies.

  3. Pada halaman Policies, klik Create Policy.

  4. Pada halaman Create Policy, klik tab JSON.

  5. Ganti isi kebijakan default dengan dokumen kebijakan kustom Anda. Contoh berikut memberikan izin kepada RAM user untuk melakukan enkripsi dan dekripsi menggunakan kunci tertentu, tanpa kemampuan untuk mengelola atau menghapusnya:

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:Encrypt",                    // enkripsi data menggunakan kunci
            "kms:Decrypt",                    // dekripsi data menggunakan kunci
            "kms:GenerateDataKey"             // hasilkan kunci data untuk enkripsi amplop
          ],
          "Resource": "acs:kms:${region}:${account}:key/${key-id}"
        }
      ]
    }

    Ganti ${region}, ${account}, dan ${key-id} dengan nilai aktual Anda. Untuk menargetkan semua kunci dalam suatu akun, gunakan acs:kms:*:${account}:key/*.

  6. Klik Optimize untuk memvalidasi dan memformat dokumen kebijakan (opsional).

  7. Klik OK.

  8. Masukkan nama dan deskripsi kebijakan, lalu klik OK.

Langkah 2: Sambungkan kebijakan ke RAM user

  1. Di panel navigasi sebelah kiri, pilih Identities > Users.

  2. Pada halaman Users, temukan RAM user target dan klik Add Permissions di kolom Actions.

  3. Pada panel Grant Permission, konfigurasikan parameter berikut dan klik Grant Permissions.

    ParameterDeskripsi
    Resource ScopePilih Account. KMS tidak mendukung fitur kelompok sumber daya.
    PrincipalRAM user yang akan diberikan izin. Secara default adalah pengguna yang Anda pilih; ubah sesuai kebutuhan.
    PolicyPilih kebijakan kustom yang Anda buat pada Langkah 1.

Lampiran: Resource, aksi, dan kondisi yang didukung

Resource

KMS mendefinisikan enam jenis resource. Konfigurasikan elemen Resource dalam kebijakan RAM menggunakan ARN dari resource target.

Untuk menemukan ARN suatu kunci:

  1. Masuk ke Konsol KMS. Pada bilah navigasi atas, pilih wilayah. Di panel navigasi sisi kiri, pilih Resource > Keys.

  2. Pada tab Keys, temukan kunci tersebut dan klik Details di kolom Actions. ARN akan ditampilkan di halaman detail.

    Key details

Ganti ${region} dan ${account} dengan wilayah dan ID akun Alibaba Cloud Anda yang sebenarnya. ${region} mendukung karakter wildcard asterisk (*) untuk menargetkan semua wilayah yang didukung.
Jenis resourceARN
Key containeracs:kms:${region}:${account}:key
Secret containeracs:kms:${region}:${account}:secret
Alias containeracs:kms:${region}:${account}:alias
Keyacs:kms:${region}:${account}:key/${key-id}
Secretacs:kms:${region}:${account}:secret/${secret-name}
Aliasacs:kms:${region}:${account}:alias/${alias-name}

Contoh Penggunaan Wildcard

Untuk kunci:

  • acs:kms:${region}:${account}:key/* — semua kunci dalam wilayah tertentu di suatu akun

  • acs:kms:*:${account}:key/* — semua kunci di semua wilayah dalam suatu akun

Untuk rahasia:

  • acs:kms:${region}:${account}:secret/* — semua rahasia dalam wilayah tertentu di suatu akun

  • acs:kms:${region}:${account}:secret/prefix* — semua rahasia yang namanya diawali dengan prefix

Action

KMS mendefinisikan satu aksi untuk setiap operasi API yang memerlukan kontrol akses. Aksi mengikuti format kms:<api-name>.

Operasi DescribeRegions tidak memerlukan kontrol akses. Operasi ini dapat dipanggil oleh akun Alibaba Cloud, RAM user, atau RAM role apa pun setelah melewati otentikasi RAM.

Operasi API Terkait Kunci

OperasiActionJenis resourceFormat ARN
ListKeyskms:ListKeysKey containeracs:kms:${region}:${account}:key
CreateKeykms:CreateKeyKey containeracs:kms:${region}:${account}:key
DescribeKeykms:DescribeKeyKeyacs:kms:${region}:${account}:key/${key-id}
UpdateKeyDescriptionkms:UpdateKeyDescriptionKeyacs:kms:${region}:${account}:key/${key-id}
EnableKeykms:EnableKeyKeyacs:kms:${region}:${account}:key/${key-id}
DisableKeykms:DisableKeyKeyacs:kms:${region}:${account}:key/${key-id}
ScheduleKeyDeletionkms:ScheduleKeyDeletionKeyacs:kms:${region}:${account}:key/${key-id}
CancelKeyDeletionkms:CancelKeyDeletionKeyacs:kms:${region}:${account}:key/${key-id}
GetParametersForImportkms:GetParametersForImportKeyacs:kms:${region}:${account}:key/${key-id}
ImportKeyMaterialkms:ImportKeyMaterialKeyacs:kms:${region}:${account}:key/${key-id}
DeleteKeyMaterialkms:DeleteKeyMaterialKeyacs:kms:${region}:${account}:key/${key-id}
ListAliasesByKeyIdkms:ListAliasesByKeyIdKeyacs:kms:${region}:${account}:key/${key-id}
CreateKeyVersionkms:CreateKeyVersionKeyacs:kms:${region}:${account}:key/${key-id}
DescribeKeyVersionkms:DescribeKeyVersionKeyacs:kms:${region}:${account}:key/${key-id}
ListKeyVersionskms:ListKeyVersionsKeyacs:kms:${region}:${account}:key/${key-id}
UpdateRotationPolicykms:UpdateRotationPolicyKeyacs:kms:${region}:${account}:key/${key-id}
Encryptkms:EncryptKeyacs:kms:${region}:${account}:key/${key-id}
Decryptkms:DecryptKeyacs:kms:${region}:${account}:key/${key-id}
ReEncryptkms:ReEncryptFrom (kunci sumber) dan kms:ReEncryptTo (kunci tujuan)Keyacs:kms:${region}:${account}:key/${key-id}
GenerateDataKeykms:GenerateDataKeyKeyacs:kms:${region}:${account}:key/${key-id}
GenerateDataKeyWithoutPlaintextkms:GenerateDataKeyWithoutPlaintextKeyacs:kms:${region}:${account}:key/${key-id}
ExportDataKeykms:ExportDataKeyKeyacs:kms:${region}:${account}:key/${key-id}
GenerateAndExportDataKeykms:GenerateAndExportDataKeyKeyacs:kms:${region}:${account}:key/${key-id}
AsymmetricSignkms:AsymmetricSignKeyacs:kms:${region}:${account}:key/${key-id}
AsymmetricVerifykms:AsymmetricVerifyKeyacs:kms:${region}:${account}:key/${key-id}
AsymmetricEncryptkms:AsymmetricEncryptKeyacs:kms:${region}:${account}:key/${key-id}
AsymmetricDecryptkms:AsymmetricDecryptKeyacs:kms:${region}:${account}:key/${key-id}
GetPublicKeykms:GetPublicKeyKeyacs:kms:${region}:${account}:key/${key-id}
ListAliaseskms:ListAliasesAlias containeracs:kms:${region}:${account}:alias
CreateAliaskms:CreateAliasAlias dan keyAlias: acs:kms:${region}:${account}:alias/${alias-name} dan Key: acs:kms:${region}:${account}:key/${key-id}
UpdateAliaskms:UpdateAliasAlias dan keyAlias: acs:kms:${region}:${account}:alias/${alias-name} dan Key: acs:kms:${region}:${account}:key/${key-id}
DeleteAliaskms:DeleteAliasAlias dan keyAlias: acs:kms:${region}:${account}:alias/${alias-name} dan Key: acs:kms:${region}:${account}:key/${key-id}

Operasi API Terkait Rahasia

OperasiActionJenis resourceARN
CreateSecretkms:CreateSecretSecret containeracs:kms:${region}:${account}:secret
ListSecretskms:ListSecretsSecret containeracs:kms:${region}:${account}:secret
DescribeSecretkms:DescribeSecretSecretacs:kms:${region}:${account}:secret/${secret-name}
DeleteSecretkms:DeleteSecretSecretacs:kms:${region}:${account}:secret/${secret-name}
UpdateSecretkms:UpdateSecretSecretacs:kms:${region}:${account}:secret/${secret-name}
RestoreSecretkms:RestoreSecretSecretacs:kms:${region}:${account}:secret/${secret-name}
GetSecretValuekms:GetSecretValue (selalu) dan kms:Decrypt (hanya saat kunci yang dikelola sendiri digunakan sebagai kunci enkripsi)Secretacs:kms:${region}:${account}:secret/${secret-name}
PutSecretValuekms:PutSecretValue (selalu) dan kms:GenerateDataKey (hanya saat kunci yang dikelola sendiri digunakan sebagai kunci enkripsi)Secretacs:kms:${region}:${account}:secret/${secret-name}
ListSecretVersionIdskms:ListSecretVersionIdsSecretacs:kms:${region}:${account}:secret/${secret-name}
UpdateSecretVersionStagekms:UpdateSecretVersionStageSecretacs:kms:${region}:${account}:secret/${secret-name}
GetRandomPasswordkms:GetRandomPasswordNoneNone

Operasi API Terkait Tag

OperasiActionJenis resourceARN
ListResourceTagskms:ListResourceTagsKey atau secretKey: acs:kms:${region}:${account}:key/${key-id} atau Secret: acs:kms:${region}:${account}:secret/${secret-name}
UntagResourcekms:UntagResourceKey atau secretKey: acs:kms:${region}:${account}:key/${key-id} atau Secret: acs:kms:${region}:${account}:secret/${secret-name}
TagResourcekms:TagResourceKey atau secretKey: acs:kms:${region}:${account}:key/${key-id} atau Secret: acs:kms:${region}:${account}:secret/${secret-name}

Condition

Elemen Condition bersifat opsional. Tambahkan kunci kondisi ke kebijakan RAM untuk menerapkan batasan tambahan—otentikasi RAM hanya berhasil jika semua kondisi yang ditentukan terpenuhi.

Dua jenis kunci kondisi didukung:

  • Kunci kondisi umum dalam format acs:<condition-key>—misalnya, gunakan acs:CurrentTime untuk membatasi kebijakan pada jendela waktu tertentu. Untuk daftar lengkapnya, lihat Elemen kebijakan.

  • Kunci kondisi khusus KMS dalam format kms:<condition-key>—untuk daftar lengkapnya, lihat Kunci kondisi.

Untuk informasi selengkapnya mengenai sintaks dan struktur kebijakan RAM, lihat Struktur dan Sintaks Kebijakan.