控制对包的访问#
默认情况下,所有上传到Repository的包、笔记本和环境都是公开的,这意味着任何有权访问Repository的人都可以访问它们。
当你将包设为私有时,只有你和授权的用户才能访问它。
您可以通过两种方式授权用户访问您的私有包:
Use a group 在组织账户内部——只有登录的组成员才能访问该包。这是控制对私有包访问的最佳方式,因为它允许您为每个包、笔记本或环境设置单独的权限。
在你授予其他用户访问权限后,他们可以使用Web UI或客户端下载并安装你的包。
使包私有#
在Web UI中,在工具菜单中,选择包。
可选:如果您找不到所需的包,请在过滤器下的类型列表中选择全部。
选择您想要设为私有的每个包旁边的复选框。
点击设置标签,然后在侧边栏中点击管理标签。
注意:您也可以通过以下URL访问此页面:
https://<your-anaconda-repo>/USERNAME/PACKAGE/settings/admin
将
替换为您的本地仓库名称,USERNAME
替换为您的用户名,PACKAGE
替换为包的名称。点击设置访问权限,然后选择私有。
注意:您可以使用相同的步骤和URL来使Jupyter Notebooks和conda环境变为私有。
使用组来允许访问私有包#
创建一个令牌以允许访问私有包或频道#
您可以使用token系统来控制对私有包和渠道的访问。所有仓库URL都可以加上/t/
前缀以允许访问。
生成令牌时,令牌授予的访问程度是完全可配置的。您可以生成多个令牌,以控制哪些用户组在拥有适当令牌的情况下可以访问某些功能。
令牌提供对指定频道中所有包的访问权限。每个包、笔记本或环境的单独权限可能更适合通过组织和群组来处理。
您可以使用Web UI或Anaconda客户端生成令牌。
注意:默认情况下,令牌在一年后过期。
在Web UI中生成令牌#
使用客户端生成令牌#
在客户端终端窗口或Anaconda提示符中,运行:
anaconda auth --create --name YOUR-TOKEN-NAME --scopes 'repos conda:download'
注意:将
YOUR-TOKEN-NAME
替换为新令牌的名称。提供范围作为以空格分隔、带引号的列表。上述命令生成的令牌提供了访问下载任何您的私有conda存储库的权限。可用的范围有:
all
: 允许所有操作。api
: 允许所有API操作。api:modify-group
: 允许添加和修改组。api:read
: 允许对API站点进行读取访问。api:write
: 允许对API站点进行写访问。conda
: 允许对conda仓库进行所有操作。conda:download
: 允许从conda仓库进行私有下载。pypi
: 允许对PyPI仓库进行所有操作。pypi:download
: 允许从PyPI仓库进行私有下载。pypi:upload
: 允许上传到PyPI仓库。repos
: 允许访问所有包仓库。
您可以使用
conda config
命令启用令牌:conda config --add channels https://conda.anaconda.org/t/<token>/<channel>
或者添加一个带有令牌和标签的通道:
conda config --add channels https://conda.anaconda.org/t/<token>/<channel>/label/<labelname>
注意:将
替换为您的令牌字符串,````替换为所需的频道名称,并将
替换为标签名称。注意:如果您丢失了令牌的随机字母数字字符串,您必须撤销令牌并创建一个新的。
使用令牌#
令牌可用于:
添加一个通道以从中安装私有包:
conda config --add channels https://conda.<your-anaconda-repo>/t/<token>/<channel>
注意:将
替换为您的本地仓库名称,
替换为提供的令牌,
替换为用户频道。安装私有包而无需先添加频道:
conda install -c https://conda.<your-anaconda-repo>/t/<token>/<channel> <package>
要从使用令牌和标签名称的渠道安装包:
conda install -c https://conda.<your-anaconda-repo>/t/<token>/<channel>/label/<labelname> <package>
注意:将
替换为您的本地仓库名称,
替换为提供的令牌,
替换为用户频道,
替换为标签名称,
替换为要安装的包名称。安装一个私有的PyPI包:
pip install --index-url https://pypi.<your-anaconda-repo>/t/<token>/<channel>/PACKAGE
注意:将
替换为您的本地仓库名称,
替换为提供的令牌,
替换为用户频道,PACKAGE
替换为所需包的名称。注意:私有 PyPI 包也可以使用以下方式安装:
https://pypi.<your-anaconda-repo>/t/<token>/<channel>
撤销令牌#
您可以使用Web UI或客户端撤销令牌。
要使用Web UI撤销令牌,请从最右侧的下拉菜单中选择“我的设置”,然后从左侧导航中选择“访问”。
在页面底部,您将看到您生成的所有令牌的列表。点击您想要撤销的令牌的名称,然后在出现的对话框中,点击撤销令牌按钮。
或者使用Client撤销令牌,运行:
anaconda auth -r YOUR-TOKEN-NAME
注意:将YOUR-TOKEN-NAME
替换为您想要撤销的令牌的名称。