こんにちは。Enterprise Mobility + Security (EMS) のサービスの 1 つである Microsoft Intune を使用し、デバイスの管理機能を導入している町端です。
前回公開した「条件アクセスのデバイスフィルター機能を使用してみた」では、フィルター条件に拡張属性を指定し、同じユーザーでも拡張属性に値がセットされた特定のデバイスを使用した場合のみ、ポリシーから除外する方法をご紹介しました。
本記事では、デバイスに対して拡張属性を付与する方法についてご紹介します。
拡張属性とは、ユーザー、デバイスに標準で用意されていないプロパティ値を格納するために用意されている属性です。
ユーザー、およびデバイスで、それぞれ extensionAttribute 1 ~ 15 までの 15 個の値を格納することができます。
属性の名前は変更することはできません。
また、拡張属性で設定した属性値を、動的グループのメンバーシップルールの条件や、条件付きアクセスのデバイスフィルターの条件に含めることで、より条件を細分化して設定することが可能になります。
デバイスオブジェクトの拡張属性は、Hybrid Azure AD Join を構成している場合でも、同期対象に含まれていません。
したがって、デバイスの extensionAttribute 属性を設定する場合は、Graph API、または PowerShell を使って Azure AD 上のオブジェクトに直接設定する必要があります。
拡張属性を確認するには、デバイスのプロパティを確認します。
現状、拡張属性に値が設定されていないことを確認しました。
拡張属性を追加する方法は、次の 2 つがあります。
今回は 2 つの方法で、Azure AD のデバイスに拡張属性を追加する手順と、追加した拡張属性を削除する手順について説明します。
デバイスの拡張属性を変更するには、次の 2 つの API へのアクセス許可が必要です。
※デバイスの [displayname] と [id] を取得します。
https://graph.microsoft.com/beta/devices?select=displayname,id
https://graph.microsoft.com/beta/devices/[ID]
※[ID] の部分に3 の手順で確認した [id] を代入してください。
{
"extensionAttributes": {
"extensionAttribute1": "ShareDevice"
}
}
https://graph.microsoft.com/beta/devices?$select=id,displayName,ExtensionAttributes
PowerShell で Microsoft Graph コマンドレットを使用するために、以下のモジュールを事前に、インストールする必要があります。
PowerShell を使用して、[extensionAttribute2] に [COPE] を割り当てる手順を紹介します。
Connect-MgGraph -Scopes Directory.AccessAsUser.All
Get-MgDevice | select DisplayName,Id
$body = '{"extensionAttributes": {"extensionAttribute2": "COPE"}}'
Update-MgDevice -DeviceId [デバイスId] -BodyParameter $body
$device = Get-MgDeviceById -Ids [デバイスId]
$device.AdditionalProperties.extensionAttributes
Azure AD のデバイスプロパティからも、[extensionAttribute1] に "ShareDevice" [extensionAttribute2] に "COPE" の値が付与されていることを確認できます。
extensionAttributes に割り当てた値を削除するには、extensionAttributes に [空の文字列] を割り当てます。詳細な手順は、拡張属性の設定方法と同じです。ここでは、Microsoft Graph と PowerShell を使用して値を削除する手順のみを紹介します。
https://graph.microsoft.com/beta/devices/[デバイスのId]
{
"extensionAttributes": {
"extensionAttribute1": ""
}
}
https://graph.microsoft.com/beta/devices?$select=id,displayName,ExtensionAttributes
[extensionAttribute1] の値が null になっていることを確認できました。Get-MgDevice | select DisplayName,Id
$body = '{"extensionAttributes": {"extensionAttribute2": ""}}'
Update-MgDevice -DeviceId [3 で確認した デバイスId] -BodyParameter $body
ここまでお読みいただきありがとうございます。
拡張属性を使用することで、デバイスやユーザーに追加の属性を付与し、より柔軟に、より細かくグループの作成や、条件付きアクセスのルールを作成することが可能になります。
今後、他の題材に関しても記事を作成していきますので、興味がありましたらご覧いただけると幸いです。