Skip to content

AWS Cloudtrail: add docs for IAM Roles Anywhere - #19140

Merged
chemamartinez merged 6 commits into
elastic:mainfrom
chemamartinez:aws-cloudtrail-iam-roles-anywhere-docs
May 29, 2026
Merged

chemamartinez merged 6 commits into
elastic:mainfrom
chemamartinez:aws-cloudtrail-iam-roles-anywhere-docs

Conversation

@chemamartinez

Copy link
Copy Markdown
Contributor

Proposed commit message

packages/aws/cloudtrail: document IAM Roles Anywhere authentication

Add an "IAM Roles Anywhere" subsection under Advanced options in the
CloudTrail integration docs. The new section explains how to configure
aws_signing_helper as a credential_process entry in ~/.aws/config,
allowing Elastic Agent instances running outside AWS to authenticate
using X.509 certificates.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

@chemamartinez chemamartinez self-assigned this May 21, 2026
@chemamartinez chemamartinez added documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. enhancement New feature or request Integration:aws AWS Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] labels May 21, 2026
@chemamartinez
chemamartinez force-pushed the aws-cloudtrail-iam-roles-anywhere-docs branch from 7587b71 to 7e5cc7a Compare May 21, 2026 15:44
@chemamartinez
chemamartinez marked this pull request as ready for review May 21, 2026 15:45
@chemamartinez
chemamartinez requested review from a team as code owners May 21, 2026 15:45
@infra-vault-gh-plugin-prod

Copy link
Copy Markdown

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

@github-actions

github-actions Bot commented May 21, 2026 •

Copy link
Copy Markdown
Contributor

✅ Vale Linting Results

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

@github-actions

This comment has been minimized.

@andrewkroh andrewkroh added the Team:obs-ds-hosted-services Observability Hosted Services team [elastic/obs-ds-hosted-services] label May 21, 2026
@github-actions

This comment has been minimized.

@chemamartinez

Copy link
Copy Markdown
Contributor Author

/test

@chemamartinez

Copy link
Copy Markdown
Contributor Author

Failures in Buildkite seem to be unrelated.

@chemamartinez

Copy link
Copy Markdown
Contributor Author

/test

@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport


1. [Download and install `aws_signing_helper`](https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html) on the host running Elastic Agent.

2. Add a profile to `~/.aws/config` that uses the helper as a [`credential_process`](https://docs.aws.amazon.com/sdkref/latest/guide/feature-process-credentials.html):

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The path here is Linux-specific.

Also note that if shared_credential_file is set in the UI it will interfere with this (credentials.go), and the configuration is something that affects all aws data streams; should this be root-level documentation?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also note that if shared_credential_file is set in the UI it will interfere with this (credentials.go), and the configuration is something that affects all aws data streams; should this be root-level documentation?

That's a good point. I've added a note that I think it reflects the issue you are pointing to. Please let me know if this would solve your concerns.

@github-actions

Copy link
Copy Markdown
Contributor

TL;DR

The Buildkite failure is from the PR merge step, not from tests: CI could not auto-merge this branch with main due to content conflicts. Rebase/merge main into this PR and resolve the two AWS package file conflicts, then re-run CI.

Remediation

  • Rebase this branch onto the latest main (or merge main), resolve conflicts in packages/aws/changelog.yml and packages/aws/manifest.yml, and push.
  • Re-run Buildkite after conflict resolution to confirm the pipeline can complete post-checkout merge.
Investigation details

Root Cause

Buildkite failed during repository post-checkout when creating the PR merge test branch (pr_merge_19140). The merge with origin/main reported content conflicts in:

  • packages/aws/changelog.yml
  • packages/aws/manifest.yml

This indicates branch drift against main in package metadata/changelog files, so CI never reached package/test execution.

Evidence

  • Build: https://buildkite.com/elastic/integrations/builds/43630
  • Job/step: :pipeline::arrow_up: Upload Pipeline: .buildkite/pipeline.yml
  • Key log excerpt:
    • CONFLICT (content): Merge conflict in packages/aws/changelog.yml
    • CONFLICT (content): Merge conflict in packages/aws/manifest.yml
    • Automatic merge failed; fix conflicts and then commit the result.
    • Error: running "repository post-checkout" shell hook ... exited with status 1

Verification

  • Not run locally: failure occurs before test/build stages, at CI merge preparation.

Follow-up

  • After resolving conflicts, if CI still fails, share the new failed step/logs (the next failure will likely be actionable at code/test level).

Note

🔒 Integrity filter blocked 2 items

The following items were blocked because they don't meet the GitHub integrity level.

To allow these resources, lower min-integrity in your GitHub frontmatter:

tools:
  github:
    min-integrity: approved  # merged | approved | unapproved | none

What is this? | From workflow: PR Buildkite Detective

Give us feedback! React with 🚀 if perfect, 👍 if helpful, 👎 if not.

@chemamartinez
chemamartinez requested a review from efd6 May 27, 2026 16:26

3. In the CloudTrail integration configuration, set the **Credential Profile Name** field to the profile name you defined (for example, `elastic-agent`). If you configure the profile as `[default]`, you can leave the field blank.

> **Note:** If the **Shared Credential File** field is set, the integration loads credentials only from that file and stops reading the default AWS shared config file. Ensure the profile with the `credential_process` entry is present in whichever file you specify, or leave the field blank to use the default config file location.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it needs to be noted that this is integration-wide and that this means that it will interact with other data streams. That should already be reasonably clear from the UI, but it never hurts to be clear.

@chemamartinez
chemamartinez requested a review from efd6 May 28, 2026 08:56
@elasticmachine

Copy link
Copy Markdown

💚 Build Succeeded

History

cc @chemamartinez

@chemamartinez
chemamartinez merged commit ff0a997 into elastic:main May 29, 2026
10 checks passed
@elastic-vault-github-plugin-prod

Copy link
Copy Markdown
Contributor

Package aws - 6.18.1 containing this change is available at https://epr.elastic.co/package/aws/6.18.1/

herrBez pushed a commit to herrBez/integrations that referenced this pull request Jun 1, 2026
packages/aws/cloudtrail: document IAM Roles Anywhere authentication

Add an "IAM Roles Anywhere" subsection under Advanced options in the
CloudTrail integration docs. The new section explains how to configure
aws_signing_helper as a credential_process entry in ~/.aws/config,
allowing Elastic Agent instances running outside AWS to authenticate
using X.509 certificates.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. enhancement New feature or request Integration:aws AWS Team:obs-ds-hosted-services Observability Hosted Services team [elastic/obs-ds-hosted-services] Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants