authentication 模块

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

支持的身份验证类型:

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

若要了解有关这些身份验证机制的详细信息,请参阅 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 ML 令牌。 类只能在提交的运行上下文中使用。 令牌不能用于任何 ARM作,例如预配计算。 远程执行程序时,Azure ML 令牌非常有用,因为使用用户的专用凭据可能不安全。 此类的使用者应调用类方法创建,该方法创建一个新对象或返回具有相同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(受众)

使用受访问群体范围的 AAD 令牌管理身份验证。

当令牌生成及其刷新不在 AML SDK 之外时,令牌身份验证适用。 这种类型的身份验证可以更好地控制令牌生成及其刷新。

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

此类需要 提供get_token_for_audience 方法来检索令牌。

如何调用get_token_for_audience并将其传递给受众get_token_for_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 类。