You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+25-3
Original file line number
Diff line number
Diff line change
@@ -101,11 +101,13 @@ Make sure that both private and public subnets were created in the same set of a
101
101
If all provided subnets are public (no NAT gateway) then `ecs_service_assign_public_ip` should be set to `true`.
102
102
103
103
104
-
### Secure Atlantis with ALB Built-in Authentication and Auth0
104
+
### Secure Atlantis with ALB Built-in Authentication
105
+
106
+
#### OpenID Connect (OIDC)
105
107
106
108
You can use service like [Auth0](https://www.auth0.com) to secure access to Atlantis and require authentication on ALB. To enable this, you need to create Auth0 application and provide correct arguments to Atlantis module. Make sure to update application hostname, client id and client secret:
Read more in [this post](https://medium.com/@sandrinodm/securing-your-applications-with-aws-alb-built-in-authentication-and-auth0-310ad84c8595).
121
123
122
-
If you are using GitHub, you may allow it to trigger webhooks without authentication on ALB:
123
124
125
+
#### AWS Cognito with SAML
126
+
127
+
The AWS Cognito service allows you to define SAML applications tied to an identity provider (e.g., GSuite). The Atlantis ALB can then be configured to require an authenticated user managed by your identity provider.
128
+
129
+
To configure AWS Cognito connecting to a GSuite SAML application, you can use the [gsuite-saml-cognito](https://github.com/alloy-commons/alloy-open-source/tree/master/terraform-modules/gsuite-saml-cognito#example-usage) Terraform module.
130
+
131
+
To enable Cognito authentication on the Atlantis ALB, specify the following arguments containing attributes from your Cognito configuration.
If you are using one of the authentication methods above along with managed GitHub (not self-hosted enterprise version), you'll need to allow unauthenticated access to GitHub's Webhook static IPs:
144
+
145
+
```hcl
125
146
allow_unauthenticated_access = true
126
147
allow_github_webhooks = true
127
148
```
@@ -156,6 +177,7 @@ No requirements.
156
177
| Name | Description | Type | Default | Required |
| acm\_certificate\_domain\_name | Route53 domain name to use for ACM certificate. Route53 zone for this domain should be created in advance. Specify if it is different from value in `route53_zone_name`|`string`|`""`| no |
180
+
| alb\_authenticate\_cognito | Map of AWS Cognito authentication parameters to protect ALB (eg, using SAML). See https://www.terraform.io/docs/providers/aws/r/lb_listener.html#authenticate-cognito-action|`any`|`{}`| no |
159
181
| alb\_authenticate\_oidc | Map of Authenticate OIDC parameters to protect ALB (eg, using Auth0). See https://www.terraform.io/docs/providers/aws/r/lb_listener.html#authenticate-oidc-action|`any`|`{}`| no |
160
182
| alb\_ingress\_cidr\_blocks | List of IPv4 CIDR ranges to use on all ingress rules of the ALB. |`list(string)`| <pre>[<br> "0.0.0.0/0"<br>]</pre> | no |
161
183
| alb\_log\_bucket\_name | S3 bucket (externally created) for storing load balancer access logs. Required if alb\_logging\_enabled is true. |`string`|`""`| no |
description="Map of AWS Cognito authentication parameters to protect ALB (eg, using SAML). See https://www.terraform.io/docs/providers/aws/r/lb_listener.html#authenticate-cognito-action"
101
+
type=any
102
+
default={}
103
+
}
104
+
99
105
variable"allow_unauthenticated_access" {
100
106
description="Whether to create ALB listener rule to allow unauthenticated access for certain CIDR blocks (eg. allow GitHub webhooks to bypass OIDC authentication)"
0 commit comments