All Products
Search
Document Center

Key Management Service:Menggunakan RAM untuk mengontrol akses ke resource

Last Updated:Apr 01, 2026

Key Management Service (KMS) terintegrasi dengan Resource Access Management (RAM), memungkinkan Anda mengontrol siapa yang dapat mengakses resource KMS dan tindakan apa yang dapat mereka lakukan. Pengguna RAM dan peran RAM memerlukan izin eksplisit—Akun Alibaba Cloud secara default memiliki akses penuh ke resource miliknya.

Sebelum menulis kebijakan RAM untuk KMS, baca:

Jenis resource di KMS

Tabel berikut mencantumkan semua jenis resource KMS beserta Nama Sumber Daya Alibaba Cloud (ARN)-nya. Gunakan ARN ini dalam bidang Resource kebijakan RAM.

Jenis resourceARN
Key containeracs:kms:${region}:${account}:key
Secret containeracs:kms:${region}:${account}:secret
Alias containeracs:kms:${region}:${account}:alias
Certificate containeracs:kms:${region}:${account}:certificate
Keyacs:kms:${region}:${account}:key/${key-id}
Secretacs:kms:${region}:${account}:secret/${secret-name}
Aliasacs:kms:${region}:${account}:alias/${alias-name}
Certificateacs:kms:${region}:${account}:certificate/${id}

Aksi di KMS

Aksi KMS dalam kebijakan RAM mengikuti format kms:<ApiName>. Tabel-tabel berikut memetakan setiap operasi API ke aksi RAM dan jenis resource yang sesuai.

Catatan DescribeRegions tidak memerlukan kontrol akses. Akun Alibaba Cloud, pengguna RAM, dan peran RAM dapat memanggilnya setelah melewati autentikasi RAM tanpa kebijakan eksplisit.

Operasi API Utama

OperasiAksiJenis resource
ListKeyskms:ListKeysKey container
CreateKeykms:CreateKeyKey container
DescribeKeykms:DescribeKeyKey
UpdateKeyDescriptionkms:UpdateKeyDescriptionKey
EnableKeykms:EnableKeyKey
DisableKeykms:DisableKeyKey
ScheduleKeyDeletionkms:ScheduleKeyDeletionKey
CancelKeyDeletionkms:CancelKeyDeletionKey
GetParametersForImportkms:GetParametersForImportKey
ImportKeyMaterialkms:ImportKeyMaterialKey
DeleteKeyMaterialkms:DeleteKeyMaterialKey
ListAliaseskms:ListAliasesAlias container
CreateAliaskms:CreateAliasAlias dan kunci
UpdateAliaskms:UpdateAliasAlias dan key
DeleteAliaskms:DeleteAliasAlias dan key
ListAliasesByKeyIdkms:ListAliasesByKeyIdKey
CreateKeyVersionkms:CreateKeyVersionKey
DescribeKeyVersionkms:DescribeKeyVersionKey
ListKeyVersionskms:ListKeyVersionsKey
UpdateRotationPolicykms:UpdateRotationPolicyKey
Encryptkms:EncryptKey
Decryptkms:DecryptKey
ReEncryptkms:ReEncryptFrom, kms:ReEncryptTo, kms:ReEncrypt*Key
GenerateDataKeykms:GenerateDataKeyKey
GenerateDataKeyWithoutPlaintextkms:GenerateDataKeyWithoutPlaintextKey
ExportDataKeykms:ExportDataKeyKey
GenerateAndExportDataKeykms:GenerateAndExportDataKeyKey
AsymmetricSignkms:AsymmetricSignKey
AsymmetricVerifykms:AsymmetricVerifyKey
AsymmetricEncryptkms:AsymmetricEncryptKey
AsymmetricDecryptkms:AsymmetricDecryptKey
GetPublicKeykms:GetPublicKeyKey

Operasi API Secrets Manager

OperasiAksiJenis resource
CreateSecretkms:CreateSecretSecret container
ListSecretskms:ListSecretsSecret container
DescribeSecretkms:DescribeSecretSecret
DeleteSecretkms:DeleteSecretSecret
UpdateSecretkms:UpdateSecretSecret
RestoreSecretkms:RestoreSecretSecret
GetSecretValuekms:GetSecretValue + kms:Decrypt*Secret
PutSecretValuekms:PutSecretValue + kms:GenerateDataKey*Secret
ListSecretVersionIdskms:ListSecretVersionIdsSecret
UpdateSecretVersionStagekms:UpdateSecretVersionStageSecret
GetRandomPasswordkms:GetRandomPasswordNone (tidak dibatasi pada resource tertentu)

\* kms:Decrypt (untuk GetSecretValue) dan kms:GenerateDataKey (untuk PutSecretValue) hanya diperlukan jika kunci master pelanggan (CMK) yang dikelola sendiri ditentukan sebagai kunci enkripsi untuk rahasia generik.

Operasi API Certificates Manager

OperasiAksiJenis resource
CreateCertificatekms:CreateCertificateCertificate
UploadCertificatekms:UploadCertificateCertificate
GetCertificatekms:GetCertificateCertificate
DescribeCertificatekms:DescribeCertificateCertificate
UpdateCertificateStatuekms:UpdateCertificateStatueCertificate
DeleteCertificatekms:DeleteCertificateCertificate
CertificatePrivateKeySignkms:CertificatePrivateKeySignCertificate
CertificatePublicKeyVerifykms:CertificatePublicKeyVerifyCertificate
CertificatePublicKeyEncryptkms:CertificatePublicKeyEncryptCertificate
CertificatePrivateKeyDecryptkms:CertificatePrivateKeyDecryptCertificate

Operasi API manajemen tag

OperasiAksiJenis resource
ListResourceTagskms:ListResourceTagsKunci atau rahasia
UntagResourcekms:UntagResourceKey atau secret
TagResourcekms:TagResourceKey atau secret

Kondisi kebijakan di KMS

Tambahkan kondisi ke kebijakan RAM untuk membatasi kapan dan bagaimana kebijakan tersebut berlaku. RAM hanya memberikan akses jika semua kondisi yang ditentukan terpenuhi.

Dua jenis kondisi tersedia untuk kebijakan KMS:

  • Kondisi global — Berlaku di seluruh layanan Alibaba Cloud. Misalnya, gunakan acs:CurrentTime untuk membatasi kebijakan pada jendela waktu tertentu atau acs:SourceIp untuk membatasi akses berdasarkan alamat IP.

  • Kondisi berbasis tag — Membatasi operasi kriptografi (seperti Encrypt, Decrypt, dan GenerateDataKey) hanya pada kunci yang memiliki tag tertentu. Gunakan format kms:tag/<tag-key>.

Untuk daftar lengkap kunci kondisi yang didukung, lihat Elemen kebijakan.

Contoh kebijakan RAM

Berikan akses penuh ke semua resource KMS

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

Berikan akses untuk mendaftar dan mengkueri key, melihat alias, serta menggunakan key

Mengizinkan pendaftaran dan pengkuerian key, penampilan alias, serta operasi enkripsi, dekripsi, dan kunci data.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:List*", "kms:Describe*",
        "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

Batasi operasi kriptografi hanya pada key yang ditandai

Mengizinkan Encrypt, Decrypt, dan GenerateDataKey hanya pada key yang ditandai dengan Project: Apollo.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey"
      ],
      "Resource": [
        "*"
      ],
      "Condition": {
        "StringEqualsIgnoreCase": {
          "kms:tag/Project": [
            "Apollo"
          ]
        }
      }
    }
  ]
}

Batasi akses berdasarkan alamat IP

Mengizinkan semua operasi KMS hanya dari Blok CIDR 192.168.0.0/16 dan alamat IP 172.16.215.218.

{
  "Version": "1",
  "Statement": [{
    "Effect": "Allow",
    "Action": [
      "kms:*"
    ],
    "Resource": [
      "*"
    ],
    "Condition": {
      "IpAddress": {
        "acs:SourceIp": [
          "192.168.0.0/16",
          "172.16.215.218"
        ]
      }
    }
  }]
}

Berikan akses read-only ke secret

Mengizinkan pendaftaran dan pengkuerian secret, pengambilan nilai secret, serta pembuatan kata sandi acak.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:List*", "kms:Describe*",
        "kms:GetSecretValue", "kms:Decrypt", "kms:GetRandomPassword"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

Berikan akses read-only ke sertifikat

Mengizinkan pendaftaran, deskripsi, dan pengambilan detail sertifikat.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:List*",
        "kms:Describe*",
        "kms:Get*"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}

Berikan izin tanda tangan digital untuk sertifikat tertentu

Mengizinkan pembuatan dan verifikasi tanda tangan digital menggunakan sertifikat yang ditentukan.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "kms:CertificatePrivateKeySign",
        "kms:CertificatePublicKeyVerify"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}