Skip to content
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

Daemon mode that writes directly to AWS compatible credentials file #5

Open
strideynet opened this issue Nov 11, 2024 · 0 comments
Open
Labels
enhancement New feature or request

Comments

@strideynet
Copy link
Collaborator

Today, aws-spiffe-workload-helper is provided to AWS SDKs as a "credential process" that is invoked by the AWS SDK.

We should also offer a mode where aws-spiffe-workload-helper runs as a daemon, and writes the AWS Access Key ID, Secret Access Key and Session Token to a "credentials" file at a specified location.

Why?

  • Most AWS SDKs support the credential process option, but some third-party implementations of the SDK do not. Support for the credentials file is ubiquitous. This provides an option for those cases.
  • Effectively "caches" the results of the X509 SVID exchange process, providing a more immediate credential load for SDKs and providing some wiggle room in case of a failure in the exchange process (e.g the workload identity provider could be offline, but the last set of AWS credentials will still be available).
  • This mimics the behaviour of the AWS-SSM agent, which is used by some larger enterprises today as a method of getting automatically rotated AWS credentials onto an on-prem host. Providing a mode which mimics this behaviour makes this more of a "drop in" replacement.

There's a few negatives to this approach:

  • Credentials on disk are more exposed to exfiltration.
  • Workload attestation is no longer "enforced" at this level, it'd be up to the operator to use the correct filesystem permissions to restrict access to these credentials.
@strideynet strideynet added the enhancement New feature or request label Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant