ALIYUN::RAM::Group

ALIYUN::RAM::Group类型用于创建RAM用户组。

语法

{
  "Type": "ALIYUN::RAM::Group",
  "Properties": {
    "GroupName": String,
    "Comments": String,
    "Policies": List,
    "PolicyAttachments": Map,
    "DeletionForce": Boolean,
    "IgnoreExisting": Boolean
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

GroupName

String

用户组名称。

长度为1~64个字符,可包含英文字母、数字和短划线(-)。

Comments

String

备注信息。

长度为1~128个字符。

Policies

List

权限策略。

更多信息,请参见Policies属性

PolicyAttachments

Map

要添加的系统和自定义策略名称。

更多信息,请参见PolicyAttachments属性

DeletionForce

Boolean

是否强制解绑RAM用户组的策略。

取值:

  • true:强制解绑。

  • false(默认值):不强制解绑。

IgnoreExisting

Boolean

是否忽略现有组。 

取值:

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

  • false:ROS将执行唯一性检查。如果存在同名的组,则创建时将报告错误。 

Policies语法

"Policies": [
  {
    "Description": String,
    "PolicyName": String,
    "PolicyDocument": Map,
    "IgnoreExisting": Boolean
  }
]

Policies属性

属性名称

类型

必须

允许更新

描述

约束

Description

String

描述。

长度为1~1024个字符。

PolicyName

String

权限策略名称。

长度为1~128个字符,可包含英文字母、数字和短划线(-)。

PolicyDocument

Map

权限策略内容。

长度不超过2048个字符。

关于权限策略元素和示例,请参见权限策略基本元素权限策略示例库概览

更多信息,请参见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:拒绝。

PolicyAttachments语法

"PolicyAttachments": {
  "System": List,
  "Custom": List
}

PolicyAttachments属性

属性名称

类型

必须

允许更新

描述

约束

Custom

List

自定义策略名称列表。

策略数量小于等于5。

System

List

系统策略名称列表。

策略数量小于等于20。

返回值

Fn::GetAtt

GroupName:RAM用户组名称。

示例

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
  Group:
    Type: ALIYUN::RAM::Group
    Properties:
      GroupName: TestGroup
      Policies:
        - PolicyName:
            Fn::Sub: GroupPolicy-${ALIYUN::StackId}
          PolicyDocument:
            Version: '1'
            Statement:
              - Action:
                  - oss:Get*
                Resource:
                  - '*'
                Effect: Allow
Outputs:
  GroupName:
    Description: Id of ram group.
    Value:
      Fn::GetAtt:
        - Group
        - GroupName

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
  },
  "Resources": {
    "Group": {
      "Type": "ALIYUN::RAM::Group",
      "Properties": {
        "GroupName": "TestGroup",
        "Policies": [
          {
            "PolicyName": {
              "Fn::Sub": "GroupPolicy-${ALIYUN::StackId}"
            },
            "PolicyDocument": {
              "Version": "1",
              "Statement": [
                {
                  "Action": [
                    "oss:Get*"
                  ],
                  "Resource": [
                    "*"
                  ],
                  "Effect": "Allow"
                }
              ]
            }
          }
        ]
      }
    }
  },
  "Outputs": {
    "GroupName": {
      "Description": "Id of ram group.",
      "Value": {
        "Fn::GetAtt": [
          "Group",
          "GroupName"
        ]
      }
    }
  }
}