全部產品
Search
文件中心

:ALIYUN::RAM::Role

更新時間:Oct 17, 2024

ALIYUN::RAM::Role類型用於建立RAM角色。

文法

{
  "Type": "ALIYUN::RAM::Role",
  "Properties": {
    "RoleName": String,
    "Description": String,
    "AssumeRolePolicyDocument": Map,
    "MaxSessionDuration": Integer,
    "Policies": List,
    "IgnoreExisting": Boolean,
    "DeletionForce": Boolean,
    "PolicyAttachments": Map
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

AssumeRolePolicyDocument

Map

可以扮演此RAM角色的身份。

信任策略。指定允許扮演該 RAM 角色的一個或多個主體,這個主體可以是阿里雲帳號、阿里雲服務或身份供應商。

RoleName

String

RAM角色名稱。

長度為 1~64 個字元,可包含英文字母、數字、半形句號(.)和短劃線(-)。

Description

String

RAM角色描述。

最大長度為1024個字元。

MaxSessionDuration

Integer

RAM角色最大會話時間。

取值範圍:3600秒~43200秒。

預設值:3600秒。

Policies

List

適用RAM角色的策略。

更多資訊,請參見權限原則概覽

IgnoreExisting

Boolean

是否忽略現有角色。

取值:

  • false:ROS將會執行唯一性檢查。如果存在同名的角色,在建立時將報告錯誤。

  • true:ROS將不進行唯一性檢查。如果存在同名角色,角色建立過程將被跳過。

說明

如果角色不是由ROS建立的,在更新和刪除階段將被忽略。

DeletionForce

Boolean

是否強制解除與角色關聯的策略。

預設值為false。

PolicyAttachments

Map

要添加的系統和自訂策略名稱稱。

更多資訊,請參見PolicyAttachments屬性。

AssumeRolePolicyDocument文法

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

AssumeRolePolicyDocument屬性

屬性名稱

類型

必須

允許更新

描述

約束

Version

String

策略版本。

Statement

List

策略具體規則。

更多資訊,請參見Statement屬性。

Statement文法

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

Statement屬性

屬性名稱

類型

必須

允許更新

描述

約束

Condition

Map

限制條件。

Action

String

策略針對的具體操作。

Effect

String

許可權效力。

取值:

  • Allow:允許。

  • Deny:拒絕。

Principal

Map

可信實體類型。

更多資訊,請參見Principal屬性

Principal文法

"Principal": {
  "Service": List,
  "Federated": List,
  "RAM": List
}

Principal屬性

屬性名稱

類型

必須

允許更新

描述

約束

Service

List

阿里雲服務。

Federated

List

身份供應商。

RAM

List

阿里雲帳號。

Policies文法

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

Policies屬性

屬性名稱

類型

必須

允許更新

描述

約束

Description

String

描述。

長度為1~1024個字元。

PolicyName

String

權限原則名稱。

長度為1~128個字元,可包含英文字母、數字和短劃線(-)。

PolicyDocument

Map

權限原則內容。

最大長度為2048個字元。

更多資訊,請參見PolicyDocument屬性

PolicyAttachments文法

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

PolicyAttachments屬性

屬性名稱

類型

必須

允許更新

描述

約束

Custom

List

自訂策略名稱稱列表。

策略數量小於等於5。

System

List

系統策略名稱稱列表。

策略數量小於等於20。

PolicyDocument文法

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

PolicyDocument屬性

屬性名稱

類型

必須

允許更新

描述

約束

Version

String

權限原則版本。

Statement

List

權限原則具體規則。

Statement文法

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

Statement屬性

屬性名稱

類型

必須

允許更新

描述

約束

Condition

Map

授權生效的限制條件。

Action

List

權限原則針對的具體操作。

Resource

List

權限原則針對的具體資源。

Effect

String

授權效力。

取值:

  • Allow:允許。

  • Deny:拒絕。

傳回值

Fn::GetAtt

  • RoleId:角色ID。

  • RoleName:角色名稱。

  • Arn:角色的資源描述符。

樣本

YAML格式

ROSTemplateFormatVersion: '2015-09-01'
Description: Test RAM Role
Parameters: {}
Resources:
  Role:
    Type: ALIYUN::RAM::Role
    Properties:
      RoleName: TestRole
      AssumeRolePolicyDocument:
        Statement:
          - Action: sts:AssumeRole
            Effect: Allow
            Principal:
              Service:
                - actiontrail.aliyuncs.com
        Version: '1'
Outputs:
  RoleId:
    Description: Id of ram role.
    Value:
      Fn::GetAtt:
        - Role
        - RoleId
  Arn:
    Description: Name of alicloud resource.
    Value:
      Fn::GetAtt:
        - Role
        - Arn
  RoleName:
    Description: Name of ram role.
    Value:
      Fn::GetAtt:
        - Role
        - RoleName

JSON格式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Description": "Test RAM Role",
  "Parameters": {
  },
  "Resources": {
    "Role": {
      "Type": "ALIYUN::RAM::Role",
      "Properties": {
        "RoleName": "TestRole",
        "AssumeRolePolicyDocument": {
          "Statement": [
            {
              "Action": "sts:AssumeRole",
              "Effect": "Allow",
              "Principal": {
                "Service": [
                  "actiontrail.aliyuncs.com"
                ]
              }
            }
          ],
          "Version": "1"
        }
      }
    }
  },
  "Outputs": {
    "RoleId": {
      "Description": "Id of ram role.",
      "Value": {
        "Fn::GetAtt": [
          "Role",
          "RoleId"
        ]
      }
    },
    "Arn": {
      "Description": "Name of alicloud resource.",
      "Value": {
        "Fn::GetAtt": [
          "Role",
          "Arn"
        ]
      }
    },
    "RoleName": {
      "Description": "Name of ram role.",
      "Value": {
        "Fn::GetAtt": [
          "Role",
          "RoleName"
        ]
      }
    }
  }
}