認証の構成
特定の 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 <accountId>:<accountKey>
のように書式設定されます。 セキュリティの観点では前者が推薦されます。 この REST 呼び出しで返されたトークンが、MR アクセス トークンです。
デプロイされたアプリケーションの認証
開発時には、短時間でプロトタイプを作成するためにアカウント キーを使用することをお勧めします。 組み込みのアカウント キーを使用してアプリケーションを運用環境に出荷しないことをお勧めします。 お勧めの方法は、ユーザーベースまたはサービスベースの Microsoft Entra 認証方法を使用することです。
Microsoft Entra ユーザー認証
手順に従って、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 でのセッション管理、レンダリング、および診断の機能を提供します。