Add Azure Entra ID federated authentication for AWS via STS AssumeRoleWithWebIdentity#49416
Draft
agithomas wants to merge 2 commits intoelastic:mainfrom
Draft
Add Azure Entra ID federated authentication for AWS via STS AssumeRoleWithWebIdentity#49416agithomas wants to merge 2 commits intoelastic:mainfrom
agithomas wants to merge 2 commits intoelastic:mainfrom
Conversation
|
This pull request doesn't have a |
Contributor
🤖 GitHub commentsJust comment with:
|
Contributor
|
This pull request does not have a backport label.
To fixup this pull request, you need to add the backport labels for the needed
|
Made-with: Cursor
e069a36 to
a145720
Compare
|
💚 CLA has been signed |
a145720 to
eaf480e
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed commit message
This change adds support for authenticating to AWS using Azure Entra ID (formerly Azure AD) as an OIDC identity provider, via the STS AssumeRoleWithWebIdentity API.
WHAT:
x-pack/libbeat/common/azure/identity/with aTokenProviderthat obtains OAuth2 tokens from Azure Entra ID using the Azure SDK'sClientSecretCredential(with fallback toDefaultAzureCredentialfor managed identity and other implicit credential sources).TokenProviderimplements the AWS SDK'sstscreds.IdentityTokenRetrieverinterface, bridging Azure AD tokens into the AWS credential chain.addAzureADWebIdentityCredentialsfunction inx-pack/libbeat/common/aws/wires the token provider into an STSWebIdentityRoleProviderwithCredentialsCachesupport.ConfigAWSgains anazure_adconfig block. Whenazure_ad.tenant_idandazure_ad.client_idare set alongsiderole_arn, the Azure AD federated flow is used instead of the standardAssumeRoleflow.WHY:
Customers operating in hybrid Azure/AWS environments need to authenticate Beats to AWS without managing long-lived AWS access keys. By federating through Azure Entra ID, temporary AWS credentials are obtained automatically using the organisation's existing identity infrastructure. This is implemented at the libbeat level so all Beats (Metricbeat, Filebeat, etc.) benefit without per-Beat changes.
Example configuration:
Checklist
stresstest.shscript to run them under stress conditions and race detector to verify their stability../changelog/fragmentsusing the changelog tool.Disruptive User Impact
Author's Checklist
How to test this PR locally
Prerequisites
Steps
Related issues
Use cases
Screenshots
Logs