全部產品
Search
文件中心

:CreatePolicy

更新時間:Jan 23, 2025

建立一個權限原則,設定允許應用訪問的密鑰和憑據。

使用說明

自建應用進行密碼運算操作、擷取憑據值前,需要通過應用身份憑證(ClientKey)訪問KMS執行個體。建立應用存取點AAP和身份憑證(ClientKey)的整體流程如下:

1. 建立網路控制規則:設定允許訪問KMS的私網IP或私網網段。更多資訊,請參見CreateNetworkRule

2. 建立權限原則:設定允許應用訪問的密鑰和憑據,並綁定網路控制規則。即本文介紹的內容。

3. 建立應用存取點:設定認證方式,並綁定權限原則。更多資訊,請參見CreateApplicationAccessPoint

4. 建立應用身份憑證(ClientKey):設定ClientKey的加密口令、有效期間,並綁定應用存取點。更多資訊,請參見CreateClientKey

調試

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

請求參數

名稱

類型

是否必選

樣本值

描述

Action String CreatePolicy

要執行的操作。取值:CreatePolicy

Name String policy_test

權限原則名稱。

Description String policy description

描述資訊。

KmsInstance String kst-hzz634e67d126u9p9****

權限原則的範圍。即要訪問的KMS執行個體。

Permissions String ["RbacPermission/Template/CryptoServiceKeyUser", "RbacPermission/Template/CryptoServiceSecretUser"]

權限原則支援的操作。取值:

  • RbacPermission/Template/CryptoServiceKeyUser:可以對KMS執行個體進行密碼運算操作。
  • RbacPermission/Template/CryptoServiceSecretUser:可以對KMS執行個體進行憑據相關操作。

支援同時選擇這兩種操作。

Resources String ["secret/acs/ram/user/ram-secret", "secret/acs/ram/user/acr-master", "key/key-hzz63d9c8d3dfv8cv****"]

允許訪問的密鑰和憑據。

  • 密鑰:格式為key/${KeyId},如果允許訪問當前KMS執行個體的所有密鑰請輸入key/*。
  • 憑據:格式為secret/${SecretName},如果允許訪問當前KMS執行個體的所有憑據請輸入secret/*。
AccessControlRules Map {"NetworkRules":["kst-hzz62ee817bvyyr5x****.efkd","kst-hzz62ee817bvyyr5x****.eyyp"]}

網路控制規則名稱。

說明 查詢已建立的網路控制規則,請參見ListNetworkRules

返回資料

名稱

類型

樣本值

描述

RequestId String 3bf02f7a-015b-4f34-be0f-c4543fda2d33

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

Arn String acs:kms:cn-hangzhou:119285303511****:policy/policy_test

權限原則的ARN。

Name String policy_test

權限原則名稱。

Description String policy description

描述資訊。

KmsInstance String kst-hzz634e67d126u9p9****

權限原則的範圍。

Permissions String ["RbacPermission/Template/CryptoServiceKeyUser", "RbacPermission/Template/CryptoServiceSecretUser"]

權限原則支援的操作。

Resources String ["secret/acs/ram/user/ram-secret", "secret/acs/ram/user/acr-master", "key/key-hzz63d9c8d3dfv8cv****"]

允許訪問的密鑰和憑據。

  • key/*表示允許訪問當前KMS執行個體的所有密鑰。
  • secret/*表示允許訪問當前KMS執行個體的所有憑據。
AccessControlRules String {"NetworkRules":["kst-hzz62ee817bvyyr5x****.efkd","kst-hzz62ee817bvyyr5x****.eyyp"]}

網路控制規則名稱。

樣本

請求樣本

http(s)://[Endpoint]/?Action=CreatePolicy
&Name=policy_test
&Description=policy  description
&KmsInstance=kst-hzz634e67d126u9p9****
&Permissions=["RbacPermission/Template/CryptoServiceKeyUser", "RbacPermission/Template/CryptoServiceSecretUser"]
&Resources=["secret/acs/ram/user/ram-secret", "secret/acs/ram/user/acr-master", "key/key-hzz63d9c8d3dfv8cv****"]
&公用請求參數

正常返回樣本

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<CreatePolicyResponse>
    <RequestId>3bf02f7a-015b-4f34-be0f-c4543fda2d33</RequestId>
    <Arn>acs:kms:cn-hangzhou:119285303511****:policy/policy_test</Arn>
    <Name>policy_test</Name>
    <Description>policy  description</Description>
    <KmsInstance>kst-hzz634e67d126u9p9****</KmsInstance>
    <Permissions>["RbacPermission/Template/CryptoServiceKeyUser", "RbacPermission/Template/CryptoServiceSecretUser"]</Permissions>
    <Resources>["secret/acs/ram/user/ram-secret", "secret/acs/ram/user/acr-master", "key/key-hzz63d9c8d3dfv8cv****"]</Resources>
    <AccessControlRules>{"NetworkRules":["kst-hzz62ee817bvyyr5x****.efkd","kst-hzz62ee817bvyyr5x****.eyyp"]}</AccessControlRules>
</CreatePolicyResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "RequestId" : "3bf02f7a-015b-4f34-be0f-c4543fda2d33",
  "Arn" : "acs:kms:cn-hangzhou:119285303511****:policy/policy_test",
  "Name" : "policy_test",
  "Description" : "policy  description",
  "KmsInstance" : "kst-hzz634e67d126u9p9****",
  "Permissions" : "[\"RbacPermission/Template/CryptoServiceKeyUser\", \"RbacPermission/Template/CryptoServiceSecretUser\"]",
  "Resources" : "[\"secret/acs/ram/user/ram-secret\", \"secret/acs/ram/user/acr-master\", \"key/key-hzz63d9c8d3dfv8cv****\"]",
  "AccessControlRules" : "{\"NetworkRules\":[\"kst-hzz62ee817bvyyr5x****.efkd\",\"kst-hzz62ee817bvyyr5x****.eyyp\"]}"
}

錯誤碼

HttpCode

錯誤碼

錯誤資訊

描述

400 InvalidParameter The specified parameter is not valid. 參數非法。
404 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records. 提供的 Access Key ID不存在

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