控制对包的访问¶
默认情况下,上传到 Repository 的所有包、笔记本和环境都是公开的,这意味着任何有权访问 Repository 的人都可以访问它们。
当您将包设为私有时,只有您和您授权的用户才能访问它。
您可以通过两种方式授权用户访问您的私人包:
- 使用组织帐户内的组- 只有登录的组成员才能访问包。这是控制对私有包的访问的最佳方式,因为它允许您为每个包、笔记本或环境设置单独的权限。
- 使用令牌控制系统——只有拥有适当令牌的用户才能访问私有包或频道。
在您授予其他用户访问权限后,他们可以使用 Web UI 或客户端下载并安装您的软件包。
将包设为私有¶
在 Web UI 的工具菜单中,选择包。
可选:如果您要查找的包不可见,请在过滤器下的类型列表中选择全部。
选中要设为私有的每个包旁边的复选框。
单击“设置”选项卡,然后单击边栏中的“管理”选项卡。
注意:您也可以通过以下 URL 访问此页面:
https://<your-anaconda-repo>/USERNAME/PACKAGE/settings/admin
替换
<your-anaconda-repo>
为您本地存储库的名称、您USERNAME
的用户名和PACKAGE
包的名称。单击设置访问权限,然后选择私有。
注意:您可以使用相同的过程和 URL 将 Jupyter Notebooks 和 conda 环境设为私有。
创建令牌以允许访问私有包或频道¶
您可以使用令牌系统控制对私有包和频道的访问
。所有存储库 URL 都可以添加前缀/t/<token>
以允许访问。
生成令牌时,令牌授予的访问程度是完全可配置的。您可以生成多个令牌来控制哪些用户组可以访问某些功能(如果他们拥有适当的令牌)。
令牌提供对指定频道中所有包的访问。组织和组可以更好地处理每个包、笔记本或环境的单独权限。
您可以使用 Web UI 或 Anaconda Client 生成令牌。
注意:默认情况下,令牌会在一年后过期。
在 Web UI 中生成令牌¶
导航:
https://<your-anaconda-repo>/<channel>/settings/access
注意:替换
<your-anaconda-repo>
为您本地存储库<channel>
的名称和所需频道的名称。在令牌名称框中,键入令牌的名称:
为您希望允许此令牌用户的访问类型选择相应的复选框。
示例:要允许用户从私有渠道下载私有包或包,请选择允许从 Conda 存储库进行私有下载。
单击创建按钮。
使用客户端生成令牌¶
在客户端窗口或 Anaconda Prompt 中,运行:
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>
注意:替换
<token>
为您的令牌字符串,``<channel>`` 替换为所需的频道名称和<labelname>
标签名称。
使用令牌¶
令牌可用于:
添加用于安装私有包的通道:
conda config --add channels https://conda.<your-anaconda-repo>/t/<token>/<channel>
注意:替换
<your-anaconda-repo>
为您本地存储库的名称、<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>
注意:替换
<your-anaconda-repo>
为您本地存储库的名称、<token>
提供的令牌、<channel>
用户频道、<labelname>
标签名称和<package>
要安装的包的名称。安装私有 PyPI 包:
pip install --index-url https://pypi.<your-anaconda-repo>/t/<token>/<channel>/PACKAGE
注意:替换
<your-anaconda-repo>
为您本地存储库的名称、<token>
提供的令牌、<channel>
用户频道和PACKAGE
所需包的名称。注意:也可以使用以下方法安装私有 PyPI 包:
https://pypi.<your-anaconda-repo>/t/<token>/<channel>