我現在有一個私有 ECR 存盤庫和一個 EC2 實體。如果我想從本地機器的私有 ECR 中提取影像,我必須使用 aws configure 設定我的 AWS 憑證并執行 docker login。
現在,我想從 EC2 實體中提取影像。當我嘗試直接運行 docker 命令時,它告訴我先進行身份驗證。是否可以將 IAM 角色附加到我的 EC2 實體并跳過 docker login 或 aws ecr login 作業流程?
目前,我只能在 EC2 實體中運行 aws configure,而且似乎需要一個額外的 IAM 用戶,而我試圖避免這樣做。
uj5u.com熱心網友回復:
我必須使用 aws configure 設定我的 AWS 憑證并執行 docker 登錄。
你不必。如果您的代碼在 EC2 上運行,您應該使用實體 IAM 角色,而不是使用aws configure.
uj5u.com熱心網友回復:
您不必aws configure在 EC2 機器上運行,事實上這將是一個糟糕的安全實踐。您應該附加一個 AWS 角色,該角色允許 EC2 實體獲取影像,更重要的是,可以獲取 ECR 注冊表的授權令牌。例如,您可以創建具有以下權限的策略以對 ECR 影像具有只讀訪問權限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"ecr:DescribeImages",
"ecr:GetAuthorizationToken",
"ecr:ListImages"
],
"Resource": "*"
}
]
}
使用此策略,創建一個新的 IAM 服務角色并將其附加到 EC2 實體。
現在,即使您附加了此角色,您也必須使用授權令牌對 Docker CLI 進行身份驗證。
uj5u.com熱心網友回復:
除了此處發布的其他答案指出您應該使用 EC2 IAM 角色而不是使用 配置角色之外aws configure,我還建議在您的 EC2 實體上安裝Amazon ECR Credential Helper 。那么您將不必執行docker login.
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/429180.html
標籤:亚马逊网络服务 码头工人 亚马逊-ec2 亚马逊 亚马逊-ecr
上一篇:無法使用前端dockerfile.v0解決:無法創建LLB定義:docker.io/bcgovimages/von-image:py36-indy1.3.1-dev-441-ew-s2i:未找到
