Teleport AWS integration now stores OIDC configuration in S3 #39734
Locked
r0mant
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
What happened?
Teleport registers itself as an Amazon IAM Identity Provider to use AWS APIs.
When validating API requests coming from Teleport, AWS fetches the public key using the Identity Provider URL available at
https://<teleport-proxy>/.well-known/jwks-oidc
. In addition, AWS validates the thumbprint which is calculated based on the endpoint certificate. It uses the top intermediate CA that signed the certificate.Teleport Cloud uses Let's Encrypt to issue certificates. Recently, Let’s Encrypt changed their chain of trust, leading to a thumbprint's change. As such, certificates signed after Feb 8th, 2024 will have a new thumbprint which is not trusted by AWS, unless users add the new thumbprint.
What we’ve done to address this
Teleport AWS OIDC integration setup now stores the public key and OIDC provider configuration in a public S3 location. When fetching OIDC metadata from S3, AWS bypasses thumbprint validation so signing CA changes will not be affecting the integration going forward.
Impact
Without this configuration change, the following features will stop working after certificate renewal:
Teleport will log the following error message in its logs:
OpenIDConnect provider's HTTPS certificate doesn't match configured thumbprint
.Actions
Update AWS OIDC Integration configuration on your Teleport cluster by following the steps below:
If having public buckets is not allowed in your AWS Account you can temporarily add the following thumbprint to ensure the integrations keeps working.
tenant.teleport.sh
)Manage
in the Thumbprint section and add the following one:a053375bfe84e8b748782c7cee15827a6af5a405
Please note that Let's Encrypt is changing their CAs (https://letsencrypt.org/2024/03/19/new-intermediate-certificates) and this can break as soon as a new certificate is generated.
The above only applies to Teleport Cloud clusters and self-hosted that use the Let's Encrypt for generating certificates.
Beta Was this translation helpful? Give feedback.
All reactions