authentication 모듈

Azure Machine Learning에서 다양한 형식의 인증을 관리하기 위한 기능이 포함되어 있습니다.

지원되는 인증 형식:

  • 대화형 로그인 - Azure Machine Learning SDK를 사용하는 경우 기본 모드입니다. 대화형 대화 상자를 사용합니다.
  • Azure CLI - azure-cli 패키지와 함께 사용할 수 있습니다.
  • 서비스 주체 - 자동화된 Machine Learning 워크플로와 함께 사용할 수 있습니다.
  • MSI - Azure Virtual Machine과 같은 관리되는 서비스 ID 지원 자산과 함께 사용할 수 있습니다.
  • Azure ML 토큰 - 제출된 실행을 위해서만 Azure ML 토큰을 획득하는 데 사용됩니다.

이 인증 메커니즘에 관한 자세한 내용은 https://aka.ms/aml-notebook-auth를 참조하세요.

클래스

AbstractAuthentication

Azure Machine Learning에서 모든 인증 클래스의 추상 부모 클래스입니다.

파생 클래스는 대상 사용 사례에 따라 토큰을 인증하고 획득하는 다양한 방법을 제공합니다. 인증의 예는 https://aka.ms/aml-notebook-auth를 참조하세요.

클래스 AbstractAuthentication 생성자입니다.

AccessToken

AccessToken(토큰, expires_on)의 새 instance 만들기

ArmTokenAuthentication

서비스 원칙 또는 관리되는 서비스 ID 인증을 사용하여 ARM 액세스 토큰을 획득하기 위해 내부적으로 사용됩니다.

관리되는 액세스 제어가 필요한 자동화된 워크플로의 경우 대신 ServicePrincipalAuthentication를 사용합니다.

클래스 ArmTokenAuthentification 생성자입니다.

AzureCliAuthentication

인증을 관리하고 Azure CLI를 사용하여 액세스 토큰을 얻습니다.

이 클래스를 사용하려면 azure-cli 패키지가 설치되어 있어야 합니다. 더 나은 Azure Notebooks 환경을 위해 InteractiveLoginAuthentication 클래스를 사용합니다.

클래스 Azure Cli 인증 생성자입니다.

AzureMLTokenAuthentication

제출된 실행 컨텍스트에서 인증 및 액세스 토큰을 관리합니다.

Azure Machine Learning 토큰은 실행이 제출될 때 생성되며 실행을 제출한 코드에서만 사용할 수 있습니다. AzureMLTokenAuthentication 클래스는 제출된 실행의 컨텍스트에서만 사용할 수 있습니다. 반환된 토큰은 컴퓨팅 프로비저닝과 같은 ARM(Azure Resource Manager) 작업에 사용할 수 없습니다. Azure Machine Learning 토큰은 사용자의 프라이빗 자격 증명을 사용하는 것이 안전하지 않을 수 있는 프로그램을 원격으로 실행할 때 유용합니다.

Azure ML 토큰으로 사용자에게 권한을 부여합니다.

Azure ML 토큰은 실행이 제출될 때 생성되며 제출된 코드에서만 사용할 수 있습니다. 클래스는 제출된 실행의 컨텍스트에서만 사용할 수 있습니다. 토큰은 컴퓨팅 프로비저닝과 같은 ARM 작업에 사용할 수 없습니다. Azure ML 토큰은 사용자의 개인 자격 증명을 사용하는 것이 안전하지 않을 수 있는 원격으로 프로그램을 실행할 때 유용합니다. 이 클래스의 소비자는 새 개체를 만들거나 제공된 동일한 run_scope(subscription_id, resource_group_name, workspace_name, experiment_name, run_id)을 사용하여 등록된 instance 반환하는 클래스 메서드 create를 호출해야 합니다.

InteractiveLoginAuthentication

대화형 로그인 워크플로에서 인증을 관리하고 인증 토큰을 얻습니다.

대화형 로그인 인증은 고유의 컴퓨터에서 로컬 실험에 적합하며 Azure Machine Learning SDK를 사용할 때 기본 인증 모델입니다. 예를 들어 Jupyter Notebook에서 로컬로 작업할 때 대화형 로그인 인증 프로세스는 자격 증명이 아직 없는 경우 자격 증명을 묻는 브라우저 창이 열립니다.

클래스 대화형 로그인 인증 생성자입니다.

이 생성자는 사용자에게 로그인하라는 메시지를 표시한 다음, 후속 시도에 대한 자격 증명을 저장합니다. 사용자가 이미 Azure CLI에 로그인했거나 이전에 로그인한 경우 생성자는 프롬프트 없이 기존 자격 증명을 로드합니다. 이 Python 프로세스가 Azure Notebook 서비스에서 실행 중인 경우 생성자는 Azure Notebooks에서 "azure에 연결" 기능을 사용하려고 시도합니다. 이 Python 프로세스가 Notebook VM에서 실행 중인 경우 생성자는 MSI 인증을 사용하려고 시도합니다.

MsiAuthentication

Azure Active Directory에서 관리 ID를 사용하여 인증을 관리합니다.

Azure VM(가상 머신)에서 Azure ML SDK를 사용하는 경우 관리 ID(이전의 관리되는 서비스 ID - MSI)로 인증할 수 있습니다. 관리 ID를 사용하면 Python 코드에 자격 증명을 저장하지 않고도 VM을 작업 영역에 연결할 수 있으므로 특정 사용자 로그인에서 인증 프로세스를 분리할 수 있습니다.

클래스 MsiAuthentication 생성자입니다.

ServicePrincipalAuthentication

사용자 ID 대신 서비스 주체를 사용하여 인증을 관리합니다.

서비스 주체 인증은 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 클래스에만 사용됩니다.