認証の構成
Azure Remote Rendering には、Azure Spatial Anchors (ASA) と同じ認証メカニズムが使用されます。 特定の Azure Remote Rendering アカウントにアクセスするには、まずクライアントで Azure Mixed Reality セキュリティ トークン サービス (STS) からアクセス トークンを取得する必要があります。 STS から取得したトークンは、24 時間有効です。 REST API を正常に呼び出すには、クライアントで以下の内 1 つを設定する必要があります。
AccountKey: Azure portal の Remote Rendering アカウントの [キー] タブで取得できます。 アカウント キーは、開発、またはプロトタイプ作成でのみ推薦されます。
AccountDomain: Azure portal の Remote Rendering アカウントの [概要] タブで取得できます。
AuthenticationToken: Microsoft Entra トークンであり、MSAL ライブラリを使用して取得できます。 ユーザー資格情報を受け入れ、これらの資格情報を使用してアクセス トークンを取得するには、複数の異なるフローが使用できます。
MRAccessToken: MR トークンであり、Azure Mixed Reality Security Token Service (STS) から取得できます。 次のような REST 呼び出しを使用して、
https://sts.<accountDomain>
エンドポイントから取得されます。GET https://sts.southcentralus.mixedreality.azure.com/Accounts/35d830cb-f062-4062-9792-d6316039df56/token HTTP/1.1 Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1Ni<truncated>FL8Hq5aaOqZQnJr1koaQ Host: sts.southcentralus.mixedreality.azure.com Connection: Keep-Alive HTTP/1.1 200 OK Date: Tue, 24 Mar 2020 09:09:00 GMT Content-Type: application/json; charset=utf-8 Content-Length: 1153 Accept: application/json MS-CV: 05JLqWeKFkWpbdY944yl7A.0 {"AccessToken":"eyJhbGciOiJSUzI1<truncated>uLkO2FvA"}
ここで Authorization ヘッダーは、
Bearer <Azure_AD_token>
またはBearer <accoundId>:<accountKey>
のように書式設定されます。 セキュリティの観点では前者が推薦されます。 この REST 呼び出しで返されたトークンが、MR アクセス トークンです。
デプロイされたアプリケーションの認証
開発時には、短時間でプロトタイプを作成するためにアカウント キーを使用することをお勧めします。 組み込みのアカウント キーを使用してアプリケーションを運用環境に出荷しないことをお勧めします。 お勧めの方法は、ユーザーベースまたはサービスベースの Microsoft Entra 認証方法を使用することです。
Microsoft Entra ユーザー認証
Microsoft Entra 認証については、Azure Spatial Anchors のドキュメントで説明しています。
手順に従って、Azure portal で、Microsoft Entra ユーザー認証を構成します。
Microsoft Entra ID でアプリケーションを登録します。 登録に際して、アプリケーションをマルチテナントにするかどうかを決める必要があります。 また、アプリケーションに対し許可されたリダイレクト URL を、[Authentication]\(認証\) ブレードで入力する必要があります。
[API permissions]\(API 使用権限\) タブの [mixedreality] で、mixedreality.signin スコープに対する 委任権限 を請求します。
[セキュリティ] -> [権限] タブで管理者の同意を与えます。
次に Azure Remote Rendering Resource に移動します。 [Access Control]\(アクセス制御\) パネルで、アプリケーションとユーザーを管理するための必要なロールを割り当てます。これで、アプリケーションとユーザーから委任された、Azure Remote Rendering リソースに対するアクセス権を行使できるようになります。
アプリケーション コードで Microsoft Entra ユーザー認証を使用する方法については、「チュートリアル: Azure Remote Rendering とモデル ストレージのセキュリティ保護」の「Microsoft Entra 認証」を参照してください
Azure ロールベースのアクセス制御
サービスに付与するアクセス レベルを制御するには、ロールベースのアクセス権を付与するときに次のロールを使用します。
- Remote Rendering 管理者: ユーザーに、Azure Remote Rendering の変換、セッション管理、レンダリング、および診断の機能を提供します。
- Remote Rendering クライアント: ユーザーに、Azure Remote Rendering でのセッション管理、レンダリング、および診断の機能を提供します。