我想写一个lambda函数,它只从ElastiCache集群(Redis)中删除一组非常特定的键。我试图在它的角色中定义适当的权限来允许它这样做。为了能够删除键,我可以给予函数的最小权限是多少?
aoyhnmkz1#
ElastiCache从Redis 7开始引入了IAM Authentication。这意味着您现在可以创建Redis用户(使用CreateUser操作)并将身份验证模式设置为IAM。这将导致用户必须使用短期IAM身份验证令牌进行身份验证。当创建一个Redis用户时,你也可以提供一个访问字符串,它提供了一种授权的形式。访问字符串支持Redis' ACL,并提供了一种限制对命令和键的访问的方法。注意,没有专门针对“删除”的类别。你需要授予“写”权限,以便用户真正删除一个键。以下AWS CLI命令将创建一个Redis用户,该用户需要使用IAM进行身份验证,并且只能访问遵循特定模式的特定密钥:
aws elasticache create-user \ --region us-east-1 \ --user-id bob \ --user-name bob \ --engine Redis \ --authentication-mode Type=iam \ --access-string "on ~todelete* -@all +@write"
1条答案
按热度按时间aoyhnmkz1#
ElastiCache从Redis 7开始引入了IAM Authentication。这意味着您现在可以创建Redis用户(使用CreateUser操作)并将身份验证模式设置为IAM。这将导致用户必须使用短期IAM身份验证令牌进行身份验证。
当创建一个Redis用户时,你也可以提供一个访问字符串,它提供了一种授权的形式。访问字符串支持Redis' ACL,并提供了一种限制对命令和键的访问的方法。注意,没有专门针对“删除”的类别。你需要授予“写”权限,以便用户真正删除一个键。
以下AWS CLI命令将创建一个Redis用户,该用户需要使用IAM进行身份验证,并且只能访问遵循特定模式的特定密钥: