全部产品
Search
文档中心

CloudOps Orchestration Service:ACS-RAM-CreateRoleAndAttachCustomPolicy

更新时间:Jun 28, 2025

Nama template

ACS-RAM-CreateRoleAndAttachCustomPolicy

Eksekusi Sekarang

Deskripsi template

Membuat Peran RAM dan melampirkan kebijakan kustom ke Peran RAM.

Tipe template

Otomatis

Pemilik

Alibaba Cloud

Parameter input

Parameter

Deskripsi

Tipe data

Diperlukan

Nilai default

Batasan

roleName

Nama Peran RAM yang ingin Anda buat.

String

Ya

policyName

Nama kebijakan kustom yang ingin Anda buat dan lampirkan ke Peran RAM.

String

Ya

policyDocument

Dokumen kebijakan kustom yang ingin Anda lampirkan ke Peran RAM.

String

Ya

rolePlayerUid

ID unik (UID) dari akun Alibaba Cloud tepercaya dari Peran RAM.

String

Tidak

{{ ACS::AccountId }}

OOSAssumeRole

Peran RAM yang diasumsikan oleh CloudOps Orchestration Service (OOS).

String

Tidak

""

Parameter output

Parameter

Deskripsi

Tipe data

stackId

String

Kebijakan izin yang diperlukan untuk mengeksekusi template

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ros:CreateStack",
                "ros:GetStack"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Referensi

ACS-RAM-CreateRoleAndAttachCustomPolicy

Isi Template

FormatVersion: OOS-2019-06-01
Description:
  en: Create RAM role and attach custom policy    
  name-en: ACS-RAM-CreateRoleAndAttachCustomPolicy   
  categories:
    - security
Parameters:
  roleName:
    Label:
      en: RoleName       
    Type: String
  rolePlayerUid:
    Label:
      en: RolePlayerUid      
    Type: String
    Default: '{{ ACS::AccountId }}'
  policyName:
    Label:
      en: PolicyName       
    Type: String
  policyDocument:
    Label:
      en: PolicyDocument       
    Description:
      en: 'misalnya { "Version": "1", "Statement": [ { "Action": [ "oos:List*", "oos:Get*" ], "Resource": "*", "Effect": "Allow" } ] }'      
    Type: String
    AssociationProperty: Code
  OOSAssumeRole:
    Label:
      en: OOSAssumeRole   
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: createStackForRoleAndPolicy
    Action: 'ACS::ROS::CreateStack'
    Description:
      en: Buat peran dan lampirkan kebijakan menggunakan tumpukan sumber daya Ros       
    Properties:
      stackName:
        Fn::Replace:
          - .: _
          - OOS-{{ACS::ExecutionId}}
      disableRollback: true
      parameters:
        - ParameterKey: RoleName
          ParameterValue: '{{ roleName }}'
        - ParameterKey: RolePlayerUid
          ParameterValue: '{{ rolePlayerUid }}'
        - ParameterKey: PolicyName
          ParameterValue: '{{ policyName }}'
        - ParameterKey: PolicyDocument
          ParameterValue: '{{ policyDocument }}'
      templateBody: |
        {
          "ROSTemplateFormatVersion": "2015-09-01",
          "Resources": {
            "Role": {
              "Type": "ALIYUN::RAM::Role",
              "Properties": {
                "RoleName": {
                  "Ref": "RoleName"
                },
                "AssumeRolePolicyDocument": {
                  "Statement": [
                    {
                      "Action": "sts:AssumeRole",
                      "Effect": "Allow",
                      "Principal": {
                        "RAM": [
                          {
                            "Fn::Sub": [
                              "acs:ram::${uid}:root",
                              {
                                "uid": {
                                  "Ref": "RolePlayerUid"
                                }
                              }
                            ]
                          }
                        ]
                      }
                    }
                  ],
                  "Version": "1"
                }
              }
            },
            "Policy": {
              "Type": "ALIYUN::RAM::ManagedPolicy",
              "Properties": {
                "PolicyName": {
                  "Ref": "PolicyName"
                },
                "PolicyDocumentUnchecked": {
                  "Ref": "PolicyDocument"
                },
                "Roles": [
                  {
                    "Fn::GetAtt": [
                      "Role",
                      "RoleName"
                    ]
                  }
                ]
              }
            }
          },
          "Parameters": {
            "RoleName": {
              "Type": "String",
              "Description": "Nama peran."
            },
            "RolePlayerUid": {
              "Type": "String",
              "Description": "UID pemain peran."
            },
            "PolicyName": {
              "Type": "String",
              "Description": "Nama kebijakan."
            },
            "PolicyDocument": {
              "Type": "Json",
               "Description": "Dokumen kebijakan yang menggambarkan tindakan apa yang diizinkan pada sumber daya mana."
            }
          },
          "Outputs": {
            "RoleName": {
              "Description": "Ketika ID logis dari sumber daya ini diberikan ke fungsi intrinsik Ref, Ref mengembalikan ARN.",
              "Value": {
                "Fn::GetAtt": [
                  "Role",
                  "RoleName"
                ]
              }
            }
          },
          "Metadata": {
            "ALIYUN::ROS::Interface": {
              "TemplateTags": [
                "acs:integrate:oos:ram_create_role_and_attach_custom_policy"
              ]
            }
          }
        }
    Outputs:
      stackId:
        Type: String
        ValueSelector: stackId
Outputs:
  stackId:
    Type: String
    Value: '{{createStackForRoleAndPolicy.stackId}}'