-
Notifications
You must be signed in to change notification settings - Fork 117
feat: aws auth sdk default chain #1394
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
this is nice! |
Signed-off-by: José Luis Jiménez Quereda <joseluisjimenezquereda@gmail.com>
Signed-off-by: José Luis Jiménez Quereda <joseluisjimenezquereda@gmail.com>
1c8a245 to
d00d7c6
Compare
|
As I did not put on review yet, I've just force push with rebase before doing it. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| // BackendSecurityPolicyAWSCredentials contains the supported authentication mechanisms to access aws. |
could you write up a nice documentation comment here on the API as well?
Codecov Report❌ Patch coverage is
❌ Your project status has failed because the head coverage (78.28%) is below the target coverage (86.00%). You can increase the head coverage or adjust the target coverage. Additional details and impacted files@@ Coverage Diff @@
## main #1394 +/- ##
==========================================
+ Coverage 78.26% 78.28% +0.01%
==========================================
Files 132 132
Lines 13328 13349 +21
==========================================
+ Hits 10431 10450 +19
- Misses 2257 2258 +1
- Partials 640 641 +1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Signed-off-by: José Luis Jiménez Quereda <joseluisjimenezquereda@gmail.com>
Signed-off-by: José Luis Jiménez Quereda <joseluisjimenezquereda@gmail.com>
Signed-off-by: José Luis Jiménez Quereda <joseluisjimenezquereda@gmail.com>
Signed-off-by: José Luis Jiménez Quereda <joseluisjimenezquereda@gmail.com>
Signed-off-by: José Luis Jiménez Quereda <joseluisjimenezquereda@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
💯 Awesome work!!!
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com>
**Description** This PR updates the AWS authentication handler to support the AWS SDK’s default credential chain, enabling native integration with modern AWS identity providers like IRSA (IAM Roles for Service Accounts) and EKS Pod Identity. Previously, credentials had to be explicitly provided via config literals. Now, if no credential file is set, the handler automatically falls back to config.LoadDefaultConfig, which supports: - IRSA (EKS service accounts) - EKS Pod Identity - EC2 Instance Profiles - Environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY) - Shared credentials files (~/.aws/credentials) This simplifies AWS deployments and aligns with best practices by avoiding static credentials. This makes it much easier to deploy the AI Gateway on AWS infrastructure while following AWS security best practices by avoiding static credentials. The PR includes: - Refactored AWS authentication handler to use the default credential chain when no credentials file is provided - Added example configs for IRSA and EKS Pod Identity - Updated documentation with setup guides for both methods - Extended tests to cover the new credential resolution logic - Update API documentation **Related Issues/PRs (if applicable)** envoyproxy#568 --------- Signed-off-by: José Luis Jiménez Quereda <joseluisjimenezquereda@gmail.com> Signed-off-by: ayush <ayush.sawant@nutanix.com>
Description
This PR updates the AWS authentication handler to support the AWS SDK’s default credential chain, enabling native integration with modern AWS identity providers like IRSA (IAM Roles for Service Accounts) and EKS Pod Identity.
Previously, credentials had to be explicitly provided via config literals. Now, if no credential file is set, the handler automatically falls back to config.LoadDefaultConfig, which supports:
This simplifies AWS deployments and aligns with best practices by avoiding static credentials.
This makes it much easier to deploy the AI Gateway on AWS infrastructure while
following AWS security best practices by avoiding static credentials.
The PR includes:
Related Issues/PRs (if applicable)
Closes #568
Special notes for reviewers:
The implementation maintains backward compatibility - existing configurations
using credential file literals will continue to work exactly as before. The
default credential chain is only used when CredentialFileLiteral is not provided
(empty/nil).
I've test that Pod Identity association works, but I've not clusters setup with IRSA in place.
When run test locally, seems like some in
cmd/aigware e2e, which leeds to failing, i've disable those locally.