全部產品
Search
文件中心

Key Management Service:設定密鑰策略

更新時間:Dec 27, 2024

您可以在密鑰策略中添加或刪除RAM使用者、RAM角色,以設定密鑰的管理員和使用者。本文介紹如何設定密鑰策略。

注意事項

  • 僅KMS執行個體中的密鑰支援通行金鑰策略。您可以在建立密鑰時設定密鑰策略,也可以在建立後進行設定。建立時設定,請參見建立密鑰。本文介紹建立後如何設定。

  • 密鑰策略的內容長度不超過32768個位元組,且為JSON格式。

  • 通過控制台設定密鑰策略時,可以選擇使用預設策略、設定RAM使用者或角色為管理員和使用者、以及設定其他帳號使用者。如果您需要對密鑰進行更精細化的原則設定,例如只允許使用者執行加解密操作,可以通過OpenAPI設定密鑰策略。

    密鑰策略中可以設定的巨集指令清單如下,如果您設定了列表外的操作,設定後也不會生效。

     "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"
                    "kms:Encrypt",
                    "kms:Decrypt",
                    "kms:GenerateDataKey",
                    "kms:GenerateAndExportDataKey",
                    "kms:AsymmetricEncrypt",
                    "kms:AsymmetricDecrypt",
                    "kms:DescribeKey",
                    "kms:DescribeKeyVersion",
                    "kms:ListKeyVersions",
                    "kms:ListAliasesByKeyId",
                    "kms:TagResource"
                ]
  • 如果您想允許其他阿里雲帳號下的RAM使用者、RAM角色使用密鑰,不僅需要在KMS側設定密鑰策略允許其使用密鑰,同時還要在RAM側,使用該RAM使用者、RAM角色的阿里雲帳號設定權限原則允許其使用密鑰。具體操作,請參見Key Management Service自訂權限原則參考為RAM使用者授權為RAM角色授權

前提條件

已在KMS執行個體中建立了軟體密鑰或硬體密鑰。具體操作,請參見建立密鑰

通過控制台設定

  1. 登入Key Management Service控制台,在頂部功能表列選擇地區後,在左側導覽列單擊资源 > 密钥管理

  2. 用户主密钥頁簽,定位到您的目標密鑰,單擊密鑰ID或操作列的详情

  3. 在詳情頁面下方的密钥策略地區,單擊设置密钥策略,完成設定後單擊確定

    您可以為密鑰設定管理員、使用者、其他帳號使用者。

    • 管理員:對密鑰進行管控類操作,不支援密碼運算操作。支援選擇當前主帳號下的RAM使用者和RAM角色。

      設定密鑰管理員

      樣本表示允許RAM使用者(key_ramuser1)、RAM角色(key_ramrole1)作為管理員管理密鑰。

              {
                  "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",
                          "acs:ram::119285303511****:role/key_ramrole1"
                      ]
                  },
                  "Resource": [
                      "*"
                  ]
              }
    • 使用者:僅支援使用密鑰進行密碼運算操作。支援選擇當前主帳號下的RAM使用者和RAM角色。

      設定密鑰使用者

      樣本表示允許RAM使用者(key_ramuser2)、RAM角色(key_ramrole2)使用密鑰進行密碼運算操作。

              {
                  "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::119285303511****:role/key_ramrole2"
                      ]
                  },
                  "Resource": [
                      "*"
                  ]
              }
    • 其他帳號使用者:使用密鑰進行密碼運算操作,可以是其他阿里雲帳號的RAM使用者或RAM角色。

      重要

      如果您授權給其他阿里雲帳號下的RAM使用者、RAM角色,會消耗KMS執行個體的訪問管理數量配額,按阿里雲帳號個數計算消耗的配額。如果您後續取消了授權,請等待約5分鐘再查看配額,配額會返還。

      • RAM使用者:格式為acs:ram::<userId>:user/<ramuser>,例如acs:ram::119285303511****:user/testpolicyuser

      • RAM角色:格式為acs:ram::<userId>:role/<ramrole>,例如acs:ram::119285303511****:role/testpolicyrole

      設定其他帳號使用者

      樣本表示允許其他阿里雲帳號(190325303126****)的RAM使用者(key_ramuser3)使用密鑰進行密碼運算操作。

              {
                  "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::190325303126****:user/key_ramuser3"
                      ]
                  },
                  "Resource": [
                      "*"
                  ]
              }