如何授予AWS API Gateway读取mTLS信任存储S3 URI的权限
在HTTP集成的API Gateway自定义域名上配置mTLS的S3权限与角色关联
一、配置IAM角色的权限与信任策略
你创建的IAM角色需要两个关键配置:
- 权限策略:允许API Gateway读取存储CA证书的S3对象
给角色附加以下自定义策略(替换成你的桶名和CA文件路径):{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::your-ca-bucket/your-ca-bundle.pem" } ] } - 信任策略:允许API Gateway服务扮演该角色
修改角色的信任关系为:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
二、将角色关联到自定义域名的mTLS配置
这个角色不需要关联到HTTP集成的执行角色,而是直接绑定到自定义域名的mTLS设置里,步骤如下:
- 打开API Gateway控制台,进入「自定义域名」页面,找到目标域名
- 点击「编辑」,滚动到「Mutual TLS认证」区域
- 在已填写的「CA证书包的S3位置」下方,点击「选择IAM角色」,选中你配置好的角色
- 保存配置,等待API Gateway完成域名更新(通常需要几分钟)
注意事项
- 如果S3桶有自定义桶策略,确保没有拒绝
apigateway.amazonaws.com的GetObject请求 - CA证书必须是PEM格式,且S3路径要完全匹配(包括桶名和对象的完整键)
- 角色的信任策略不能写错,否则API Gateway无法获取权限读取S3中的CA文件
内容的提问来源于stack exchange,提问作者user1055568
相关产品推荐
相关产品推荐

