如何为Lambda配置删除ElastiCache(Redis)特定密钥的最小IAM权限
针对ElastiCache Redis删除特定密钥的Lambda IAM最小权限
要给Lambda配置精准的最小权限,需要分两种场景讨论,核心取决于你的ElastiCache Redis集群是否启用了IAM身份认证:
场景1:未启用IAM身份认证
此时Lambda访问Redis仅依赖网络可达性(VPC配置、安全组放行)以及Redis自身的认证(如密码),IAM角色不需要任何ElastiCache相关权限。仅需保留Lambda运行必需的CloudWatch日志权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" } ] }
场景2:启用了IAM身份认证
这时候需要给Lambda的执行角色添加elasticache:Connect权限,并且精准指定目标Redis集群的ARN,避免权限过度开放。同时保留日志基础权限:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" }, { "Effect": "Allow", "Action": "elasticache:Connect", "Resource": "arn:aws:elasticache:你的区域:你的账号ID:cluster:你的Redis集群名称" } ] }
额外注意
Redis层面的DEL命令权限需要单独配置:如果你的Redis启用了ACL,要确保Lambda使用的Redis用户拥有执行DEL命令的权限,这部分属于Redis内部的访问控制,和IAM权限无关。
内容的提问来源于stack exchange,提问作者user2921009
相关产品推荐
相关产品推荐

