Certbot Route53 DNS01 挑战问题

问题描述 投票:0回答:1

这似乎不是一个新问题,但在阅读了许多 Medium 文章、Certbot 文档和这里的一些资源后,我仍然陷入困境。

政策:

{
    "Version": "2012-10-17",
    "Id": "certbot-dns-route53",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "route53:ListHostedZones",
                "route53:GetChange"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "route53:ChangeResourceRecordSets"
            ],
            "Resource": [
                "arn:aws:route53:::hostedzone/<MY ZONE ID>"
            ]
        }
    ]
}

这是附加了一个 IAM 用户

certbot
。最近我在某个地方读到,还需要角色......以及 CLI 访问密钥。因为我不记得关键用例,所以我给了以前的密钥集,所以我创建了一个新的 CLI 集。我开始创建角色...并选择 AWS 账户作为可信实体...并注意到我的号码与错误中的号码不同。我为另一个帐户创建了一个新角色,并在错误中使用了该神秘号码。在这两种情况下,我都将我的
certbot
策略附加到角色。

命令:

sudo certbot certonly --dns-route53 -d mydomain.here -d *.mydomain.here

输出:

An error occurred (AccessDenied) when calling the ListHostedZones operation: User: arn:aw
s:sts::202977929711:assumed-role/AmazonLightsailInstanceRole/i-088261ad1557b1d5d is not a
uthorized to perform: route53:ListHostedZones because no identity-based policy allows the
 route53:ListHostedZones action
To use certbot-dns-route53, configure credentials as described at https://boto3.readthedo
cs.io/en/latest/guide/configuration.html#best-practices-for-configuring-credentials and a
dd the necessary permissions for Route53 access.

密钥的公共和私有部分位于我的 .bashrc 中并导出。如果我更改密钥,我会收到不同的错误,因此我认为该部分工作正常。我迷路了。基本上错误(除了当我改变按键时)保持不变。

amazon-web-services amazon-route53 certbot
1个回答
0
投票

我找到的答案来自这里的 stackoverflow 问题:Certbot 无法找到环境变量凭证。我们的错误对我来说似乎非常不同,但该人问题中对

sudo
的解释引起了我的注意。

简而言之,使用

sudo
会使
.bashrc
文件中的值导出无效。因此,我将值放入
~/.aws/config
中,并创建了从
/root
到我的主目录的符号链接。

sudo ln -s ~/.aws/ /root/.aws

© www.soinside.com 2019 - 2024. All rights reserved.