Azure Machine Learning 작업에서 인증 자격 증명 비밀 사용

적용 대상: Python SDK azure-ai-ml v2(현재)

사용자 이름 및 암호와 같은 인증 정보는 비밀입니다. 예를 들어 학습 데이터를 쿼리하기 위해 외부 데이터베이스에 연결하는 경우 사용자 이름 및 암호를 원격 작업 컨텍스트에 전달해야 합니다. 이러한 값을 일반 텍스트의 학습 스크립트에 코딩하는 것은 잠재적으로 비밀을 노출하므로 안전하지 않습니다.

Azure Key Vault를 사용하면 비밀을 안전하게 저장하고 검색할 수 있습니다. 이 문서에서는 컴퓨팅 클러스터에서 실행되는 학습 작업에서 Key Vault에 저장된 비밀을 검색하는 방법을 알아봅니다.

Important

Azure Machine Learning Python SDK v2 및 기계 학습용 Azure CLI 확장 v2는 비밀을 설정하거나 가져오는 기능을 제공하지 않습니다. 대신 이 문서의 정보는 Python용 Azure Key Vault 비밀 클라이언트 라이브러리를 사용합니다.

필수 조건

이 문서의 단계를 수행하기 전에 다음과 같은 필수 구성 요소가 있는지 확인합니다.

이 섹션의 많은 필수 구성 요소에는 기여자, 소유자 또는 Azure 구독 또는 리소스가 포함된 Azure 리소스 그룹에 대한 동등한 액세스 권한이 필요합니다. Azure 관리자에게 문의하여 이러한 작업을 수행하도록 해야 할 수 있습니다.

  • Azure 구독 Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다. Azure Machine Learning 평가판 또는 유료 버전을 사용해 보세요.

  • Azure Machine Learning 작업 영역 리소스가 없으면 시작하려면 리소스 만들기 문서의 단계에서 리소스를 만듭니다.

  • Azure Key Vault. 시작하려면 리소스 만들기 문서를 사용하여 작업 영역을 만든 경우 키 자격 증명 모음이 만들어집니다. 빠른 시작: Key Vault 만들기 문서의 정보를 사용하여 별도의 Key Vault 인스턴스를 만들 수도 있습니다.

    작업 영역과 동일한 Key Vault를 사용할 필요는 없습니다.

  • 관리 ID를 사용하도록 구성된 Azure Machine Learning 컴퓨팅 클러스터. 클러스터는 시스템 할당 또는 사용자 할당 관리 ID에 대해 구성할 수 있습니다.

  • 컴퓨팅 클러스터에 대한 관리 ID에 Key Vault에 저장된 비밀에 대한 액세스 권한을 부여합니다. 액세스 권한을 부여하는 데 사용되는 방법은 Key Vault가 구성된 방법에 따라 달라집니다.

  • Key Vault에 저장된 비밀 값. 그런 다음, 키를 사용하여 이 값을 검색할 수 있습니다. 자세한 내용은 빠른 시작: Azure Key Vault에서 비밀 설정 및 검색을 참조하세요.

    빠른 시작 링크는 Azure Key Vault Python SDK를 사용하는 단계입니다. 왼쪽 탐색 영역의 목차에는 키를 설정하는 다른 방법에 대한 링크가 있습니다.

비밀 가져오기

  1. 모델을 학습시킬 때 사용되는 Azure Machine Learning 환경azure-keyvault-secretsazure-identity 패키지를 추가합니다. 예를 들어 환경을 빌드하는 데 사용되는 conda 파일에 추가합니다.

    환경은 컴퓨팅 클러스터에서 학습 작업이 실행되는 Docker 이미지를 빌드하는 데 사용됩니다.

  2. 학습 코드에서 Azure ID SDKKey Vault 클라이언트 라이브러리를 사용하여 관리 ID 자격 증명을 가져오고 Key Vault에서 인증을 받습니다.

    from azure.identity import DefaultAzureCredential
    from azure.keyvault.secrets import SecretClient
    
    credential = DefaultAzureCredential()
    
    secret_client = SecretClient(vault_url="https://my-key-vault.vault.azure.net/", credential=credential)
    
  3. 인증 후 Key Vault 클라이언트 라이브러리를 사용하고 연결된 키를 제공하여 비밀을 검색합니다.

    secret = secret_client.get_secret("secret-name")
    print(secret.value)
    

다음 단계

Azure Machine Learning Python SDK v2를 사용하여 학습 작업을 제출하는 예제는 Python SDK v2를 사용하여 모델 학습을 참조하세요.