-
Notifications
You must be signed in to change notification settings - Fork 24.8k
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
Add support for AWS STS credentials for snapshots #16428
Comments
@dadoonet gracefully agreed to research and see what the implications of this are |
Useful links to understand STS:
If I'm not mistaken it means that we want to give a temporary credential to a S3 repository, right? If so, I think it makes sense to support it only at a repository level but not in cluster/node settings. So having a temporary value for a setting like If we want to implement it, I'd support it only when we create a repo. Like:
@jipperinbham WDYT? |
No news on this. So I'm closing for now. |
incase anyone else runs across this - It looks like it was resolved in #19556 |
I would like to have support for AWS STS credentials (#19556 doesn't seem to resolve this). As far as I understand, a session token is required when "MFA-Protected API Access" is activated on AWS [1]. Without support for session tokens all users affected by this policy are not able to access s3 via the plugin, so this would be an important improvement. [1] https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_configure-api-require.html |
I believe it's a valid ask. I believe that the implementation that described @jipperinbham is the right approach as well. |
FWIW: The s3 input plugin for logstash seems to have support for session tokens [1]. [1] https://www.elastic.co/guide/en/logstash/current/plugins-inputs-s3.html |
AWS supports the creation and use of credentials that are only valid for a fixed period of time. These credentials comprise three parts: the usual access key and secret key, together with a session token. This commit adds support for these three-part credentials to the EC2 discovery plugin and the S3 repository plugin. Note that session tokens are only valid for a limited period of time and yet there is no mechanism for refreshing or rotating them when they expire without restarting Elasticsearch. Nonetheless, this feature is already useful for nodes that need only run for a few days, such as for training, testing or evaluation. elastic#29135 tracks the work towards allowing these credentials to be refreshed at runtime. Resolves elastic#16428
AWS supports the creation and use of credentials that are only valid for a fixed period of time. These credentials comprise three parts: the usual access key and secret key, together with a session token. This commit adds support for these three-part credentials to the EC2 discovery plugin and the S3 repository plugin. Note that session tokens are only valid for a limited period of time and yet there is no mechanism for refreshing or rotating them when they expire without restarting Elasticsearch. Nonetheless, this feature is already useful for nodes that need only run for a few days, such as for training, testing or evaluation. #29135 tracks the work towards allowing these credentials to be refreshed at runtime. Resolves #16428
AWS supports the creation and use of credentials that are only valid for a fixed period of time. These credentials comprise three parts: the usual access key and secret key, together with a session token. This commit adds support for these three-part credentials to the EC2 discovery plugin and the S3 repository plugin. Note that session tokens are only valid for a limited period of time and yet there is no mechanism for refreshing or rotating them when they expire without restarting Elasticsearch. Nonetheless, this feature is already useful for nodes that need only run for a few days, such as for training, testing or evaluation. #29135 tracks the work towards allowing these credentials to be refreshed at runtime. Resolves #16428
The current setup does not support the ability to provide an
AWS_SECURITY_TOKEN
to be used with AWS STS authentication.I believe the changes necessary would be to add an additional field to
Settings
for the cloud-aws pluginCLOUD_S3.TOKEN
and if set, then return an instance ofBasicSessionCredentials(accessKey, secretKey, sessionToken);
instead ofnew BasicAWSCredentials(account, key)
.The text was updated successfully, but these errors were encountered: