ALIYUN::RAM::ManagedPolicy

ALIYUN::RAM::ManagedPolicy类型用于创建RAM管理策略。

语法

{
  "Type": "ALIYUN::RAM::ManagedPolicy",
  "Properties": {
    "PolicyName": String,
    "Description": String,
    "Roles": List,
    "PolicyDocumentUnchecked": Map,
    "PolicyDocument": Map,
    "Groups": List,
    "Users": List,
    "IgnoreExisting": Boolean
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

PolicyName

String

策略名称。

最长为128个字符。

Description

String

策略描述。

最长为1024个字符。

PolicyDocument

Map

策略详细定义。

更多信息,请参见PolicyDocument属性

Users

List

适用此策略的用户。

Groups

List

适用此策略的用户组。

Roles

List

适用此策略的角色。

PolicyDocumentUnchecked

Map

描述允许在哪些资源上执行哪些操作的策略文档。

如果指定该参数,PolicyDocument将被忽略。

IgnoreExisting

Boolean

是否忽略现有策略。

取值:

  • true:ROS不会检查唯一性。如果存在相同名称的策略,则忽略策略创建过程。如果策略不是由ROS创建的,它将在更新和删除阶段被忽略。 

  • false:ROS将执行唯一性检查。如果存在具有相同名称的策略,则在创建该策略时将报告错误。

PolicyDocument语法

"PolicyDocument": {
  "Version": String,
  "Statement": List
}

PolicyDocument属性

属性名称

类型

必须

允许更新

描述

约束

Version

String

策略版本。

Statement

List

策略具体规则。

更多信息,请参见Statement属性

Statement语法

"Statement": [
  {
    "Condition": Map,
    "Action": List,
    "Resource": List,
    "Effect": String
  }
]

Statement属性

属性名称

类型

必须

允许更新

描述

约束

Condition

Map

授权生效的限制条件。

Action

List

权限策略针对的具体操作。

Resource

List

权限策略针对的具体资源。

Effect

String

授权效力。

取值:

  • Allow:允许。

  • Deny:拒绝。

返回值

Fn::GetAtt

PolicyName:策略名称。

示例

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Description: Test RAM ManagedPolicy
Parameters:
  User:
    Type: String
    AssociationProperty: ALIYUN::RAM::User
Resources:
  ManagePolicy:
    Type: ALIYUN::RAM::ManagedPolicy
    Properties:
      PolicyName: TestPolicy
      PolicyDocument:
        Version: '1'
        Statement:
          - Action:
              - '*'
            Resource:
              - '*'
            Effect: Allow
      Users:
        - Ref: User
Outputs: {}

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test RAM ManagedPolicy",
  "Parameters": {
    "User": {
      "Type": "String",
      "AssociationProperty": "ALIYUN::RAM::User"
    }
  },
  "Resources": {
    "ManagePolicy": {
      "Type": "ALIYUN::RAM::ManagedPolicy",
      "Properties": {
        "PolicyName": "TestPolicy",
        "PolicyDocument": {
          "Version": "1",
          "Statement": [
            {
              "Action": [
                "*"
              ],
              "Resource": [
                "*"
              ],
              "Effect": "Allow"
            }
          ]
        },
        "Users": [
          {
            "Ref": "User"
          }
        ]
      }
    }
  },
  "Outputs": {
  }
}