开发者社区> 阿里云容器服务 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。

版权声明:本文中所有内容均属于阿里云开发者社区所有,任何媒体、网站或个人未经阿里云开发者社区协议授权不得转载、链接、转贴或以其他方式复制发布/发表。申请授权请邮件developerteam@list.alibaba-inc.com,已获得阿里云开发者社区协议授权的媒体、网站,在转载使用时必须注明"稿件来源:阿里云开发者社区,原文作者姓名",违者本社区将依法追究责任。 如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
上一篇:利用Packer自定义镜像创建容器集群
阿里云容器服务 ACK
使用钉钉扫一扫加入圈子
+ 订阅

云端最佳容器应用运行环境,安全、稳定、极致弹性

官方博客
官网链接