【发布时间】:2021-07-25 10:02:34
【问题描述】:
我正在尝试在 AWS Lightsail wordpress 实例和 Route53 上获取 Let's Encrypt 自动证书更新。
我使用these official instructions 将 SSL 证书添加到 AWS Lightsail wordpress 网站。
Site SSL 工作正常,但我正在寻找一种自动重新发布的方法,并找到了 certbot 插件 - certbot-dns-route53
我为更新创建了一个单独的 AWS 非管理员用户,并按照 certbot 官方文档的建议添加了策略
{
"Version": "2012-10-17",
"Id": "certbot-dns-route53 sample policy",
"Statement": [
{
"Effect": "Allow",
"Action": [
"route53:ListHostedZones",
"route53:GetChange"
],
"Resource": [
"*"
]
},
{
"Effect" : "Allow",
"Action" : [
"route53:ChangeResourceRecordSets"
],
"Resource" : [
"arn:aws:route53:::hostedzone/MYZONEID"
]
}
]
}
我将 API 访问信息放在环境变量和 ~/.aws.config 文件中。
我执行了命令-
sudo certbot certonly --dns-route53 --dns-route53-propagation-seconds 30 --dry-run -d 'domain.
com,*.domain.com'
我收到以下错误 -
调用 ListHostedZones 时发生错误 (AccessDenied) 操作:用户:arn:aws:sts::548507530525:assumed-role/Amaz onLightsailInstanceRole/i-00ff79ff762ac0576 无权 执行: route53:ListHostedZones 要使用 certbot-dns-route53,请配置 凭据描述于 https://boto3.readthedocs.io/en/latest/guide/configuration.h tml#best-practices-for-configuring-credentials 并添加必要的 Route53 访问权限
我也尝试了 ~.aws/config 和凭据文件 -
配置-
[profile cross-account]
role_arn=arn:aws:iam::XXXXXXXXXXX:user/domain_cert_update
source_profile=default
凭证 -
[default]
aws_access_key_id=ACCESSKEY
aws_secret_access_key=SECRETKEYHERE
我不确定如何将 /i-00ff79ff762ac0576 的 lightsail 实例正确分配给策略。我已经阅读了它链接的配置指南,但没有帮助。
【问题讨论】:
标签: amazon-web-services amazon-iam amazon-route53 lets-encrypt amazon-lightsail