빌드 상태

Python용 Azure Mixed Reality 인증 패키지 클라이언트 라이브러리 - 버전 1.0.0b1

Azure Spatial Anchors, Azure Remote Rendering 등과 같은 Mixed Reality 서비스는 인증에 Mixed Reality STS(보안 토큰 서비스)를 사용합니다. 이 패키지는 Mixed Reality 서비스에 액세스하는 데 사용할 수 있는 STS에서 액세스 토큰에 대한 Mixed Reality 계정 자격 증명 교환을 지원합니다.

Mixed Reality 서비스 인증 다이어그램

시작

현재 지원되는 환경

이 패키지는 Python 2.7, 3.5, 3.6, 3.7, 3.8 및 3.9로 테스트되었습니다.

필수 구성 요소

패키지 설치

Azure Mixed Reality 인증 SDK를 설치합니다.

pip install --pre azure-mixedreality-authentication

를 만들고 인증합니다. MixedRealityStsClient

Mixed Reality 서비스에 대한 액세스 토큰을 요청하는 클라이언트 개체를 만들려면 Mixed Reality 서비스 리소스 및 의 및 account domaincredential필요합니다account identifier.

Mixed Reality 서비스는 다음과 같은 몇 가지 형식의 인증을 지원합니다.

  • 계정 키 인증
    • 계정 키를 사용하면 Mixed Reality 서비스 사용을 빠르게 시작할 수 있습니다. 하지만 애플리케이션을 프로덕션 환경에 배포하기 전에 Azure AD 인증을 사용하도록 앱을 업데이트하는 것이 좋습니다.
  • Azure AD(Active Directory) 토큰 인증
    • 엔터프라이즈 애플리케이션을 빌드하고 회사가 Azure AD를 ID 시스템으로 사용하는 경우 앱에서 사용자 기반 Azure AD 인증을 사용할 수 있습니다. 그런 다음 기존 Azure AD 보안 그룹을 사용하여 Mixed Reality 계정에 대한 액세스 권한을 부여합니다. 조직의 사용자에게 직접 액세스 권한을 부여할 수도 있습니다.
    • 그렇지 않은 경우에는 앱을 지원하는 웹 서비스에서 Azure AD 토큰을 가져오는 것이 좋습니다. 클라이언트 애플리케이션에서 Mixed Reality 서비스에 액세스하기 위해 자격 증명을 포함하지 않도록 하므로 프로덕션 애플리케이션에 이 방법을 사용하는 것이 좋습니다.

자세한 지침 및 정보는 여기 를 참조하세요.

계정 키 인증 사용

Azure Portal을 사용하여 Mixed Reality 서비스 리소스를 찾아 검색합니다account key.

계정 키가 있으면 다음과 같이 클래스를 AzureKeyCredential 사용하여 클라이언트를 인증할 수 있습니다.

from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication import MixedRealityStsClient

account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)

client = MixedRealityStsClient(account_id, account_domain, key_credential)

참고: 프로덕션 애플리케이션에는 계정 키 인증을 사용하지 않는 것이 좋습니다 .

Azure Active Directory 자격 증명 사용

계정 키 인증은 대부분의 예제에서 사용되지만 Azure ID 라이브러리를 사용하여 Azure Active Directory로 인증할 수도 있습니다. 프로덕션 애플리케이션에 권장되는 방법입니다. 아래 표시된 DefaultAzureCredential 공급자 또는 Azure SDK와 함께 제공되는 다른 자격 증명 공급자를 사용하려면 패키지를 설치 @azure/identity 하세요.

또한 서비스 주체에 Mixed Reality 서비스에 대한 적절한 역할을 할당하여 새 AAD 애플리케이션을 등록하고 Mixed Reality 리소스에 대한 액세스 권한을 부여해야 합니다.

from azure.identity import DefaultAzureCredential
from azure.mixedreality.authentication import MixedRealityStsClient

account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
default_credential = DefaultAzureCredential()

client = MixedRealityStsClient(account_id, account_domain, default_credential)

주요 개념

MixedRealityStsClient

MixedRealityStsClient 액세스 토큰을 가져오기 위해 Mixed Reality STS에 액세스하는 데 사용되는 클라이언트 라이브러리입니다. 인스턴스에서 를 호출 get_token() 하여 액세스 토큰을 MixedRealityStsClient 검색할 수 있습니다.

Mixed Reality STS에서 가져온 토큰의 수명은 24시간입니다.

토큰 결과 값

에 대한 성공적인 호출 get_token 에 대한 반환 값은 입니다 azure.core.credentials.AccessToken.

더 복잡한 인증 시나리오는 위의 인증 예제 또는 Azure ID 를 참조하세요.

동기적으로 액세스 토큰 검색

from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication import MixedRealityStsClient

account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)

client = MixedRealityStsClient(account_id, account_domain, key_credential)

token = client.get_token()

비동기적으로 액세스 토큰 검색

from azure.core.credentials import AzureKeyCredential
from azure.mixedreality.authentication.aio import MixedRealityStsClient

account_id = "<ACCOUNTD ID>"
account_domain = "<ACCOUNT_DOMAIN>"
account_key = "<ACCOUNT_KEY>"
key_credential = AzureKeyCredential(account_key)

client = MixedRealityStsClient(account_id, account_domain, key_credential)

token = await client.get_token()

예제

다음은 Azure Mixed Reality 인증 클라이언트 라이브러리를 사용하는 일반적인 시나리오 작업을 보여 주는 코드 샘플입니다. 샘플의 비동기 버전(와 함께 _async추가된 Python 샘플 파일)은 비동기 작업을 표시하고 Python 3.5 이상이 필요합니다. 샘플 코드를 실행하기 전에 필수 구성 요소를 참조하세요.

리소스를 만든 다음, 일부 환경 변수를 설정합니다.

set MIXEDREALITY_ACCOUNT_DOMAIN="<the Mixed Reality account domain>"
set MIXEDREALITY_ACCOUNT_ID="<the Mixed Reality account identifier>"
set MIXEDREALITY_ACCOUNT_KEY="<the Mixed Reality account primary or secondary key>"

pip install azure-mixedreality-authentication

python samples\client_sample.py
python samples\client_sample_async.py

문제 해결

Azure ID 에 대한 문제 해결 섹션은 인증 문제를 해결할 때 유용할 수 있습니다.

다음 단계

Mixed Reality 클라이언트 라이브러리

  • 제공 예정

참여

이 프로젝트에 대한 기여와 제안을 환영합니다. 대부분의 경우 기여하려면 권한을 부여하며 실제로 기여를 사용할 권한을 당사에 부여한다고 선언하는 CLA(기여자 라이선스 계약)에 동의해야 합니다. 자세한 내용은 https://cla.microsoft.com 을 참조하세요.

끌어오기 요청을 제출하면 CLA-bot은 CLA를 제공하고 PR을 적절하게 데코레이팅해야 하는지 여부를 자동으로 결정합니다(예: 레이블, 설명). 봇에서 제공하는 지침을 따르기만 하면 됩니다. 이 작업은 CLA를 사용하여 모든 리포지토리에서 한 번만 수행하면 됩니다.

이 프로젝트에는 Microsoft Open Source Code of Conduct(Microsoft 오픈 소스 준수 사항)가 적용됩니다. 자세한 내용은 Code of Conduct FAQ(규정 FAQ)를 참조하세요. 또는 추가 질문이나 의견은 opencode@microsoft.com으로 문의하세요.

이 라이브러리에 기여하려면 기여 가이드 를 참조하여 코드를 빌드하고 테스트하는 방법에 대해 자세히 알아보세요.

Impressions