新建策略

最近更新时间:2017-12-21 21:18:00

新建策略(CreatePolicy)

描述

为主账户新建自定义策略

注1:策略是授权文档,其属主是金山云账户(即主账户),通过AttachUserPolicy操作将策略中描述的权限授予相应的IAM用户,被授权的用户在访问openAPI或者控制台时会受到策略中所描述的权限的制约。

注2:除了账户自己创建的自定义策略外,IAM系统还为每个主账户提供内置的全局系统策略,全局系统策略不能被账户更改,但可以被所有账户使用,自定义策略可以与系统策略同名(因为PolicyKrn是不同的)。

注3:PolicyId是IAM系统内部唯一标识一个策略的Id,22字符。

返回API概览

请求参数

名称 类型 必须 长度限制(字符) 参数格式 描述
Action String 确定值 [a-zA-Z]+ 操作接口名,系统规定参数,取值:CreatePolicy
Description String 最短0,最长1000 中英文可见字符 可选参数,策略描述-用自然语言说明定义在策略中的权限,策略描述设定后不可改变,支持中文字符
Path String 最短1,最长512 / 可选参数,策略的路径,如果未传入则默认值是/
PolicyName String 最短1,最长128 [\w+=,.@-]+ 待创建策略的策略名称
PolicyDocument String 最短1,最长5K [\w\s:"*{}[]/$-]+ 待创建的自定义策略的策略文档内容

返回元素(调用成功)

名称 类型 描述
Policy PolicyType 新创建策略的元数据信息

错误码(调用不成功)

错误代码(Code) 错误消息(Message) HTTP 状态码 中文描述(语义)
InvalidParameterValue An value must be supplied for the input parameter %s. 400 输入参数%s的值不能为空,具体参数名在%s说明
InvalidParameterValue An invalid or out-of-range value was supplied for the input parameter %s. 400 输入参数 %s的值无效、不合法或者超出范围,具体参数名在%s说明
PolicyAlreadyExists The request was rejected because it attempted to create a policy that already exists 409 请求被拒绝,因待创建策略已经存在
PolicyLimitExceeded The request was rejected because it attempted to create policy beyond the current KSC account limits. 409 请求被拒绝,因其创建的策略数量超过当前账户限制(Policy数量限制50)
PolicyDocumentNotJsonFormat The 'PolicyDocument' is not json format. 400 策略文档不是Json格式
PolicyDocumentInvalidVersion The 'Verion' in 'PolicyDocument' is invalid. 400 策略文档中的Version元素无效
PolicyDocumentInvalidStatement The 'Statement' in 'PolicyDocument' is invalid. 400 策略文档中的Statement元素无效
PolicyDocumentInvalidEffect The 'Effect' in 'PolicyDocument' is invalid. 400 策略文档中的Effect元素无效
PolicyDocumentInvalidResource The 'Resource' in 'PolicyDocument' is invalid. 400 策略文档中的Resource元素无效
PolicyDocumentInvalidAction The 'Action' in 'PolicyDocument' is invalid. 400 策略文档中的Action元素无效

示例(调用成功)

请求示例
https://iam.api.ksyun.com/?Action=CreatePolicy
&PolicyDocument={"Version":"2015-11-01","Statement":[{"Effect":"Allow","Action":"iam:*",
"Resource":"*"}]}
&PolicyName=IAMadmin
&公共请求参数
返回示例
  • XML格式
<CreatePolicyResponse>
    <CreatePolicyResult>
        <Policy>
            <PolicyId>ZRE0yXBkTx2juWlJT-htWg</PolicyId>
            <DefaultVersionId>v1</DefaultVersionId>
            <UpdateDate>2016-05-16T17:28:54.017Z</UpdateDate>
            <AttachmentCount>0</AttachmentCount>
            <Description/>
            <Path>/</Path>
            <CreateDate>2016-05-16T17:28:54.017Z</CreateDate>
            <Krn>krn:ksc:iam::73407420:policy/IAMadmin</Krn>
            <PolicyName>IAMadmin</PolicyName>
        </Policy>
    </CreatePolicyResult>
    <ResponseMetadata>
        <RequestId>ff3ddb15-8e5b-4c23-be4b-391a997d1bad</RequestId>
    </ResponseMetadata>
</CreatePolicyResponse>
  • JSON示例
{
  "CreatePolicyResult": {
    "Policy": {
      "PolicyId": "Mh2OG6bfSvCO7kBXf_gnXg",
      "DefaultVersionId": "v1",
      "UpdateDate": "2016-05-16T17:31:00.765Z",
      "AttachmentCount": "0",
      "Path": "/",
      "CreateDate": "2016-05-16T17:31:00.765Z",
      "Krn": "krn:ksc:iam::73407420:policy/IAMadmin1",
      "PolicyName": "IAMadmin1"
    }
  },
  "ResponseMetadata": {
    "RequestId": "85ee9446-32ee-4f9e-a3c2-b8f74f3f9686"
  }
}

金山云,开启您的云计算之旅

注册有礼