建立一個權限原則,設定允許應用訪問的密鑰和憑據。
使用說明
自建應用進行密碼運算操作、擷取憑據值前,需要通過應用身份憑證(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"] | 權限原則支援的操作。取值:
支援同時選擇這兩種操作。 |
| Resources | String | 是 | ["secret/acs/ram/user/ram-secret", "secret/acs/ram/user/acr-master", "key/key-hzz63d9c8d3dfv8cv****"] | 允許訪問的密鑰和憑據。
|
| 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****"] | 允許訪問的密鑰和憑據。
|
| 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不存在 |
訪問錯誤中心查看更多錯誤碼。