Sha256: af4065a6e82dc0cc5a5e3f556b43a0db81b58c9bf1bb5f43146d80034d5429ee
Contents?: true
Size: 1.51 KB
Versions: 2
Compression:
Stored size: 1.51 KB
Contents
--- title: Role DSL nav_text: Role categories: dsl nav_order: 13 --- The codebuild tool can create the IAM service role associated with the codebuild project. Here's an example: .codebuild/role.rb: ```ruby iam_policy("logs", "ssm") ``` For more control, here's a longer form: ```ruby iam_policy( action: [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "ssm:*", ], effect: "Allow", resource: "*" ) ``` You can also create managed IAM policy. ```ruby managed_iam_policy("AmazonS3ReadOnlyAccess") ``` You can also add multiple managed IAM policies: ```ruby managed_iam_policy("AmazonS3ReadOnlyAccess", "AmazonEC2ReadOnlyAccess") ``` ## Full DSL The convenience methods merely wrap properties of the [AWS::IAM::Role CloudFormation Resource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html). If you wanted to set the CloudFormation properties more directly, here's an example of using the "Full" DSL. .codebuild/role.rb: ```ruby assume_role_policy_document( statement: [{ action: ["sts:AssumeRole"], effect: "Allow", principal: { service: ["codebuild.amazonaws.com"] } }], version: "2012-10-17" ) path("/") policies([{ policy_name: "CodeBuildAccess", policy_document: { version: "2012-10-17", statement: [{ action: [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", ], effect: "Allow", resource: "*" }] } }]) ``` {% include prev_next.md %}
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
codebuild-0.6.3 | docs/_docs/dsl/role.md |
codebuild-0.6.2 | docs/_docs/dsl/role.md |