Microsoft Entra ID のカスタム セキュリティ属性は、Microsoft Entra オブジェクトを定義して割り当てることができるビジネス固有の属性 (キーと値のペア) です。 たとえば、カスタム セキュリティ属性を割り当ててアプリケーションをフィルター処理したり、アクセスできるユーザーを決定したりすることができます。 この記事では、Microsoft Entra のエンタープライズ アプリケーションのカスタム セキュリティ属性の割り当て、更新、一覧表示、削除の方法について説明します。
前提条件
Microsoft Entra テナント内のアプリケーションのカスタム セキュリティ属性の割り当てや削除には、次のものが必要です。
- アクティブなサブスクリプションを持つ Microsoft Entra アカウント。 アカウントを無料で作成します。
- 属性割り当て管理者 ロール。
- 既存のカスタム セキュリティ属性があることを確認します。 セキュリティ属性を作成する方法については、「 Microsoft Entra ID でカスタム セキュリティ属性を追加または非アクティブ化する」を参照してください。
重要
既定では、 グローバル管理者 とその他の管理者ロールには、カスタム セキュリティ属性の読み取り、定義、または割り当てに対するアクセス許可がありません。
アプリケーションのカスタム属性の割り当て、更新、一覧表示、または削除
Microsoft Entra ID でアプリケーションのカスタム属性を操作する方法について学習します。
カスタム セキュリティ属性のアプリケーションへの割り当て
Microsoft Entra 管理センターを使用してカスタム セキュリティ属性を割り当てるには、次の手順を実行します。
属性割り当て管理者として Microsoft Entra 管理センターにサインインします。
Entra ID>エンタープライズ アプリを参照します。
カスタムセキュリティ属性を追加するアプリケーションを検索して選択します。
[管理] セクションで、[ カスタム セキュリティ属性] を選択します。
[ 割り当ての追加] を選択します。
[ 属性セット] で、一覧から属性セットを選択します。
[ 属性名] で、一覧からカスタム セキュリティ属性を選択します。
選択したカスタム セキュリティ属性のプロパティに応じて、1 つの値を入力したり、定義済みの一覧から値を選択したり、複数の値を追加したりできます。
- フリーフォームの単一値のカスタム セキュリティ属性の場合は、[ 割り当てられた値 ] ボックスに値を入力します。
- 定義済みのカスタム セキュリティ属性値の場合は、[ 割り当てられた 値] ボックスの一覧から値を選択します。
- 複数値のカスタム セキュリティ属性の場合は、[ 値の追加 ] を選択して [属性値 ] ウィンドウを開き、値を追加します。 値の追加が完了したら、[ 完了] を選択します。
完了したら、[ 保存] を選択して、カスタム セキュリティ属性をアプリケーションに割り当てます。
アプリケーションのカスタム セキュリティ属性の割り当て値を更新する
属性割り当て管理者として Microsoft Entra 管理センターにサインインします。
Entra ID>エンタープライズ アプリを参照します。
更新するカスタム セキュリティ属性の割り当て値を持つアプリケーションを検索して選択します。
[管理] セクションで、[ カスタム セキュリティ属性] を選択します。
更新するカスタム セキュリティ属性の割り当て値を見つけます。
カスタム セキュリティ属性をアプリケーションに割り当てた後は、カスタム セキュリティ属性の値のみを変更できます。 属性セットやカスタム セキュリティ属性名など、カスタム セキュリティ属性のその他のプロパティを変更することはできません。
選択したカスタム セキュリティ属性のプロパティに応じて、1 つの値を更新したり、定義済みの一覧から値を選択したり、複数の値を更新したりできます。
完了したら、[ 保存] を選択します。
カスタム セキュリティ属性に基づいてアプリケーションをフィルター処理する
[ すべてのアプリケーション ] ページで、アプリケーションに割り当てられているカスタム セキュリティ属性の一覧をフィルター処理できます。
Microsoft Entra 管理センターに、少なくとも属性割り当て閲覧者としてサインインします。
Entra ID>エンタープライズ アプリを参照します。
[ フィルターの追加] を選択して、[フィールドの選択] ウィンドウを開きます。
[ フィルターの追加] が表示されない場合は、バナーを選択してエンタープライズ アプリケーションの検索プレビューを有効にします。
[フィルター] で、[カスタム セキュリティ属性] を選択します。
属性セットと属性名を選択します。
演算子の場合は、等しい (==)、等しくない (!=)、または開始値を選択できます。
[ 値] に値を入力または選択します。
フィルターを適用するには、[ 適用] を選択します。
アプリケーションからカスタム セキュリティ属性の割り当てを削除する
属性割り当て管理者として Microsoft Entra 管理センターにサインインします。
Entra ID>エンタープライズ アプリを参照します。
削除するカスタム セキュリティ属性の割り当て値を持つアプリケーションを検索して選択します。
[ 管理 ] セクションで、[ カスタム セキュリティ属性 (プレビュー)] を選択します。
削除するすべてのカスタム セキュリティ属性の割り当ての横にチェックマークを追加します。
[ 割り当ての削除] を選択します。
Microsoft Graph PowerShell
Microsoft Entra 組織のアプリケーションへのカスタム セキュリティ属性の割り当ての管理には、Microsoft Graph PowerShell を使用できます。 割り当ての管理には、次のコマンドを使用できます。
Microsoft Graph PowerShell を使用して複数の文字列値を持つカスタムセキュリティ属性をアプリケーション (サービス プリンシパル) に割り当てる
Update-MgServicePrincipal コマンドを使用して、複数文字列値を持つカスタム セキュリティ属性をアプリケーション (サービス プリンシパル) に割り当てます。
指定された値
- 属性セット:
Engineering
- 属性:
ProjectDate
- 属性のデータ型: 文字列
- 属性値:
"2024-11-15"
#Retrieve the servicePrincipal
$ServicePrincipal = (Get-MgServicePrincipal -Filter "displayName eq 'TestApp'").Id
$customSecurityAttributes = @{
Engineering = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"ProjectDate" ="2024-11-15"
}
}
Update-MgServicePrincipal -ServicePrincipalId $ServicePrincipal -CustomSecurityAttributes $customSecurityAttributes
Microsoft Graph PowerShell を使用してアプリケーション (サービス プリンシパル) の複数文字列値を持つカスタム セキュリティ属性を更新する
アプリケーションに反映する新しい属性値のセットを指定します。 この例では、プロジェクト属性にもう 1 つの値を追加しています。
指定された値
- 属性セット:
Engineering
- 属性:
Project
- 属性のデータ型: 文字列のコレクション
- 属性値:
["Baker","Cascade"]
$customSecurityAttributes = @{
Engineering = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Project@odata.type" = "#Collection(String)"
"Project" = @(
"Baker"
"Cascade"
)
}
}
Update-MgServicePrincipal -ServicePrincipalId $ServicePrincipal -CustomSecurityAttributes $customSecurityAttributes
Microsoft Graph PowerShell を使用してカスタム セキュリティ属性に基づいてアプリケーションをフィルター処理する
この例は、指定した値と同じカスタム セキュリティ属性の割り当てを使用して、アプリケーションの一覧をフィルター処理します。
$appAttributes = Get-MgServicePrincipal -CountVariable CountVar -Property "id,displayName,customSecurityAttributes" -Filter "customSecurityAttributes/Engineering/Project eq 'Baker'" -ConsistencyLevel eventual
$appAttributes | select Id,DisplayName,CustomSecurityAttributes | Format-List
$appAttributes.CustomSecurityAttributes.AdditionalProperties | Format-List
Id : aaaaaaaa-bbbb-cccc-1111-222222222222
DisplayName : TestApp
CustomSecurityAttributes : Microsoft.Graph.PowerShell.Models.MicrosoftGraphCustomSecurityAttributeValue
Key : Engineering
Value : {[@odata.type, #microsoft.graph.customSecurityAttributeValue], [ProjectDate, 2024-11-15], [Project@odata.type, #Collection(String)], [Project, System.Object[]]}
Microsoft Graph PowerShell を使用してアプリケーションからカスタム セキュリティ属性の割り当てを削除する
この例では、単一の値をサポートするカスタム セキュリティ属性の割り当てを削除します。
$params = @{
"customSecurityAttributes" = @{
"Engineering" = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"ProjectDate" = $null
}
}
}
Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/servicePrincipals/$ServicePrincipal" -Body $params
この例では、複数の値をサポートするカスタム セキュリティ属性の割り当てを削除します。
$customSecurityAttributes = @{
Engineering = @{
"@odata.type" = "#Microsoft.DirectoryServices.CustomSecurityAttributeValue"
"Project" = @()
}
}
Update-MgServicePrincipal -ServicePrincipalId $ServicePrincipal -CustomSecurityAttributes $customSecurityAttributes
Microsoft Graph API
Microsoft Entra 組織のアプリケーションへのカスタム セキュリティ属性の割り当ての管理には、Microsoft Graph API を使用できます。 割り当てを管理するために、次の API 呼び出します。
ユーザーに対するその他の同様の Microsoft Graph API の例については、「 ユーザーのカスタム セキュリティ属性の割り当て、更新、一覧表示、または削除 」および 「例: Microsoft Graph API を使用したカスタム セキュリティ属性の割り当ての割り当て、更新、一覧表示、または削除」を参照してください。
Microsoft Graph API を使用して複数の文字列値を持つカスタムセキュリティ属性をアプリケーション (サービス プリンシパル) に割り当てる
Update servicePrincipal API を使用して、文字列値を持つカスタム セキュリティ属性をアプリケーションに割り当てます。
指定された値
- 属性セット:
Engineering
- 属性:
Project
- 属性のデータ型: 文字列
- 属性値:
"Baker"
PATCH https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Content-type: application/json
{
"customSecurityAttributes":
{
"Engineering":
{
"@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"Project@odata.type":"#Collection(String)",
"Project": "Baker"
}
}
}
Microsoft Graph API を使用してアプリケーション (サービス プリンシパル) の複数文字列値を持つカスタム セキュリティ属性を更新する
アプリケーションに反映する新しい属性値のセットを指定します。 この例では、プロジェクト属性にもう 1 つの値を追加しています。
PATCH https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Content-type: application/json
{
"customSecurityAttributes":
{
"Engineering":
{
"@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"Project@odata.type":"#Collection(String)",
"Project":["Baker","Cascade"]
}
}
}
Microsoft Graph API を使用してカスタム セキュリティ属性に基づいてアプリケーションをフィルター処理する
この例は、指定した値と同じカスタム セキュリティ属性の割り当てを使用して、アプリケーションの一覧をフィルター処理します。 フィルター値は大文字と小文字が区別されます。 要求またはヘッダーに ConsistencyLevel=eventual
を追加する必要があります。 要求が正しくルーティングされるようにするには、 $count=true
も含める必要があります。
GET https://graph.microsoft.com/v1.0/servicePrincipals?$count=true&$select=id,displayName,customSecurityAttributes&$filter=customSecurityAttributes/Engineering/Project eq 'Baker'
ConsistencyLevel: eventual
Microsoft Graph API を使用してアプリケーションからカスタム セキュリティ属性の割り当てを削除する
この例では、複数の値をサポートするカスタム セキュリティ属性の割り当てを削除します。
PATCH https://graph.microsoft.com/v1.0/servicePrincipals/{id}
Content-type: application/json
{
"customSecurityAttributes":
{
"Engineering":
{
"@odata.type":"#Microsoft.DirectoryServices.CustomSecurityAttributeValue",
"Project":[]
}
}
}