配置Anaconda客户端#

Anaconda 客户端使您能够将包上传到您的现场 Anaconda Enterprise 4 仓库,并提供高度细粒度的访问控制功能。以下说明描述了如何配置客户端以使用您的本地仓库而不是 Anaconda 云。

客户端配置#

在每台访问您现场存储库的机器上,以机器的本地用户身份运行此命令:

anaconda config --set url http://your.server.name:<port>/api

或者,要在系统范围内设置默认仓库,请运行以下命令:

anaconda config --set url http://your.server.name:<port>/api --site

注意:将 your.server.name 替换为您的本地仓库名称,并将 替换为仓库使用的端口名称。

系统级别的config文件仅在用户级别的config文件不存在时使用。

显示系统和用户的config文件位置和配置设置:

anaconda config --show

Conda配置#

当上述anaconda config步骤完成后,您可以从本地现场仓库访问所有包和频道,而不是从公共的Anaconda.org。

用户可以通过运行以下命令将个人账户添加到他们的.condarc文件中:

conda config --add channels USERNAME

如果您仍然想从公共Anaconda.org访问某些频道,请运行:

conda config --add channels http://conda.anaconda.org/USERNAME

注意:将 USERNAME 替换为您的用户名。

Conda 通道优先级#

要为conda搜索包安装的通道设置首选优先级,请编辑您的~/.condarc 文件并更改顺序。顶部的通道会首先被搜索。

例如:

channels:
  - channel
  - https://conda.anaconda.org/t/<token>/<channel2>
  - http://conda.anaconda.org/<channel1>
  - defaults

搜索的顺序是:

  1. 私有的现场仓库通道。

  2. 私有的Anaconda.org频道2。

  3. 公共的Anaconda.org频道1。

  4. 现场仓库的默认通道。

Pip 配置#

要从您的存储库安装PyPI包,请将您的频道添加到您的~/.pip/pip.conf配置文件中。

编辑文件并在全局配置部分添加一个extra-index-url条目:

[global]
extra-index-url = http://your.server.name:<port>/pypi/USERNAME/simple

注意:将 your.server.name 替换为您的本地仓库名称,将 替换为仓库使用的端口名称,并将 USERNAME 替换为您的用户名。

Kerberos配置#

如果您已按照配置存储库以使用Kerberos中的描述启用了Kerberos身份验证,您的浏览器和客户端应该能够使用Kerberos对存储库进行身份验证。

在macOS/Unix中,配置文件/etc/krb5.conf

[libdefaults]
default_realm = YOUR.DOMAIN

[realms]
YOUR.DOMAIN = {
  kdc = your.kdc.server
}

[domain_realm]
your.anaconda.repository = YOUR.DOMAIN

注意:将 YOUR.DOMAIN 替换为您的域名,your.kdc.server 替换为您的Kerberos密钥分发中心(KDC),并将 your.anaconda.repository 替换为您的本地仓库服务器。

如果您的配置正确,您应该能够使用命令行工具 kinit 进行身份验证:

kinit jsmith
anaconda login

注意:将 jsmith 替换为您的用户名。

浏览器设置#

许多浏览器默认情况下不会提供您的Kerberos凭据,以防止将凭据泄露给不受信任的第三方。为了使用Kerberos身份验证,您必须将Repository列入白名单,作为接收凭据的受信任方。

在配置白名单后,您必须重新启动浏览器,以便更改生效。

Safari#

Safari 不需要配置——它会自动呈现您的凭据,无需白名单。

Chrome#

必须将AuthServerWhitelist策略设置为 your.anaconda.repository 以允许Chrome向主机名为 your.anaconda.repository 的存储库提供凭据。 根据您的DNS配置, 可能还需要DisableAuthNegotiateCnameLookup来防止 Chrome在生成服务名称之前对主机名进行规范化。

注意:将 your.anaconda.repository 替换为您的本地仓库服务器。

在macOS上配置:

defaults write com.google.Chrome AuthServerWhitelist "your.anaconda.repository"

在Linux上:

mkdir -p /etc/opt/chrome/policies/managed
mkdir -p /etc/opt/chrome/policies/recommended
chmod -w /etc/opt/chrome/policies/managed
echo '{"AuthServerWhitelist": "your.anaconda.repository"}' > /etc/opt/chrome/policies/managed/anaconda_repo_policy.json

在Windows上,使用组策略对象将认证服务器白名单设置设置为your.anaconda.repository

欲了解更多信息,请参阅Chrome的SPNEGO认证管理 文档。

火狐浏览器#

  1. 导航到配置页面 about:config

  2. 搜索 negotiate

  3. 设置配置项 network.negotiate-auth.trusted-urisyour.anaconda.repository

注意:将 your.anaconda.repository 替换为您的本地仓库服务器。

Internet Explorer#

  1. 工具菜单中,选择Internet选项。

  2. 高级选项卡中,在安全部分,选择启用集成Windows身份验证。