容器服务Docker K8S(en)

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

2019-10-23 00:00:00 mimukeji

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。

(en)

阿里云优惠新机+优惠券

本文转载自网络,如有侵权,请联系我们删除。

Home

About

product

success

news

form

bbs

contact

工单(en)

阿里云报价咨询(en)