ALIYUN::RAM::User

ALIYUN::RAM::User类型用于创建RAM用户。

语法

{
  "Type": "ALIYUN::RAM::User",
  "Properties": {
    "UserName": String,
    "DisplayName": String,
    "LoginProfile": Map,
    "Groups": List,
    "MobilePhone": String,
    "Email": String,
    "Comments": String,
    "Policies": List,
    "PolicyAttachments": Map,
    "DeletionForce": Boolean
  }
}

属性

属性名称

类型

必须

允许更新

描述

约束

UserName

String

RAM用户的名称。

长度为1~64个字符,可包含英文字母、数字、半角句号(.)、短划线(-)和下划线(_)。

DisplayName

String

RAM用户的显示名称。

长度为1~128个字符。

LoginProfile

Map

RAM用户的登录配置。

更多信息,请参见LoginProfile属性

Groups

List

RAM用户加入的用户组。

MobilePhone

String

RAM用户的手机号码。

Email

String

RAM用户的邮箱。

Comments

String

备注。

长度为1~128个字符。

Policies

List

适用于RAM用户的权限策略。

更多信息,请参见Policies属性

PolicyAttachments

Map

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

更多信息,请参见PolicyAttachments属性

DeletionForce

Boolean

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

取值:

  • true:强制解绑。

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

LoginProfile语法

"LoginProfile": {
  "MFABindRequired": Boolean,
  "Password": String,
  "PasswordResetRequired": Boolean
}            

LoginProfile属性

属性名称

类型

必须

允许更新

描述

约束

MFABindRequired

Boolean

是否强制要求RAM用户开启多因素认证。

取值:

  • true:要求开启。RAM用户在下次登录时必须绑定多因素认证设备。

  • false:不要求开启。

Password

String

RAM用户的控制台登录新密码。

密码必须符合密码强度要求,长度为8~32个字符。

PasswordResetRequired

Boolean

RAM用户在下次登录时是否必须重置密码。

取值:

  • true:必须重置密码。

  • false:无需重置密码。

Policies语法

"Policies": [
  {
    "PolicyName": String,
    "PolicyDocument": Map,
    "Description": String,
    "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": {
  "Custom": List,
  "System": List
}

PolicyAttachments属性

属性名称

类型

必须

允许更新

描述

约束

Custom

List

自定义策略名称列表。

策略数量小于等于5。

System

List

系统策略名称列表。

策略数量小于等于20。

返回值

Fn::GetAtt

  • UserName:RAM用户名称。

  • UserId:RAM用户ID。

  • CreateDate:RAM用户创建时间。

  • LastLoginDate:RAM用户最后登录时间。

示例

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Description: Test RAM User
Parameters: {}
Resources:
  User:
    Type: ALIYUN::RAM::User
    Properties:
      UserName: dev
      Policies:
        - PolicyName:
            Fn::Join:
              - '-'
              - - StackId
                - Ref: ALIYUN::StackId
          PolicyDocument:
            Statement:
              - Action:
                  - oss:*
                Effect: Allow
                Resource:
                  - '*'
            Version: '1'
Outputs: {}

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test RAM User",
  "Parameters": {
  },
  "Resources": {
    "User": {
      "Type": "ALIYUN::RAM::User",
      "Properties": {
        "UserName": "dev",
        "Policies": [
          {
            "PolicyName": {
              "Fn::Join": [
                "-",
                [
                  "StackId",
                  {
                    "Ref": "ALIYUN::StackId"
                  }
                ]
              ]
            },
            "PolicyDocument": {
              "Statement": [
                {
                  "Action": [
                    "oss:*"
                  ],
                  "Effect": "Allow",
                  "Resource": [
                    "*"
                  ]
                }
              ],
              "Version": "1"
            }
          }
        ]
      }
    }
  },
  "Outputs": {
  }
}