簡體   English   中英

在EC2實例上使用IAM角色“無基本身份驗證憑據”

[英]“No basic auth credentials” using IAM role on EC2 instance

我的EC2實例無法使用IAM角色進行身份驗證。 該實例在AWS控制台中顯示了正確的角色: IAM role: Docker-WorkerRole-DPET4SO6HV87 單擊以打開“角色”控制台,在其中可以看到列出的正確策略: 'ecr-pull-image' 單擊顯示以下權限:

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Action": [
                "ecr:GetDownloadUrlForLayer",
                "ecr:BatchGetImage",
                "ecr:BatchCheckLayerAvailability"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

可信實體選項卡顯示:

The identity provider(s) autoscaling.amazonaws.com
The identity provider(s) ec2.amazonaws.com

它可以在模擬器中工作。

但是當我跳到那個實例並嘗試提取圖像時,我沒有基本的身份驗證憑據

$ docker pull 4----------7.dkr.ecr.us-west-2.amazonaws.com/gc01_data:1.0.0
Error response from daemon: Get https://4----------7.dkr.ecr.us-west-2.amazonaws.com/v2/gc01_data/manifests/1.0.0: no basic auth credentials

或者,在嘗試docker stack deploy之后 ,我的docker.log顯示相同:

Aug 29 21:05:15 moby root: time="2017-08-29T21:05:15.434428743Z" level=debug msg="Trying to pull 4----------7.dkr.ecr.us-west-2.amazonaws.com/gc01_data from https://4----------7.dkr.ecr.us-west-2.amazonaws.com v2"  
Aug 29 21:05:15 moby root: time="2017-08-29T21:05:15.449145816Z" level=info msg="Attempting next endpoint for pull after error: Get https://4----------7.dkr.ecr.us-west-2.amazonaws.com/v2/gc01_data/manifests/1.0.0: no basic auth credentials"  

看不到缺少的東西。 謝謝。

好的,我應該說這是一個Docker-4-AWS Swarm實例,所以這是一個已知問題: https : //github.com/docker/for-aws/issues/5

作為權宜之計,我正在使用@blaketastic的使用swarm的aws-aws的方式

docker exec -it guide-aws sh -c 'aws ecr get-login --region us-east-1 --no-include-email'

這是一種無需在實例上使用/存儲AWS憑證即可訪問ecr的方法。

暫無
暫無

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

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