为KMS实例中的密钥设置密钥策略。
关于密钥策略的详细介绍,请参见密钥策略概述。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
请求参数
名称 |
类型 |
是否必选 |
示例值 |
描述 |
Action | String | 是 | SetKeyPolicy | 要执行的操作。取值:SetKeyPolicy。 |
KeyId | String | 是 | key-hzz630494463ejqjx**** | 密钥ID或密钥资源名称(ARN)。 说明 访问其他阿里云账号下的密钥时,必须输入密钥ARN。密钥ARN的格式为 acs:kms:${region}:${account}:key/${keyid} 。 |
PolicyName | String | 否 | default | 密钥策略名称。仅支持固定取值default。 |
Policy | String | 是 | {"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"} | 密钥策略的具体内容,JSON格式。最大长度为32768个字节。 密钥策略内容包含:
密钥策略格式为:
Statement详细介绍:
说明 授权给其他阿里云账号下的RAM用户、RAM角色后,您仍需在访问控制RAM侧,使用该RAM用户、RAM角色的阿里云账号为其授权使用该密钥,RAM用户、RAM角色才能使用该密钥。具体操作,请参见密钥管理服务自定义权限策略参考、为RAM用户授权、为RAM角色授权。 |
返回数据
名称 |
类型 |
示例值 |
描述 |
RequestId | String | 381D5D33-BB8F-395F-8EE4-AE3BB4B523C8 | 本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。 |
示例
请求示例
http(s)://[Endpoint]/?Action=SetKeyPolicy
&KeyId=key-hzz630494463ejqjx****
&PolicyName=default
&Policy={"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"}
&公共请求参数
正常返回示例
XML
格式
HTTP/1.1 200 OK
Content-Type:application/xml
<SetKeyPolicyResponse>
<RequestId>381D5D33-BB8F-395F-8EE4-AE3BB4B523C8</RequestId>
</SetKeyPolicyResponse>
JSON
格式
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "381D5D33-BB8F-395F-8EE4-AE3BB4B523C8"
}
错误码
HttpCode |
错误码 |
错误信息 |
描述 |
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. | 实例份额配额超过限制。 |
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. | 策略找不到。 |
500 | InternalFailure | Internal Failure | 内部错误 |
访问错误中心查看更多错误码。
文档内容是否对您有帮助?