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

类 AbstractAuthentication 构造函数。

AccessToken

创建 AccessToken (令牌的新实例,expires_on)

ArmTokenAuthentication

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

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

类 ArmTokenAuthentification 构造函数。

AzureCliAuthentication

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

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

类 Azure Cli 身份验证构造函数。

AzureMLTokenAuthentication

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

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

通过其 Azure ML 令牌授权用户。

提交运行时,将生成 Azure 机器学习令牌,该令牌仅可用于提交的代码。 类只能在提交的运行的上下文中使用。 令牌不能用于任何 ARM 操作,例如预配计算。 远程执行程序时,Azure ML 令牌非常有用,因为使用用户的专用凭据可能不安全。 此类的使用者应调用类方法 create,该方法创建一个新对象或返回具有相同run_scope (subscription_id、resource_group_name、workspace_name、experiment_name run_id) 的已注册实例。

InteractiveLoginAuthentication

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

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

类交互式登录身份验证构造函数。

此构造函数将提示用户登录,然后保存凭据以供后续尝试使用。 如果用户已登录到 Azure CLI 或之前已登录,则构造函数将在不提示的情况下加载现有凭据。 当此 python 进程在 Azure Notebook 服务中运行时,构造函数将尝试使用 Azure Notebooks 中的“连接到 azure”功能。 如果此 python 进程在 Notebook VM 上运行,构造函数将尝试使用 MSI 身份验证。

MsiAuthentication

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

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

类 MsiAuthentication 构造函数。

ServicePrincipalAuthentication

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

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

类 ServicePrincipalAuthentication 构造函数。

TokenAuthentication

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

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

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

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

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

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

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

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

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

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

其中受众可以是 ARM 或 AML 身份验证 = TokenAuthentication (get_token_for_audience)

  AML audience value passed to get_token_for_audience can be retrieved by :
  auth.get_aml_resource_id(cloud)

  ARM audience value passed to get_token_for_audience can be retrieved by :
  auth._cloud_type.endpoints.active_directory_resource_id

枚举

Audience

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