【发布时间】:2021-09-08 11:27:29
【问题描述】:
我目前正在使用Traefik 和Lego 来为我的docker 容器建立HTTPS 连接(如here 所述) 在下面的documentation中,提到我需要使用下面的provider来做DNS Challenge。
但我收到此错误:
AccessDeniedException: User: arn:aws:sts::<USER_ID>:assumed-role/AmazonLightsailInstanceRole/<AN_ID> is not authorized to perform: lightsail:CreateDomainEntry on resource: arn:aws:lightsail:us-east-1:<INSTANCE_ID>:*
另一个用于 DeleteDomainEntry,即使我对用于配置的 IAM 用户拥有Resource: * 上的lightsail:* 权限。
如果我理解正确的话,Lightsail 是为其他 AWS 服务单独管理的,因此我们需要使用 STS 来连接它(如果我错了,请告诉我)。所以我的问题是,如何设置临时令牌的权限才能执行 CreateDomainEntry 和 DeleteDomainEntry?
更多信息
- 我的实例所在区域是
eu-west-3(我尝试在乐高配置中更改区域,但不起作用) - 在错误中看到的
与在域的 ARN 中找到的 id 不对应。在 CLI 中执行 aws lightsail get-domains --region us-east-1时,它对应于supportCode中的第一个数字。 - Lego 和 Traefik 不直接调用 AssumeRole,也不创建临时令牌(查看源代码)
- 我在 Traefik 环境配置中使用
AWS_ACCESS_KEY_ID_FILE和AWS_SECRET_ACCESS_KEY_FILE。
【问题讨论】:
标签: amazon-web-services docker traefik lets-encrypt amazon-lightsail