Python 用 Azure Mixed Reality認証パッケージ クライアント ライブラリ - バージョン 1.0.0b1
Azure Spatial Anchors、Azure Remote Rendering などのMixed Reality サービスでは、認証に Mixed Reality セキュリティ トークン サービス (STS) を使用します。 このパッケージでは、Mixed Reality サービスへのアクセスに使用できる STS からのアクセス トークンのMixed Realityアカウント資格情報の交換がサポートされています。
はじめに
現在サポートされている環境
このパッケージは、Python 2.7、3.5、3.6、3.7、3.8、3.9 でテストされています。
前提条件
- Azure サブスクリプション。
- Azure Mixed Reality サービスを持つアカウントが必要です。
- Azure Identity ライブラリからの認証と資格情報の概念に関する知識。
- このパッケージを使用するには、Python 2.7 以降、または 3.5 以降が必要です。
パッケージをインストールする
Azure Mixed Reality Authentication SDK をインストールします。
pip install --pre azure-mixedreality-authentication
MixedRealityStsClient
を作成して認証する
Mixed Reality サービスのアクセス トークンを要求するクライアント オブジェクトを作成するには、Mixed Reality サービス リソースの と credential
が必要account identifier
account domain
です。
Mixed Reality サービスでは、いくつかの異なる形式の認証がサポートされています。
- アカウント キー認証
- アカウント キーを使用すると、Mixed Reality サービスの使用をすばやく開始できます。 ただし、アプリケーションを運用環境にデプロイする前に、Azure AD 認証を使用するようにアプリを更新することをお勧めします。
- Azure Active Directory (AD) トークン認証
- エンタープライズ アプリケーションをビルドしていて、会社の ID システムとして Azure AD を使用している場合は、アプリ内でユーザーベースの Azure AD 認証を使用できます。 その後、既存の Azure AD セキュリティ グループを使用して、Mixed Reality アカウントへのアクセス権を付与します。 組織内のユーザーに直接アクセス権を付与することもできます。
- それ以外の場合は、アプリをサポートしている Web サービスから 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 にアクセスしてアクセス トークンを取得するために使用されるクライアント ライブラリです。 アクセス トークンは、 インスタンスで MixedRealityStsClient
を呼び出get_token()
すことによって取得できます。
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 Identity の トラブルシューティング セクションは、認証の問題のトラブルシューティングに役立ちます。
次のステップ
Mixed Reality クライアント ライブラリ
- 近日公開予定
共同作成
このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。 詳細については、 https://cla.microsoft.com を参照してください。
pull request を送信すると、CLA を提供して PR (ラベル、コメントなど) を適宜装飾する必要があるかどうかを CLA ボットが自動的に決定します。 ボットによって提供される手順にそのまま従ってください。 この操作は、Microsoft の CLA を使用するすべてのリポジトリについて、1 回だけ行う必要があります。
このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。
このライブラリに投稿する場合、コードをビルドしてテストする方法の詳細については、投稿ガイドを参照してください。
Azure SDK for Python