You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Commit Message: redis: implement AWS IAM authentication
Additional Description:
Adds an aws_iam_authenticator to the redis proxy filter. The
authenticator is instantiated when a relevant `aws_iam` configuration is
found in the filter settings.
The AWS IAM Authenticator supports common features from the AWS
extensions - particularly customisation of the credential provider
chain, so that each instantiation can have its own set of credentials
and mechanisms for credential retrieval.
AWS IAM Authentication is also supported in the redis health checker,
using the same functionality as the redis proxy filter.
The implementation does not support redis cluster, and AWS IAM
authentication will not be used if configured against a redis cluster
instance.
This feature supports IAM Authentication for ElastiCache both Redis OSS
and Valkey engines, as well as Amazon MemoryDB.
Addresses feature request
envoyproxy/envoy#38439
Risk Level: Low
Testing: Unit
Docs Changes: Yes - updated with sample
Release Notes: Updated
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue] envoyproxy/envoy#38439
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional [API
Considerations](https://github.com/envoyproxy/envoy/blob/main/api/review_checklist.md):]
---------
Signed-off-by: Nigel Brittain <[email protected]>
Mirrored from https://github.com/envoyproxy/envoy @ 48fff0217727f669aa5df1186dd8bbbe1c620b9f
// Upstream server username as defined by the ``user`` directive
387
389
// `<https://redis.io/topics/acl>`_ in the server's configuration file.
390
+
// If ``aws_iam``` is set, this field will be used as the authenticating user for redis IAM authentication.
391
+
// See ``Create a new IAM-enabled user`` under `Setup <https://docs.aws.amazon.com/AmazonElastiCache/latest/dg/auth-iam.html#auth-iam-setup>`_ for more details.
// The optional service name to be used in AWS IAM authentication. If not provided, the service name will be set to ``elasticache``. For Amazon MemoryDB
407
+
// the service name should be set to ``memorydb``.
408
+
stringservice_name=3;
409
+
410
+
// The optional AWS region that your cache is located in. If not provided, the region will be deduced using the region provider chain
411
+
// as described in :ref:`config_http_filters_aws_request_signing_region`.
412
+
stringregion=4;
413
+
414
+
// Number of seconds before the IAM authentication token will expire. If not set, defaults to 60s (1 minute). Maximum of 900s (15 minutes)
415
+
// Expiration of the current authentication token will automatically trigger generation of a new token.
416
+
// As envoy will automatically continue to generate new tokens as required, there is no substantial benefit to using a long expiration value here.
0 commit comments