全部产品
Search
文档中心

Key Management Service:Gunakan RAM untuk mengontrol akses ke sumber daya KMS

更新时间:Jul 06, 2025

Key Management Service (KMS) memungkinkan Anda menggunakan Resource Access Management (RAM) untuk mengontrol akses ke sumber daya KMS. Topik ini menjelaskan jenis-jenis sumber daya KMS, tindakan, dan kondisi yang dapat didefinisikan dalam kebijakan RAM.

Akun Alibaba Cloud memiliki izin penuh atas sumber daya mereka sendiri. Pengguna dan peran RAM harus diberi izin secara eksplisit pada sumber daya tersebut.

Sebelum menggunakan RAM untuk melakukan otorisasi dan mengakses kunci master pelanggan (CMK), baca topik-topik berikut:

Jenis-jenis sumber daya di KMS

Tabel berikut menjelaskan semua jenis sumber daya dan Nama Sumber Daya Alibaba Cloud (ARN) mereka di KMS. ARN dapat digunakan dalam parameter Resource dari kebijakan RAM.

Jenis sumber dayaARN
Wadah kunciacs:kms:${region}:${account}:key
Wadah rahasiaacs:kms:${region}:${account}:secret
Wadah aliasacs:kms:${region}:${account}:alias
Wadah sertifikatacs:kms:${region}:${account}:certificate
Kunciacs:kms:${region}:${account}:key/${key-id}
Rahasiaacs:kms:${region}:${account}:secret/${secret-name}
Aliasacs:kms:${region}:${account}:alias/${alias-name}
Sertifikatacs:kms:${region}:${account}:certificate/${id}

Tindakan di KMS

KMS mendefinisikan tindakan dalam kebijakan RAM untuk setiap operasi API yang memerlukan kontrol akses. Dalam kebanyakan kasus, tindakan berada dalam format kms:<api-name>.
Catatan Operasi DescribeRegions tidak memerlukan kontrol akses. Operasi ini dapat dipanggil oleh akun Alibaba Cloud, pengguna RAM, atau peran RAM setelah melewati otentikasi RAM.

Tabel berikut mencantumkan tindakan RAM dan jenis sumber daya yang sesuai dengan setiap operasi API KMS.

  • Operasi API kunci
    OperasiTindakanJenis sumber daya
    ListKeyskms:ListKeysWadah kunci
    CreateKeykms:CreateKeyWadah kunci
    DescribeKeykms:DescribeKeyKunci
    UpdateKeyDescriptionkms:UpdateKeyDescriptionKunci
    EnableKeykms:EnableKeyKunci
    DisableKeykms:DisableKeyKunci
    ScheduleKeyDeletionkms:ScheduleKeyDeletionKunci
    CancelKeyDeletionkms:CancelKeyDeletionKunci
    GetParametersForImportkms:GetParametersForImportKunci
    ImportKeyMaterialkms:ImportKeyMaterialKunci
    DeleteKeyMaterialkms:DeleteKeyMaterialKunci
    ListAliaseskms:ListAliasesWadah alias
    CreateAliaskms:CreateAliasAlias dan kunci
    UpdateAliaskms:UpdateAliasAlias dan kunci
    DeleteAliaskms:DeleteAliasAlias dan kunci
    ListAliasesByKeyIdkms:ListAliasesByKeyIdKunci
    CreateKeyVersionkms:CreateKeyVersionKunci
    DescribeKeyVersionkms:DescribeKeyVersionKunci
    ListKeyVersionskms:ListKeyVersionsKunci
    UpdateRotationPolicykms:UpdateRotationPolicyKunci
    Encryptkms:EncryptKunci
    Decryptkms:DecryptKunci
    ReEncrypt
    • kms:ReEncryptFrom
    • kms:ReEncryptTo
    • kms:ReEncrypt*
    Kunci
    GenerateDataKeykms:GenerateDataKeyKunci
    GenerateDataKeyWithoutPlaintextkms:GenerateDataKeyWithoutPlaintextKunci
    ExportDataKeykms:ExportDataKeyKunci
    GenerateAndExportDataKeykms:GenerateAndExportDataKeyKunci
    AsymmetricSignkms:AsymmetricSignKunci
    AsymmetricVerifykms:AsymmetricVerifyKunci
    AsymmetricEncryptkms:AsymmetricEncryptKunci
    AsymmetricDecryptkms:AsymmetricDecryptKunci
    GetPublicKeykms:GetPublicKeyKunci
  • Operasi API Secrets Manager
    OperasiTindakanJenis sumber daya
    CreateSecretkms:CreateSecretWadah rahasia
    ListSecretskms:ListSecretsWadah rahasia
    DescribeSecretkms:DescribeSecretRahasia
    DeleteSecretkms:DeleteSecretRahasia
    UpdateSecretkms:UpdateSecretRahasia
    RestoreSecretkms:RestoreSecretRahasia
    GetSecretValue
    • kms:GetSecretValue
    • kms:Decrypt
    Catatan Izin pada kms:Decrypt hanya diperlukan ketika CMK yang dikelola sendiri ditentukan sebagai kunci enkripsi untuk rahasia generik.
    Rahasia
    PutSecretValue
    • kms:PutSecretValue
    • kms:GenerateDataKey
    Catatan Izin pada kms:GenerateDataKey hanya diperlukan ketika CMK yang dikelola sendiri ditentukan sebagai kunci enkripsi untuk rahasia generik.
    Rahasia
    ListSecretVersionIdskms:ListSecretVersionIdsRahasia
    UpdateSecretVersionStagekms:UpdateSecretVersionStageRahasia
    GetRandomPasswordkms:GetRandomPasswordTidak ada
  • Operasi API Certificates Manager
    OperasiTindakanJenis sumber daya
    CreateCertificatekms:CreateCertificateSertifikat
    UploadCertificatekms:UploadCertificateSertifikat
    GetCertificatekms:GetCertificateSertifikat
    DescribeCertificatekms:DescribeCertificateSertifikat
    UpdateCertificateStatuekms:UpdateCertificateStatueSertifikat
    DeleteCertificatekms:DeleteCertificateSertifikat
    CertificatePrivateKeySignkms:CertificatePrivateKeySignSertifikat
    CertificatePublicKeyVerifykms:CertificatePublicKeyVerifySertifikat
    CertificatePublicKeyEncryptkms:CertificatePublicKeyEncryptSertifikat
    CertificatePrivateKeyDecryptkms:CertificatePrivateKeyDecryptSertifikat
  • Operasi API manajemen tag
    OperasiTindakanJenis sumber daya
    ListResourceTagskms:ListResourceTagsKunci atau rahasia
    UntagResourcekms:UntagResourceKunci atau rahasia
    TagResourcekms:TagResourceKunci atau rahasia

Kondisi kebijakan di KMS

Anda dapat menambahkan kondisi dalam kebijakan RAM untuk mengontrol akses ke KMS. Otentikasi RAM berhasil hanya jika kondisi yang ditambahkan terpenuhi. Sebagai contoh, Anda dapat menambahkan kondisi acs:CurrentTime untuk mengontrol periode selama kebijakan RAM valid.

Selain kondisi global, Anda dapat menggunakan tag sebagai filter untuk membatasi penggunaan operasi API kriptografi, seperti Encrypt, Decrypt, dan GenerateDataKey. Filter harus dalam format kms:tag/<tag-key>.

Untuk informasi lebih lanjut, lihat Elemen-elemen Dasar Kebijakan.

Contoh-contoh kebijakan RAM

  • Kebijakan RAM yang mengizinkan pengguna untuk mengakses semua sumber daya KMS
    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:*"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }               
  • Kebijakan RAM yang hanya mengizinkan pengguna untuk mencantumkan dan menanyakan kunci, melihat alias, serta menggunakan kunci
    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:List*", "kms:Describe*",
            "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }             
  • Kebijakan RAM yang mengizinkan pengguna untuk menggunakan kunci yang berisi tag berikut untuk melakukan operasi kriptografi:
    • Kunci tag: Project
    • Nilai tag: Apollo
    {
        "Version": "1",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "kms:Encrypt", "kms:Decrypt", "kms:GenerateDataKey"
                ],
                "Resource": [
                    "*"
                ],
                "Condition": {
                    "StringEqualsIgnoreCase": {
                        "kms:tag/Project": [
                            "Apollo"
                        ]
                    }
                }
            }
        ]
    }               
  • Kebijakan RAM yang mengizinkan pengguna untuk mengakses kunci dari alamat IP berikut:
    • Blok CIDR: 192.168.0.0/16
    • 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"
            ]
          }
        }
      }]
    }
  • Kebijakan RAM yang hanya mengizinkan pengguna untuk menanyakan rahasia, menanyakan versi dan isi rahasia, serta menghasilkan kata sandi acak
    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:List*", "kms:Describe*",
            "kms:GetSecretValue", "kms:Decrypt", "kms:GetRandomPassword"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }         
  • Kebijakan RAM yang hanya mengizinkan pengguna untuk menanyakan detail tentang sertifikat
    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
              "kms:List*",
            "kms:Describe*",
            "kms:Get*"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }
  • Kebijakan RAM yang mengizinkan pengguna untuk menghasilkan dan memverifikasi tanda tangan digital dengan menggunakan sertifikat tertentu
    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "kms:CertificatePrivateKeySign",
            "kms:CertificatePublicKeyVerify"
          ],
          "Resource": [
            "*"
          ]
        }
      ]
    }