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
  }
]            

Policies属性

属性名称 类型 必须 允许更新 描述 约束
Description String 描述。 长度为1~1024个字符。
PolicyName String 权限策略名称。 长度为1~128个字符,可包含英文字母、数字和短划线(-)。
PolicyDocument Map 权限策略内容。 长度不超过2048个字符。

更多信息,请参见PolicyDocument属性

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用户最后登录时间。

示例

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test RAM User、Group、AttachPolicyToUser、UserToGroupAddition",
  "Parameters": {
    "UserName": {
      "Type": "String",
      "Description": "The maximum length is 64 characters, English letters, numbers, ., _ or - are allowed."
    },
    "GroupName": {
      "Type": "String",
      "Description": "The maximum length is 64 characters, English letters, numbers, ., _ or - are allowed."
    }
  },
  "Resources": {
    "User": {
      "Type": "ALIYUN::RAM::User",
      "Properties": {
        "UserName": {
          "Ref": "UserName"
        }
      }
    },
    "Group": {
      "Type": "ALIYUN::RAM::Group",
      "Properties": {
        "GroupName": {
          "Ref": "GroupName"
        },
        "Comments": "test group",
        "Policies": [
          {
            "PolicyName": {
              "Fn::Sub": "GroupPolicy-${ALIYUN::StackId}"
            },
            "PolicyDocument": {
              "Version": "1",
              "Statement": [
                {
                  "Action": [
                    "oss:Get*"
                  ],
                  "Resource": [
                    "*"
                  ],
                  "Effect": "Allow"
                }
              ]
            }
          }
        ]
      }
    },
    "AttachPolicyToUser": {
      "Type": "ALIYUN::RAM::AttachPolicyToUser",
      "Properties": {
        "PolicyType": "System",
        "UserName": {
          "Fn::GetAtt": [
            "User",
            "UserName"
          ]
        },
        "PolicyName": "AliyunECSReadOnlyAccess"
      }
    },
    "UserToGroupAddition": {
      "Type": "ALIYUN::RAM::UserToGroupAddition",
      "Properties": {
        "GroupName": {
          "Fn::GetAtt": [
            "Group",
            "GroupName"
          ]
        },
        "Users": [
          {
            "Fn::GetAtt": [
              "User",
              "UserName"
            ]
          }
        ]
      }
    }
  },
  "Outputs": {
    "GroupName": {
      "Value": {
        "Fn::GetAtt": [
          "Group",
          "GroupName"
        ]
      }
    },
    "UserName": {
      "Description": "Name of ram user.",
      "Value": {
        "Fn::GetAtt": [
          "User",
          "UserName"
        ]
      }
    },
    "CreateDate": {
      "Description": "Create date of ram user.",
      "Value": {
        "Fn::GetAtt": [
          "User",
          "CreateDate"
        ]
      }
    },
    "UserId": {
      "Description": "Id of ram user.",
      "Value": {
        "Fn::GetAtt": [
          "User",
          "UserId"
        ]
      }
    },
    "LastLoginDate": {
      "Description": "Last login date of ram user.",
      "Value": {
        "Fn::GetAtt": [
          "User",
          "LastLoginDate"
        ]
      }
    }
  }
}

更多示例,请参见创建RAM用户、创建RAM用户组、为指定RAM用户添加权限和添加RAM用户到用户组的组合示例:JSON示例YAML示例