authentication 模块

包含用于在 Azure 机器学习中管理不同类型的身份验证的功能。

支持的身份验证的类型:

  • 交互式登录 - 使用 Azure 机器学习 SDK 时的默认模式。 使用交互式对话。
  • Azure CLI - 与 azure-cli 包配合使用。
  • 服务主体 - 与自动化机器学习工作流配合使用。
  • MSI - 与启用了托管服务标识的资产(例如 Azure 虚拟机)配合使用。
  • Azure 机器学习令牌 - 用于获取 Azure 令牌(仅适用于已提交的运行)。

若要详细了解这些身份验证机制,请参阅 https://aka.ms/aml-notebook-auth

AbstractAuthentication

Azure 机器学习中所有身份验证类的抽象父类。

派生类提供了不同的方法,用于根据目标用例进行身份验证和获取令牌。 有关身份验证的示例,请参阅 https://aka.ms/aml-notebook-auth

AccessToken

包含用于在 Azure 机器学习中管理不同类型的身份验证的功能。

支持的身份验证的类型:

  • 交互式登录 - 使用 Azure 机器学习 SDK 时的默认模式。 使用交互式对话。
  • Azure CLI - 与 azure-cli 包配合使用。
  • 服务主体 - 与自动化机器学习工作流配合使用。
  • MSI - 与启用了托管服务标识的资产(例如 Azure 虚拟机)配合使用。
  • Azure 机器学习令牌 - 用于获取 Azure 令牌(仅适用于已提交的运行)。

若要详细了解这些身份验证机制,请参阅 https://aka.ms/aml-notebook-auth

ArmTokenAuthentication

在内部使用,以使用服务原则或托管服务标识身份验证获取 ARM 访问令牌。

对于需要托管访问控制的自动化工作流,请改为使用 ServicePrincipalAuthentication

AzureCliAuthentication

管理身份验证,并使用 Azure CLI 获取访问令牌。

若要使用此类,必须安装 azure-cli 包。 为了实现更好的 Azure Notebooks 体验,请使用 InteractiveLoginAuthentication 类。

AzureMLTokenAuthentication

管理已提交运行的上下文中的身份验证和访问令牌。

提交运行时会生成 Azure 机器学习令牌,并且仅适用于提交运行的代码。 AzureMLTokenAuthentication 类只能在提交的运行的上下文中使用。 返回的令牌不能用于任何 Azure 资源管理器 (ARM) 操作,比如预配计算。 在远程执行程序时,使用用户的专用凭证可能不安全,Azure 机器学习令牌非常有用。

InteractiveLoginAuthentication

管理身份验证,并获取交互式登录工作流中的授权令牌。

交互式登录身份验证适用于自己计算机上的本地试验,它也是使用 Azure 机器学习 SDK 时的默认身份验证模型。 例如,在本地 Jupyter 笔记本中操作时,交互式登录身份验证过程会打开一个浏览器窗口,提示你输入凭据(如果还没有凭据)。

MsiAuthentication

使用 Azure Active Directory 中的托管标识管理身份验证。

在 Azure 虚拟机 (VM) 上使用 Azure ML SDK 时,可以使用托管标识(以前称为托管服务标识 - MSI)进行身份验证。 使用托管标识允许 VM 连接到工作区,而无需在 Python 代码中存储凭据,从而将身份验证过程与任何特定的用户登录分离。

ServicePrincipalAuthentication

使用服务主体而不是用户标识管理身份验证。

服务主体身份验证适用于自动化工作流,例如 CI/CD 方案。 这种类型的身份验证将身份验证过程与任何特定的用户登录分离,并允许托管访问控制。

TokenAuthentication

使用按受众限定范围的 AAD 令牌管理身份验证。

令牌身份验证适用于令牌生成及其刷新在 AML SDK 之外的情况。 这种类型的身份验证允许更好地控制令牌生成及其刷新。

对于需要托管访问控制的自动化工作流,请改为使用 ServicePrincipalAuthentication

此类需要提供 get_token_for_audience 方法,将调用该方法来检索令牌。

示例 get_token_for_audience 将如何被调用和传递受众 get_token_for_audience(audience)

枚举

Audience

AML 支持的受众。 仅与 TokenAuthentication 类一起使用。