我见过的使用ECR仓库(用于docker)进行身份验证的规范方法是使用aws ecr get-login-password
命令https://docs.aws.amazon.com/AmazonECR/latest/userguide/registry_auth.html#registry-auth-token
我在一个无法安装aws
cli命令的环境中。有人知道通过API(如HTTP或SDK)生成此密码的方法吗?我假设由于它是通过AWS CLI完成的,因此它背后有一个API。但是我似乎找不到任何指南或文档。
1条答案
按热度按时间bkhjykvo1#
几乎每个Amazon文档都指向我们使用CLI或SDK,但也可以只使用API调用。
进行直接API调用有两个主要挑战:
在curl 7.75.0中,我们使用--aws-sigv 4选项来很好地处理这个问题。
它需要区域和服务代码,以及--user参数的值,其中区域和服务代码需要匹配API URL,而user的值取决于您的身份验证方法。
示例:
curl --url 'https://api.ecr.us-east-1.amazonaws.com' --aws-sigv4 "aws:amz:us-east-1:ecr" --user "<user>:<pass>"
ECR public和private终点有详细记录。
{}
'x-amz-target: SpencerFrontendService.<Action>
中传递Content-Type: application/x-amz-json-1.1