|
1 | 1 | # AWS Organization and SSO terraform module
|
2 | 2 |
|
3 |
| -This module creates an [AWS Organization][1], [Organization units][2] and [Accounts][3]. |
4 |
| -The aim is for it to also create and manage [AWS SSO (AWS Single Sign-on)][4] |
5 |
| - |
6 | 3 | [](https://github.com/chris-qa-org/terraform-aws-organzation-and-sso/actions/workflows/main.yml?branch=main)
|
7 | 4 | 
|
8 | 5 |
|
| 6 | +This module creates and manages [AWS Organizations][1], [Organization units][2], [Accounts][3], [SSO Permission sets][5] and group/user assignments. |
| 7 | + |
| 8 | +## Limitations |
| 9 | + |
| 10 | +- Identity store Users and Groups must be created manually, as the identity store api does not currently support creating users or groups (https://github.com/hashicorp/terraform-provider-aws/issues/18812) |
| 11 | +- SSO must be enabled manually |
| 12 | + |
9 | 13 | ## Usage
|
10 | 14 |
|
11 | 15 | ```hcl
|
@@ -154,6 +158,36 @@ module "aws_organizations_and_sso" {
|
154 | 158 | - Value: `ALLOW`/`DENY`/`NULL` (`string`)
|
155 | 159 | - Default: `ALLOW`
|
156 | 160 | - Note: This must be set to "NULL" if you are terraform importing an AWS account, otherwise it will atttempt to remove the account from the Organization, and create a new account.
|
| 161 | +- `organization_config.units.<org-name>.accounts.<account-name>.group_assignments` |
| 162 | + - Description: Group assignment definitions. |
| 163 | + - Value: Group assignment definition (`map`) |
| 164 | +- `organization_config.units.<org-name>.accounts.<account-name>.group_assignments.<group_name>` |
| 165 | + - Description: Group assignment definition |
| 166 | + - Key: Group name |
| 167 | + - Value: Group assignment config (`map`) |
| 168 | +- `organization_config.units.<org-name>.accounts.<account-name>.group_assignments.<group_name>.permission_sets` |
| 169 | + - Description: Group assignment definition |
| 170 | + - Value: Permission set names (`list`) |
| 171 | +- `organization_config.units.<org-name>.accounts.<account-name>.user_assignments` |
| 172 | + - Description: User assignment definitions. |
| 173 | + - Value: User assignment definition (`map`) |
| 174 | +- `organization_config.units.<org-name>.accounts.<account-name>.user_assignments.<user_name>` |
| 175 | + - Description: User assignment definition |
| 176 | + - Key: User name |
| 177 | + - Value: User assignment config (`map`) |
| 178 | +- `organization_config.units.<org-name>.accounts.<account-name>.group_assignments.<user_name>.permission_sets` |
| 179 | + - Description: User assignment definition |
| 180 | + - Value: Permission set names (`list`) |
| 181 | +- `organization_config.service_access_principals` |
| 182 | + - Description: List of AWS service principal names for which you want to enable integration with your organization. This is typically in the form of a URL, such as service-abbreviation.amazonaws.com. Organization must have feature_set set to ALL. |
| 183 | + - Value: Service access principals (`list`) |
| 184 | +- `organization_config.feature_set` |
| 185 | + - Description: Specify "ALL" or "CONSOLIDATED_BILLING". |
| 186 | + - Value: Feature set (`string`) |
| 187 | +- `organization_config.enabled_policy_types` |
| 188 | + - Description: List of Organizations policy types to enable in the Organization Root. Organization must have feature_set set to ALL. For additional information about valid policy types |
| 189 | + - Value: Enabled policy types (`list`) |
| 190 | + |
157 | 191 |
|
158 | 192 | <!-- BEGIN_TF_DOCS -->
|
159 | 193 | ## Requirements
|
@@ -210,3 +244,4 @@ module "aws_organizations_and_sso" {
|
210 | 244 | [2]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html
|
211 | 245 | [3]: https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html
|
212 | 246 | [4]: https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html
|
| 247 | +[5]: https://docs.aws.amazon.com/singlesignon/latest/userguide/permissionsetsconcept.html |
0 commit comments