次の方法で共有


Azure ロールベースのアクセス制御 (RBAC) とデバイス更新

デバイス更新では、Azure RBAC を使用し、ユーザーとサービス API の認証と認可が提供されます。 他のユーザーや他のアプリケーションでデバイス更新を利用するには、ユーザーまたはアプリケーションにこのリソースへのアクセス権限を付与する必要があります。 また、更新プログラムを正常にデプロイしてデバイスを管理するには、Azure Device Update サービス プリンシパルのアクセス権を構成する必要もあります。

アクセス制御ロールの構成

Device Update でサポートされているロールは次のとおりです。

役割名 説明
デバイス更新管理者 あらゆるデバイス更新リソースにアクセスできます
デバイス更新リーダー すべての更新プログラムとデプロイを表示できます
デバイスアップデートコンテンツ管理者 更新プログラムを表示、インポート、削除できます
デバイス更新コンテンツリーダー 更新プログラムを表示できます
デバイス更新展開管理者 更新プログラムのデバイスへのデプロイを管理できます
デバイス更新展開ビューア 更新プログラムのデバイスへのデプロイを表示できます

ロールを組み合わせることで、正しいレベルのアクセス権限を提供できます。 たとえば、デバイス更新コンテンツ管理者ロールを利用することで開発者は更新プログラムをインポートしたり、管理したりできますが、更新プログラムの進捗状況を表示するにはデバイス更新デプロイ閲覧者ロールが必要になります。 これとは逆に、デバイス更新閲覧者ロールが付与されているソリューション オペレーターはあらゆる更新プログラムを表示できますが、特定の更新プログラムをデバイスにデプロイするにはデバイス更新デプロイ管理者ロールを使用する必要があります。

IoT Hub で Azure Device Update サービス プリンシパルのアクセス権を構成する

Device Update for IoT Hub は、デプロイの IoT Hub と通信して、大規模に更新プログラムを管理します。 Device Update がこれを行えるようにするには、ユーザーは、IoT Hub のアクセス許可で Azure Device Update サービス プリンシパルに IoT Hub データ共同作成者アクセス権を設定する必要があります。

これらのアクセス許可が設定されていない場合、次のアクションは今後のリリースでブロックされます。

  • デプロイメントを作成する
  • 展開の取り消し
  • デプロイの再試行
  • デバイスの取得
  1. デバイス更新インスタンスに接続されている IoT Hub に移動します。 [アクセス制御 (IAM)] をクリックします
  2. [+ 追加] ->ロールの割り当ての追加をクリックします
  3. [ロール] タブで、[IoT Hub データ共同作成者] を選択します
  4. [次へ] をクリックします。 アクセス権の割り当て先 の場合、ユーザー、グループ、またはサービス プリンシパル を選択します。 [ + メンバーの選択] をクリックし、[Azure Device Update] を検索します
  5. [次へ] ->Review + Assign をクリックします

アクセス許可が正しく設定されていることを検証するには:

  1. デバイス更新インスタンスに接続されている IoT Hub に移動します。 [アクセス制御 (IAM)] をクリックします
  2. [アクセスの確認] をクリックする
  3. [ユーザー、グループ、またはサービス プリンシパル] を選択し、[Azure Device Update] を検索します
  4. [Azure Device Update] をクリックした後、IoT Hub データ共同作成者ロールが [ロールの割り当て] の下に一覧表示されていることを確認します

デバイス更新 REST API に対する認証

Device Update では、REST API への認証に Azure Active Directory (AD) が使用されます。 まず、クライアント アプリケーションを作成して構成する必要があります。

クライアント Azure AD アプリを作成する

アプリケーションまたはサービスを Azure AD と統合するには、まず クライアント アプリケーションを Azure AD に登録します。 クライアント アプリケーションのセットアップは、必要な承認フロー (ユーザー、アプリケーション、またはマネージド ID) によって異なります。 たとえば、デバイス更新の呼び出し元が、以下であるとします。

  • モバイルまたはデスクトップ アプリケーションの場合、リダイレクト URI として を使用して https://login.microsoftonline.com/common/oauth2/nativeclient プラットフォームを追加します。
  • 暗黙的なサインオンを使用する Web サイトの場合、[Web] プラットフォームを追加し、[アクセス トークン (暗黙的なフローに使用)] を選択します

アクセス許可を構成する

次に、アプリにデバイスの更新を呼び出すためのアクセス許可を追加します。

  1. アプリの [API のアクセス許可] ページに移動し、[アクセス許可の追加] を選択します。
  2. [所属する組織で使用している API] に移動し、[Azure Device Update] を検索します。
  3. user_impersonation 権限を選択し、[アクセス許可の追加] を選択します。

認証トークンを要求する

デバイス更新 REST API には、要求ヘッダーに OAuth 2.0 認証トークンが必要です。 次のセクションでは、認証トークンを要求する方法の例をいくつか示します。

Azure CLI の使用

az login
az account get-access-token --resource 'https://api.adu.microsoft.com/'

PowerShell MSAL ライブラリの使用

MSAL.PS PowerShell モジュールは、.NET 用 Microsoft Authentication Library (MSAL .NET) のラッパーです。 これにより、さまざまな認証方法がサポートされます。

"ユーザーの資格情報を使用する":

$clientId = '<app_id>'
$tenantId = '<tenant_id>'
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/user_impersonation'

Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope

"ユーザーの資格情報とデバイス コードを使用する":

$clientId = '<app_id>’
$tenantId = '<tenant_id>’
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/user_impersonation'

Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -Interactive -DeviceCode

"アプリの資格情報を使用する":

$clientId = '<app_id>’
$tenantId = '<tenant_id>’
$cert = '<client_certificate>'
$authority = "https://login.microsoftonline.com/$tenantId/v2.0"
$Scope = 'https://api.adu.microsoft.com/.default'

Get-MsalToken -ClientId $clientId -TenantId $tenantId -Authority $authority -Scopes $Scope -ClientCertificate $cert

マネージド ID のサポート

マネージド ID は、Azure AD の自動マネージド ID をセキュリティで保護された方法で Azure サービスに提供します。 これにより、開発者は、ID を指定して資格情報を管理する必要がなくなります。 Device Update for IoT Hub では、システム割り当てマネージド ID がサポートされます。

システムによって割り当てられた管理対象 ID

Azure portal でシステム割り当てマネージド ID を追加したり削除したりするには:

  1. Azure portal にサインインし、目的の Device Update for IoT Hub アカウントに移動します。
  2. Device Update for IoT Hub ポータルで 「Identity」に移動する
  3. IoT Hub ポータルで [ID] に移動します。
  4. [システム割り当て] タブで [オン] を選択し、[保存] をクリックします。

Device Update for IoT Hub アカウントからシステム割り当てマネージド ID を削除するには、[オフ] を選択して [保存] をクリックします。

次のステップ