全部產品
Search
文件中心

Key Management Service:SetKeyPolicy - 設定密鑰策略

更新時間:Jul 29, 2025

為KMS執行個體中的密鑰設定密鑰策略。

介面說明

  • RAM 使用者或 RAM 角色調用該 OpenAPI 需要被授與權限策略詳情,請參見存取控制

  • 關於密鑰策略的詳細介紹,請參見密鑰策略概述

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

當前API暫無授權資訊透出。

請求參數

名稱

類型

必填

描述

樣本值

KeyId

string

金鑰識別碼 或密鑰資源名稱(ARN)。

說明

訪問其他阿里雲帳號下的密鑰時,必須輸入密鑰 ARN。密鑰 ARN 的格式為acs:kms:${region}:${account}:key/${keyid}

key-hzz630494463ejqjx****

PolicyName

string

密鑰策略名稱稱。僅支援固定取值 default。

default

Policy

string

密鑰策略的具體內容,JSON 格式。最大長度為 32768 個位元組。

密鑰策略內容包含:

  • Version:密鑰策略的版本,目前版本僅支援設定為 1。

  • Statement:密鑰策略的語句,每個密鑰策略包含一個或多個語句。

密鑰策略格式為:

{
    "Version": "1",
    "Statement": [
        {
            "Sid": "Enable RAM User Permissions",
            "Effect": "Allow",
            "Principal": {
              "RAM": ["acs:ram::112890462****:*"]
            },
            "Action": [
                "kms:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

Statement 詳細介紹:

  • Sid:可選,表示自訂的語句標識符。內容長度小於等於 128 字元,支援的字元為:大寫英文字母(A-Z)、小寫英文字母(a-z)、數字(0-9),特殊字元( _/+=.@-)。

  • Effect:必選,表示是允許還是拒絕該策略語句中的許可權。取值為:Allow 或 Deny。

  • Principal:必選,表示權限原則的授權主體,支援設定為當前阿里雲帳號(即密鑰所屬的阿里雲帳號),當前阿里雲帳號下的 RAM 使用者、RAM 角色,其他阿里雲帳號下的 RAM 使用者、RAM 角色。

  • Action:必選,表示要允許或拒絕的 API 操作,內容必須以"kms:"開頭。操作許可權列表的範圍,請參見密鑰策略概述。如果您設定了列表外的操作,設定後也不會生效。

  • Resource:必選,取值只能是*,表示本 KMS 密鑰。

  • Condition:可選,表示授權生效的限制條件。通過使用條件可以評估 API 請求的上下文,以確定策略語句是否適用。格式為"Condition": {"condition operator": {"condition key": "condition value"}}。詳細介紹,請參見密鑰策略概述

說明

授權給其他阿里雲帳號下的 RAM 使用者、RAM 角色後,您仍需在存取控制 RAM 側,使用該 RAM 使用者、RAM 角色的阿里雲帳號為其授權使用該密鑰,RAM 使用者、RAM 角色才能使用該密鑰。具體操作,請參見Key Management Service自訂權限原則參考為 RAM 使用者授權為 RAM 角色授權

{"Statement":[{"Action":["kms:*"],"Effect":"Allow","Principal":{"RAM":["acs:ram::119285303511****:*"]},"Resource":["*"],"Sid":"kms default key policy"},{"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/for_test_policy"]},"Resource":["*"]}],"Version":"1"}

返回參數

名稱

類型

描述

樣本值

object

RequestId

string

本次調用請求的 ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。

381D5D33-BB8F-395F-8EE4-AE3BB4B523C8

樣本

正常返回樣本

JSON格式

{
  "RequestId": "381D5D33-BB8F-395F-8EE4-AE3BB4B523C8"
}

錯誤碼

HTTP status code

錯誤碼

錯誤資訊

描述

400 MissingParameter The parameter needed but no provided. 需要的參數未提供
400 InvalidParameter The specified parameter is not valid. 參數非法。
400 Forbidden.NoPermission This operation is forbidden by permission system. 該操作無許可權
400 Forbidden.KeyPolicyUnSupported The specified key does not support key policy. 指定的密鑰不支援通行金鑰策略。
400 Rejected.ShareQuotaExceedLimit Instance Share Quota Exceed Limit. 執行個體份額配額超過限制。
500 InternalFailure Internal Failure 內部錯誤
403 Forbidden.DKMSInstanceStateInvalid The DKMS instance state is invalid. 您的專屬KMS狀態為無效狀態。
404 Forbidden.KeyNotFound The specified Key is not found. 指定的密鑰不存在。
404 Forbidden.ResourceNotFound Policy not found. 策略找不到。

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情