ALIYUN::RAM::Role 型は、RAM ロールを作成する場合に使用します。
構文
{ “Type” : “ALIYUN::RAM::Role”, “Properties” : { “RoleName” : String, “Description”: String, “AssumeRolePolicyDocument” : Map, “Policies “ : List }}
プロパティ
名前 | データ型 | 必須/省略可能 | 説明 | 制約 |
RoleName | String | 必須 | ロール名 | ロール名は最大 64 文字指定できます。 |
Description | String | 省略可能 | ロールの説明 | 説明には最大 1,024 文字指定できます。 |
AssumeRolePolicyDocument | Map | 必須 | このロールを担当できるアイデンティティー | なし |
Policies | List | 省略可能 | ロールに適用されるポリシー | なし |
AssumeRolePolicyDocument の構文
“AssumeRolePolicyDocument” : { “Version”: String, “Statement” : [ { “Effect” : String, “Action” : List, “Principal” : { “Service”: List } } ]}
AssumeRolePolicyDocument のプロパティ
名前 | データ型 | 必須/省略可能 | 説明 | 制約 |
Version | String | 省略可能 | ポリシーバージョン | なし |
Statement | List | 省略可能 | ポリシールール | なし |
Action | List | 省略可能 | ポリシー固有の操作 | なし |
Principal | Map | 省略可能 | ポリシーが適用されるサービス | なし |
Effect | String | 省略可能 | Action パラメーターで定義された操作が、Principal パラメーターで定義されたサービスに対して実行できるかどうか | なし |
Service | List | 省略可能 | 特定のサービス | なし |
Policies の構文
“Policies” : [ { “PolicyName” : String, “PolicyDocument” : { “Version”: String, “Statement” : [ { “Effect” : String, “Action” : List, “Resource” : List } ] } }]
Policies のプロパティ
名前 | データ型 | 必須/省略可能 | 説明 | 制約 |
PolicyName | String | 必須 | ポリシー名 | ポリシー名は最大 128 文字指定できます。 |
PolicyDocument | Map | 省略可能 | ポリシー詳細 | なし |
Version | String | 省略可能 | ポリシーバージョン | なし |
Statement | List | 省略可能 | ポリシールール | なし |
Action | List | 省略可能 | ポリシー固有の操作 | なし |
Resource | List | 省略可能 | ポリシーが適用されるリソース | なし |
Effect | String | 省略可能 | Action パラメーターで定義された操作が、Resource パラメーターで定義されたリソースに対して実行できるかどうか | なし |
レスポンス値
Fn::GetAtt
- RoleId : ロール ID
- RoleName : ロール名
- Arn : ロールのリソース記述子
コーディング例
{ “ROSTemplateFormatVersion” : “2015-09-01”, “Resources” : { “RamRole”: { “Type”: “ALIYUN::RAM::Role”, “Properties”: { “RoleName”: “RosRole”, “Description”: “createdByRos”, “AssumeRolePolicyDocument”: { “Statement” : [ { “Action”: “sts:AssumeRole”, “Effect”: “Allow”, “Principal”:{ “Service”:[“actiontrail.aliyuncs.com”] } } ], “Version”: “1” }, “Policies” : [ { “PolicyName” : “RosRolePolicy”, “PolicyDocument” : { “Version”: “1”, “Statement” : [ { “Effect” : “Allow”, “Action” : [ “oss:“ ], “Resource” : [“acs:oss:::“] } ] } } ] } } }, “Outputs”: { “RoleName”: { “Value”: { “Fn::GetAtt”: [“RamRole”,”RoleName”] } }, “Arn”: { “Value”: { “Fn::GetAtt”: [“RamRole”,”Arn”] } } }}