Amazon-Web-Services

(AccessDenied) 呼叫UploadServerCertificate操作時:使用者xxx無權執行:iam:UploadServerCertificate

  • June 11, 2020

管理員將我添加為 IAM 使用者。我創建了自簽名證書(私鑰+證書),並嘗試通過創建新的經典負載均衡器來上傳它們。

從昨天開始,我一直在嘗試解決這個問題。起初,管理員將這些權限分配給了我:

在此處輸入圖像描述 然後,他嘗試自己將證書添加到負載均衡器並再次:

Failed to create load balancer: Server Certificate not found for the key: 
arn:aws:iam::845477561111:server-certificate/mycertificate

最後,他給了我管理員角色,以便能夠自己添加證書,但由於拒絕訪問,我無法上傳它們。我不明白我在哪一部分做錯了。IAM 使用者是否無法創建證書並將其添加到負載均衡器,無論他們擁有什麼權限?

我會很感激任何幫助

上傳自簽名證書是一項 IAM 功能。如果您的 IAM 使用者被拒絕執行iam:UploadServerCertificateiam:*(所有 IAM 函式)權限,那麼您將無法上傳您的證書。

AWSCertificateManagerFullAccessIAM 政策不會幫助您解決此問題。此策略(以及所有“CertificateManager”策略)僅適用於 ACM 功能。

由於您的管理員為您上傳了證書,因此您在嘗試創建負載均衡器時可能仍會遇到 IAM 權限問題。這是因為您無權“列出”可用證書,因此 AWS 會為您提供新錯誤:

無法創建負載均衡器:找不到密鑰的伺服器證書:arn:aws:iam::845477561111:server-certificate/mycertificate

要解決您的問題,您的管理員需要授予您使用 IAM 功能的權限。將此策略應用於您的使用者將(希望)允許您將證書分配給負載均衡器:

{
   "Version": "2012-10-17",
   "Statement": [
       {
           "Sid": "VisualEditor0",
           "Effect": "Allow",
           "Action": [
               "iam:GetServerCertificate",
               "iam:UpdateServerCertificate",
               "iam:ListServerCertificates",
               "iam:UploadServerCertificate"
           ],
           "Resource": "*"
       }
   ]
}

如果您的管理員認為您應該已經擁有這些權限,請仔細檢查是否有其他策略明確拒絕您的 IAM 權限。

還:

IAM 使用者是否無法創建證書並將其添加到負載均衡器,無論他們擁有什麼權限?

絕對不!你不能做任何你沒有被授予權限的事情。

引用自:https://serverfault.com/questions/1021059