An open API service indexing awesome lists of open source software.

https://github.com/rhythmictech/terraform-aws-rhythmic-iam-roles

Create and manage IAM roles for Rhythmic engineers to access accounts via cross-account IAM roles.
https://github.com/rhythmictech/terraform-aws-rhythmic-iam-roles

aws iam iam-role terraform terraform-module terraform-modules

Last synced: 2 months ago
JSON representation

Create and manage IAM roles for Rhythmic engineers to access accounts via cross-account IAM roles.

Awesome Lists containing this project

README

        

# terraform-aws-rhythmic-iam-roles

[![](https://github.com/rhythmictech/terraform-aws-rhythmic-iam-roles/workflows/check/badge.svg)](https://github.com/rhythmictech/terraform-aws-rhythmic-iam-roles/actions)

Create and manage IAM roles for Rhythmic engineers to access accounts via cross-account IAM roles.

## Usage
```
module "rhythmic-iam-roles" {
source = "git::https://github.com/rhythmictech/terraform-aws-rhythmic-iam-roles.git"
role_prefix = "RhythmicOps-"
master_account = "123456789012"
}

```

## Requirements

| Name | Version |
|------|---------|
| [terraform](#requirement\_terraform) | >= 0.12.19 |
| [aws](#requirement\_aws) | >= 3 |

## Providers

| Name | Version |
|------|---------|
| [aws](#provider\_aws) | >= 3 |

## Modules

No modules.

## Resources

| Name | Type |
|------|------|
| [aws_iam_role.FullAdminAccess](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role.FullReadOnlyAccess](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role.SecurityAnalyst](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role.StandardAdminAccess](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role) | resource |
| [aws_iam_role_policy_attachment.FullAdminAccess](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.FullReadOnlyAccess](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.SecurityAnalyst](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.StandardAdminAccess](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_role_policy_attachment.StandardAdmin_additional_policies](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/iam_role_policy_attachment) | resource |
| [aws_iam_policy_document.assume](https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/iam_policy_document) | data source |

## Inputs

| Name | Description | Type | Default | Required |
|------|-------------|------|---------|:--------:|
| [create\_security\_analyst\_role](#input\_create\_security\_analyst\_role) | Create role with SecurityAudit managed policy attached | `bool` | `true` | no |
| [create\_standard\_admin\_role](#input\_create\_standard\_admin\_role) | Create StandardAdmin role | `bool` | `true` | no |
| [external\_id](#input\_external\_id) | External ID associated with the IAM role to be assumed, if applicable | `string` | `""` | no |
| [master\_account](#input\_master\_account) | Master account that holds cross-account roles | `string` | n/a | yes |
| [max\_session\_duration](#input\_max\_session\_duration) | STS token max lifetime | `number` | `7200` | no |
| [role\_prefix](#input\_role\_prefix) | Optional prefix for IAM role names | `string` | `""` | no |
| [standard\_admin\_additional\_policies](#input\_standard\_admin\_additional\_policies) | List of additional policy ARNs to attach to standard admin role | `list(string)` | `[]` | no |
| [standard\_admin\_attach\_poweruser](#input\_standard\_admin\_attach\_poweruser) | Attach AWS managed policy PowerUser to Standard Admin role | `bool` | `true` | no |
| [standard\_admin\_role\_name](#input\_standard\_admin\_role\_name) | Standard Admin role name | `string` | `"StandardAdmin"` | no |
| [tags](#input\_tags) | Tags to apply across all roles | `map(string)` | `{}` | no |

## Outputs

No outputs.