簡體   English   中英

嘗試使用 Certbot 和 Route53 插件獲取通配符 SSL 時出現 AccessDenied 錯誤

[英]Getting AccessDenied Error Trying to Get Wildcard SSL with Certbot and Route53 Plugin

我的任務是為某些域設置 Wilcard SSL。 這些域通過 AWS Route53 托管。

我在托管應用程序的Ubuntu 20.4機器上使用Certbot 我還為 Certbot 安裝了 Route53 DNS 插件。

我運行這個命令:

sudo certbot certonly --dns-route53 --email 'me@derp.com' --domain 'mywebsite.rocks' --domain '*.mywebsite.rocks' --agree-tos --non-interactive

出於安全原因刪除真實域

我收到此錯誤:

An error occurred (AccessDenied) when calling the ListHostedZones operation: User: arn:aws:sts::789148085273:assumed-role/AmazonLightsailInstanceRole/i-0871f2572906140c4 is not authorized to perform: route53:ListHostedZones because no identity-based policy allows the route53:ListHostedZones action

首先讓我解釋一下我是如何在 AWS 控制台中設置 IAM 用戶的。

  1. 我使用此配置創建了一個新策略
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "derp0",
            "Effect": "Allow",
            "Action": [
                "route53:GetHostedZone",
                "route53:ChangeResourceRecordSets",
                "route53:ListResourceRecordSets"
            ],
            "Resource": "arn:aws:route53:::hostedzone/WHAT-EVER-MY-ID-IS-HERE"
        },
        {
            "Sid": "derp1",
            "Effect": "Allow",
            "Action": "route53:ListHostedZones",
            "Resource": "*"
        }
    ]
}

用我的實際域的托管區域 ID 替換WHAT-EVER-MY-ID-IS-HERE

  1. 然后我創建了一個新的IAM 用戶,並在設置過程中將上述策略附加到該用戶。

  2. 然后,我為我的新用戶創建了一個訪問密鑰,並記下了AccessKeyIdSecretAccessKey 這可以以編程方式使用。

  3. 在服務器上,我按照文檔中的說明在/root/.aws/config中創建了一個配置文件。 我也試過~/.aws/config但因為我使用sudo前者似乎是首選位置(雖然我可能是錯的,並且在我的測試期間,無論如何都沒有用)

如前所述,我運行命令並收到錯誤。

在web上下找了解決辦法,沒找到。

感謝我能從民間獲得的任何幫助。

快速檢查后,我找到了以下文章:

https://certbot-dns-route53.readthedocs.io/en/stable/

看看它,它可能會幫助您設置必要的策略。

當然,如果不是必須使用 AWS,您始終可以將網站部署到另一個提供商,而無需設置策略,一切都會順利進行。

您需要做的是單擊“訪問管理”下的“角色”鏈接: 在此處輸入圖像描述

然后搜索導致錯誤的“角色”,因為它沒有足夠的權限,因此在您的情況下,您的錯誤消息表明它是“AmazonLightsailInstanceRole”。 找到該角色后,附加一個具有“route53:ListHostedZones”權限的策略。 不確定為什么您的錯誤消息顯示“AmazonLightsailInstanceRole”的“假定角色”,但我的是“AmazonSSMRoleForInstancesQuickSetup”,它給我的錯誤與您遇到的錯誤相同。 但是在我附加了一個具有“certbot-dns-rout53”指定權限的策略之后,它能夠獲取並安裝證書。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM