利用临时用户名和密码登录容器镜像仓库-阿里云开发者社区

开发者社区> 阿里云容器服务 ACK> 正文
登录阅读全文

利用临时用户名和密码登录容器镜像仓库

简介: 利用临时用户名和密码登录容器镜像仓库

image

阿里云容器镜像仓库服务提供了丰富的权限控制方式,可以细粒度的控制账号对镜像仓库的访问权限。相关文档可以参见访问控制文档

但有时候,我们只是让别人能够访问自己的镜像仓库,不想为TA创建一个子账号然后授权。这种情况下可以利用临时用户名和密码的方式授权。

查看镜像仓库的开发文档,我们发现有这么一个API可以创建一个有效期为1小时的临时用户和密码

Get /tokens HTTP/1.1

调用这个API,可以获得一个临时用户名及密码,以及有效期。那么我们尝试用aliyuncli 来访问一下,看看结果是怎样的:

$ aliyun cr GET /tokens --endpoint=cr.cn-hangzhou.aliyuncs.com
{
    "data": {
        "expireDate": 1571805689000,
        "authorizationToken": "***",
        "tempUserName": "cr_temp_user"
    },
    "requestId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}

解读一下返回的结果,tempUserName的值cr_temp_user 是临时用户名,authorizationToken的值是对应的临时密码。

用docker登录一下,成功了。

$docker login registry.cn-hangzhou.aliyuncs.com
Username: cr_temp_user
Password: (输入authorizationToken值)
Login Succeeded

那么,这个临时用户名的有效期是多长呢?从上面对API调用的expireDate值是以ms表示的Unix epoch time。我们可以再Mac上用如下命令解读:

$date -r 1571805689
Wed Oct 23 12:41:29 CST 2019

也就是说有效期为1个小时。

好的,现在你可以放心大胆的让别人临时访问你的镜像仓库了。Enjoy ACR。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享: