CreatePolicy - 创建访问策略

创建一个权限策略,设置允许应用访问的密钥和凭据。

接口说明

  • RAM 用户或 RAM 角色调用该 OpenAPI 需要被授予的权限策略详情,请参见访问控制

  • 自建应用进行密码运算操作、获取凭据值前,需要通过应用身份凭证(ClientKey)访问 KMS 实例。创建应用接入点 AAP 和身份凭证(ClientKey)的整体流程如下:

    1. 创建网络控制规则:设置允许访问 KMS 的私网 IP 或私网网段。更多信息,请参见 CreateNetworkRule
    2. 创建权限策略:设置允许应用访问的密钥和凭据,并绑定网络控制规则。即本文介绍的内容。
    3. 创建应用接入点:设置认证方式,并绑定权限策略。更多信息,请参见 CreateApplicationAccessPoint
    4. 创建应用身份凭证(ClientKey):设置 ClientKey 的加密口令、有效期,并绑定应用接入点。更多信息,请参见 CreateClientKey

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
Namestring

权限策略名称。

policy_test
Descriptionstring

描述信息。

policy description
KmsInstancestring

权限策略的作用域。即要访问的 KMS 实例。

kst-hzz634e67d126u9p9****
Permissionsstring

权限策略支持的操作。取值:

  • RbacPermission/Template/CryptoServiceKeyUser:可以对 KMS 实例进行密码运算操作。

  • RbacPermission/Template/CryptoServiceSecretUser:可以对 KMS 实例进行凭据相关操作。

支持同时选择这两种操作。

["RbacPermission/Template/CryptoServiceKeyUser", "RbacPermission/Template/CryptoServiceSecretUser"]
Resourcesstring

允许访问的密钥和凭据。

  • 密钥:格式为key/${KeyId},如果允许访问当前 KMS 实例的所有密钥请输入 key/*。

  • 凭据:格式为secret/${SecretName},如果允许访问当前 KMS 实例的所有凭据请输入 secret/*。

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

网络控制规则名称。

说明 查询已创建的网络控制规则,请参见 ListNetworkRules
{"NetworkRules":["kst-hzz62ee817bvyyr5x****.efkd","kst-hzz62ee817bvyyr5x****.eyyp"]}

返回参数

名称类型描述示例值
object
RequestIdstring

本次调用请求的 ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。

3bf02f7a-015b-4f34-be0f-c4543fda2d33
Arnstring

权限策略的 ARN。

acs:kms:cn-hangzhou:119285303511****:policy/policy_test
Namestring

权限策略名称。

policy_test
Descriptionstring

描述信息。

policy description
KmsInstancestring

权限策略的作用域。

kst-hzz634e67d126u9p9****
Permissionsstring

权限策略支持的操作。

["RbacPermission/Template/CryptoServiceKeyUser", "RbacPermission/Template/CryptoServiceSecretUser"]
Resourcesstring

允许访问的密钥和凭据。

  • key/*表示允许访问当前 KMS 实例的所有密钥。

  • secret/*表示允许访问当前 KMS 实例的所有凭据。

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

网络控制规则名称。

{"NetworkRules":["kst-hzz62ee817bvyyr5x****.efkd","kst-hzz62ee817bvyyr5x****.eyyp"]}

示例

正常返回示例

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"
    ]
  }
}

错误码

HTTP status code错误码错误信息描述
400InvalidParameterThe specified parameter is not valid.参数非法。
404InvalidAccessKeyId.NotFoundThe Access Key ID provided does not exist in our records.-

访问错误中心查看更多错误码。