クラウドエンジニアブログ

Azure AD デバイスに拡張属性を付与する方法

町端 良太

こんにちは。Enterprise Mobility + Security (EMS) のサービスの 1 つである Microsoft Intune を使用し、デバイスの管理機能を導入している町端です。

前回公開した「条件アクセスのデバイスフィルター機能を使用してみた」では、フィルター条件に拡張属性を指定し、同じユーザーでも拡張属性に値がセットされた特定のデバイスを使用した場合のみ、ポリシーから除外する方法をご紹介しました。
本記事では、デバイスに対して拡張属性を付与する方法についてご紹介します。





拡張属性とは

拡張属性とは、ユーザー、デバイスに標準で用意されていないプロパティ値を格納するために用意されている属性です。
ユーザー、およびデバイスで、それぞれ extensionAttribute 1 ~ 15 までの 15 個の値を格納することができます。
属性の名前は変更することはできません。
また、拡張属性で設定した属性値を、動的グループのメンバーシップルールの条件や、条件付きアクセスのデバイスフィルターの条件に含めることで、より条件を細分化して設定することが可能になります。
デバイスオブジェクトの拡張属性は、Hybrid Azure AD Join を構成している場合でも、同期対象に含まれていません。
したがって、デバイスの extensionAttribute 属性を設定する場合は、Graph API、または PowerShell を使って Azure AD 上のオブジェクトに直接設定する必要があります。




拡張属性の確認方法

拡張属性を確認するには、デバイスのプロパティを確認します。

  1. Azure ポータルにサインインします。
  2. [Azure Active Directory] をクリックします。
  3. [デバイス] をクリックします。
  4. [すべてのデバイス] をクリックして、プロパティを確認するデバイスを選択します。
  5. デバイスのプロパティを確認できます。

現状、拡張属性に値が設定されていないことを確認しました。




拡張属性の設定方法

拡張属性を追加する方法は、次の 2 つがあります。

  • Microsoft Graph
  • PowerShell

今回は 2 つの方法で、Azure AD のデバイスに拡張属性を追加する手順と、追加した拡張属性を削除する手順について説明します。


Microsoft Graph を使用した手順

デバイスの拡張属性を変更するには、次の 2 つの API へのアクセス許可が必要です。

  • Microsoft Graph
  • PowerShell
  1. Microsoft Graph Explorerを開きます。
  2. [ユーザー] アイコンをクリックし、サインインします。
  3. 以下の URI を入力し、[Run query] をクリックします。

    ※デバイスの [displayname] と [id] を取得します。

    https://graph.microsoft.com/beta/devices?select=displayname,id
  4. 3 の手順で確認したデバイスの [id] の情報を使用して、デバイスの拡張属性の値を出力します。
    https://graph.microsoft.com/beta/devices/[ID]

    ※[ID] の部分に3 の手順で確認した [id] を代入してください。

  5. PATCH メソッドに変更します。
  6. [Request body] に次のコマンドを入力し、[Run query] をクリックします。
    ※このコマンドは [extensionAttribute1] に [ShareDevice] を付与します。
     
    						
    {
    	"extensionAttributes": {
    	"extensionAttribute1": "ShareDevice"
    	}
    }
    						 
    					
  7. 値が付与されていることを確認するには、次のコマンドを使用します。
    応答には、[extensionAttribute1] の値が [ShareDevice] として含まれます。
    https://graph.microsoft.com/beta/devices?$select=id,displayName,ExtensionAttributes

PowerShell を使用した手順

前提条件

PowerShell で Microsoft Graph コマンドレットを使用するために、以下のモジュールを事前に、インストールする必要があります。

  • Microsoft.Graph.Identity.DirectoryManagement

PowerShell を使用して、[extensionAttribute2] に [COPE] を割り当てる手順を紹介します。

  1. 管理者権限で PowerShell を開きます。
  2. 次のコマンドを実行し、管理者アカウントでサインインします。
    Connect-MgGraph -Scopes Directory.AccessAsUser.All
  3. 次のコマンドを実行して、デバイスの [Id] を確認します。
    Get-MgDevice | select DisplayName,Id
  4. 次のコマンドを実行して、変数に [extensionAttribute2] を割り当てます。
    $body = '{"extensionAttributes": {"extensionAttribute2": "COPE"}}'
  5. 4 の手順で作成した変数を使用して、[extensionAttribute2] の値を更新します。
    Update-MgDevice -DeviceId [デバイスId] -BodyParameter $body
  6. 次のコマンドを実行して、指定したデバイスの [extensionAttribute2] を確認します。
    $device = Get-MgDeviceById -Ids [デバイスId]
    $device.AdditionalProperties.extensionAttributes
  7. Azure AD のデバイスプロパティからも、[extensionAttribute1] に "ShareDevice" [extensionAttribute2] に "COPE" の値が付与されていることを確認できます。




拡張属性の削除方法

extensionAttributes に割り当てた値を削除するには、extensionAttributes に [空の文字列] を割り当てます。詳細な手順は、拡張属性の設定方法と同じです。ここでは、Microsoft Graph と PowerShell を使用して値を削除する手順のみを紹介します。

Microsoft Graph を使用した手順

  1. PATCH メソッドで以下の URI を入力します。
    https://graph.microsoft.com/beta/devices/[デバイスのId]
  2. [Request body] に次のコマンドを入力し、実行します。
     
    							
    {
    "extensionAttributes": {
    "extensionAttribute1": ""
    }
    }	
    							
    						
  3. extensionAttributes の値を確認するには、[GET] メソッドに変更し、次のコマンドを実行します。
    https://graph.microsoft.com/beta/devices?$select=id,displayName,ExtensionAttributes
    [extensionAttribute1] の値が null になっていることを確認できました。
    次に、PowerShell での動作を確認します。

PowerShellを使用した手順

  1. 次のコマンドを実行して、デバイスの [Id] を確認します。
    Get-MgDevice | select DisplayName,Id
  2. 次のコマンドを実行して、変数に [extensionAttribute2] の値を代入します。
    $body = '{"extensionAttributes": {"extensionAttribute2": ""}}'
  3. 2 の手順で用意した変数を使用して、[extensionAttribute2] の値を更新します。
    Update-MgDevice -DeviceId [3 で確認した デバイスId] -BodyParameter $body
  4. Azure AD 管理画面から拡張属性が削除されていることが確認できました!

まとめ

ここまでお読みいただきありがとうございます。
拡張属性を使用することで、デバイスやユーザーに追加の属性を付与し、より柔軟に、より細かくグループの作成や、条件付きアクセスのルールを作成することが可能になります。
今後、他の題材に関しても記事を作成していきますので、興味がありましたらご覧いただけると幸いです。




お問い合わせ

製品・サービスに関するお問い合わせはお気軽にご相談ください。

ピックアップ

セミナー情報
クラウドエンジニアブログ
clouXion
メールマガジン登録