Microsoft Entra ID でカスタム セキュリティ属性定義を追加または非アクティブ化する
Microsoft Entra ID で カスタム セキュリティ属性は、Microsoft Entra オブジェクトを定義して割り当てることができるビジネス固有の属性 (キーと値のペア) です。 この記事では、カスタム セキュリティ属性定義を追加、編集、または非アクティブ化する方法について説明します。
前提 条件
カスタム セキュリティ属性の定義を追加または非アクティブ化するには、次の機能が必要です。
- 属性定義管理者
- Microsoft Graph PowerShell を使用する場合、Microsoft.Graph モジュール
- AzureADPreview バージョン 2.0.2.138 以降 (Azure AD PowerShell 使用時)
重要
既定では、グローバル管理者 およびその他の管理者ロール
属性セットを追加する
ヒント
この記事の手順は、開始元のポータルによって若干異なる場合があります。
属性セットは、関連する属性のコレクションです。 すべてのカスタム セキュリティ属性は、属性セットの一部である必要があります。 属性セットの名前を変更または削除することはできません。
属性定義管理者として、Microsoft Entra 管理センター にサインインします。
保護>カスタム セキュリティ属性に移動します。
[属性セットの追加] を選択して、新しい属性セットを追加します。
[属性セットの追加] が無効になっている場合は、属性定義管理者ロールが割り当てられていることを確認します。 詳細については、「カスタム セキュリティ属性のトラブルシューティング」を参照してください。
名前、説明、属性の最大数を入力します。
属性セット名には、スペースまたは特殊文字を含まない 32 文字を指定できます。 名前を指定した後は、名前を変更できません。 詳細については、「制限と制約」を参照してください。
完了したら、を選択してを追加します。
新しい属性セットが属性セットの一覧に表示されます。
カスタム セキュリティ属性定義を追加する
属性定義管理者として、Microsoft Entra 管理センター にサインインします。
保護>カスタム セキュリティ属性に移動します。
[カスタム セキュリティ属性] ページで、既存の属性セットを見つけるか、[属性セットの追加] を選択して新しい属性セットを追加します。
すべてのカスタム セキュリティ属性定義は、属性セットの一部である必要があります。
選択すると、選択した属性セットが開きます。
[属性
追加] を選択して、新しいカスタム セキュリティ属性を属性セットに追加します。 [属性名 ボックスに、カスタム セキュリティ属性名を入力します。
カスタム セキュリティ属性名には、スペースや特殊文字を含まない 32 文字を指定できます。 名前を指定した後は、名前を変更できません。 詳細については、「制限と制約」を参照してください。
説明 ボックスに、任意の説明を入力します。
説明には 128 文字を指定できます。 必要に応じて、後で説明を変更できます。
データ型 一覧から、カスタム セキュリティ属性のデータ型を選択します。
データ型 説明 ブーリアン true、True、false、または False のいずれかのブール値。 整数 32 ビット整数。 糸 X 文字までの長さの文字列。 [複数の値を割り当てることができるようにする] で、[はい] または [いいえ] を選択します。
このカスタム セキュリティ属性 複数の値を割り当てられるようにするには、[はい] を選択します。 このカスタム セキュリティ属性 1 つの値のみを割り当てられるようにするには、[ なし] を選択します。
で定義済みの値のみを割り当てられるようにするには、[はい] または [いいえ]を選択します。
このカスタム セキュリティ属性 定義済みの値の一覧から値を割り当てる必要がある場合は、[はい] を選択します。 [ なし] を選択すると、このカスタム セキュリティ属性にユーザー定義の値または定義済みの値が割り当てられる可能性があります。
[定義済みの値のみの割り当てを許可する] が [はい] の場合は、[値の追加] を選択して定義済みの値を追加します。
アクティブな値は、オブジェクトへの割り当てに使用できます。 アクティブではない値は定義されていますが、割り当てには使用できません。
終わったら、[保存] を選択します。
新しいカスタム セキュリティ属性がカスタム セキュリティ属性の一覧に表示されます。
定義済みの値を含める場合は、次のセクションの手順に従います。
カスタム セキュリティ属性定義を編集する
新しいカスタム セキュリティ属性定義を追加したら、後で一部のプロパティを編集できます。 一部のプロパティは不変であり、変更できません。
属性定義管理者として、Microsoft Entra 管理センター にサインインします。
保護>カスタム セキュリティ属性に移動します。
編集するカスタム セキュリティ属性を含む属性セットを選択します。
カスタム セキュリティ属性の一覧で、編集するカスタム セキュリティ属性の省略記号を選択し、[属性の編集]
選択します。 有効になっているプロパティを編集します。
定義済みの値のみを割り当てることができる が [はい]の場合は、[値の追加] を選択して定義済みの値を追加します。 定義済みの値を選択して、「アクティブですか?」設定を変更します。
カスタム セキュリティ属性定義を非アクティブ化する
カスタム セキュリティ属性定義を追加した後は、削除できません。 ただし、カスタム セキュリティ属性定義は非アクティブ化できます。
属性定義管理者として、Microsoft Entra 管理センター にサインインします。
保護>カスタム セキュリティ属性に移動します。
非アクティブ化するカスタム セキュリティ属性を含む属性セットを選択します。
カスタム セキュリティ属性の一覧で、非アクティブ化するカスタム セキュリティ属性の横にチェック マークを追加します。
で属性を非アクティブ化するを選択します。
表示された [属性の非アクティブ化] ダイアログで、[はい]
選択します。 カスタム セキュリティ属性は非アクティブ化され、[非アクティブ化された属性] リストに移動されます。
PowerShell または Microsoft Graph API
Microsoft Entra 組織でカスタム セキュリティ属性定義を管理するには、PowerShell または Microsoft Graph API を使用することもできます。 次の例では、属性セットとカスタム セキュリティ属性定義を管理します。
すべての属性セットを取得する
次の例では、すべての属性セットを取得します。
Get-MgDirectoryAttributeSet | Format-List
Description : Attributes for engineering team
Id : Engineering
MaxAttributesPerSet : 25
AdditionalProperties : {}
Description : Attributes for marketing team
Id : Marketing
MaxAttributesPerSet : 25
AdditionalProperties : {}
上位の属性セットを取得する
次の例では、上位の属性セットを取得します。
Get-MgDirectoryAttributeSet -Top 10
属性セットを順番に取得する
次の例では、属性セットを順番に取得します。
Get-MgDirectoryAttributeSet -Sort "Id"
属性セットを取得する
次の例では、属性セットを取得します。
- 属性セット:
Engineering
Get-MgDirectoryAttributeSet -AttributeSetId "Engineering" | Format-List
Description : Attributes for engineering team
Id : Engineering
MaxAttributesPerSet : 25
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#directory/attributeSets/$entity]}
属性セットを追加する
次の例では、新しい属性セットを追加します。
- 属性セット:
Engineering
$params = @{
Id = "Engineering"
Description = "Attributes for engineering team"
MaxAttributesPerSet = 25
}
New-MgDirectoryAttributeSet -BodyParameter $params
Id Description MaxAttributesPerSet
-- ----------- -------------------
Engineering Attributes for engineering team 25
属性セットを更新する
次の例では、属性セットを更新します。
- 属性セット:
Engineering
Update-MgDirectoryAttributeSet
$params = @{
description = "Attributes for engineering team"
maxAttributesPerSet = 20
}
Update-MgDirectoryAttributeSet -AttributeSetId "Engineering" -BodyParameter $params
すべてのカスタム セキュリティ属性定義を取得する
次の例では、すべてのカスタム セキュリティ属性定義を取得します。
Get-MgDirectoryCustomSecurityAttributeDefinition
Get-MgDirectoryCustomSecurityAttributeDefinition | Format-List
AllowedValues :
AttributeSet : Engineering
Description : Target completion date
Id : Engineering_ProjectDate
IsCollection : False
IsSearchable : True
Name : ProjectDate
Status : Available
Type : String
UsePreDefinedValuesOnly : False
AdditionalProperties : {}
AllowedValues :
AttributeSet : Engineering
Description : Active projects for user
Id : Engineering_Project
IsCollection : True
IsSearchable : True
Name : Project
Status : Available
Type : String
UsePreDefinedValuesOnly : True
AdditionalProperties : {}
AllowedValues :
AttributeSet : Marketing
Description : Country where is application is used
Id : Marketing_AppCountry
IsCollection : True
IsSearchable : True
Name : AppCountry
Status : Available
Type : String
UsePreDefinedValuesOnly : True
AdditionalProperties : {}
カスタム セキュリティ属性定義をフィルター処理する
次の例では、カスタム セキュリティ属性の定義をフィルター処理します。
- フィルター: 属性名が「Project」で、状態が「利用可能」
Get-MgDirectoryCustomSecurityAttributeDefinition
Get-MgDirectoryCustomSecurityAttributeDefinition -Filter "name eq 'Project' and status eq 'Available'" | Format-List
AllowedValues :
AttributeSet : Engineering
Description : Active projects for user
Id : Engineering_Project
IsCollection : True
IsSearchable : True
Name : Project
Status : Available
Type : String
UsePreDefinedValuesOnly : True
AdditionalProperties : {}
- フィルター: 属性セットが 'Engineering'、状態が 'Available'、データ型が 'String'
Get-MgDirectoryCustomSecurityAttributeDefinition
Get-MgDirectoryCustomSecurityAttributeDefinition -Filter "attributeSet eq 'Engineering' and status eq 'Available' and type eq 'String'" | Format-List
AllowedValues :
AttributeSet : Engineering
Description : Target completion date
Id : Engineering_ProjectDate
IsCollection : False
IsSearchable : True
Name : ProjectDate
Status : Available
Type : String
UsePreDefinedValuesOnly : False
AdditionalProperties : {}
AllowedValues :
AttributeSet : Engineering
Description : Active projects for user
Id : Engineering_Project
IsCollection : True
IsSearchable : True
Name : Project
Status : Available
Type : String
UsePreDefinedValuesOnly : True
AdditionalProperties : {}
カスタム セキュリティ属性定義を取得する
次の例では、カスタム セキュリティ属性の定義を取得します。
- 属性セット:
Engineering
- 属性:
ProjectDate
Get-MgDirectoryCustomSecurityAttributeDefinition
Get-MgDirectoryCustomSecurityAttributeDefinition -CustomSecurityAttributeDefinitionId "Engineering_ProjectDate" | Format-List
AllowedValues :
AttributeSet : Engineering
Description : Target completion date
Id : Engineering_ProjectDate
IsCollection : False
IsSearchable : True
Name : ProjectDate
Status : Available
Type : String
UsePreDefinedValuesOnly : False
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions/$entity]}
カスタム セキュリティ属性定義を追加する
次の例では、新しいカスタム セキュリティ属性定義を追加します。
- 属性セット:
Engineering
- 属性:
ProjectDate
- 属性データ型: 文字列
New-MgDirectoryCustomSecurityAttributeDefinition
$params = @{
attributeSet = "Engineering"
description = "Target completion date"
isCollection = $false
isSearchable = $true
name = "ProjectDate"
status = "Available"
type = "String"
usePreDefinedValuesOnly = $false
}
New-MgDirectoryCustomSecurityAttributeDefinition -BodyParameter $params | Format-List
AllowedValues :
AttributeSet : Engineering
Description : Target completion date
Id : Engineering_ProjectDate
IsCollection : False
IsSearchable : True
Name : ProjectDate
Status : Available
Type : String
UsePreDefinedValuesOnly : False
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions/$entity]}
複数の定義済み値をサポートするカスタム セキュリティ属性定義を追加する
次の例では、複数の定義済み値をサポートする新しいカスタム セキュリティ属性定義を追加します。
- 属性セット:
Engineering
- 属性:
Project
- 属性データ型: 文字列のコレクション
New-MgDirectoryCustomSecurityAttributeDefinition
$params = @{
attributeSet = "Engineering"
description = "Active projects for user"
isCollection = $true
isSearchable = $true
name = "Project"
status = "Available"
type = "String"
usePreDefinedValuesOnly = $true
}
New-MgDirectoryCustomSecurityAttributeDefinition -BodyParameter $params | Format-List
AllowedValues :
AttributeSet : Engineering
Description : Active projects for user
Id : Engineering_Project
IsCollection : True
IsSearchable : True
Name : Project
Status : Available
Type : String
UsePreDefinedValuesOnly : True
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions/$entity]}
定義済みの値の一覧を含むカスタム セキュリティ属性定義を追加する
次の例では、定義済みの値の一覧を含む新しいカスタム セキュリティ属性定義を追加します。
- 属性セット:
Engineering
- 属性:
Project
- 属性データ型: 文字列のコレクション
- 定義済みの値:
Alpine
、Baker
、Cascade
New-MgDirectoryCustomSecurityAttributeDefinition
$params = @{
attributeSet = "Engineering"
description = "Active projects for user"
isCollection = $true
isSearchable = $true
name = "Project"
status = "Available"
type = "String"
usePreDefinedValuesOnly = $true
allowedValues = @(
@{
id = "Alpine"
isActive = $true
}
@{
id = "Baker"
isActive = $true
}
@{
id = "Cascade"
isActive = $true
}
)
}
New-MgDirectoryCustomSecurityAttributeDefinition -BodyParameter $params | Format-List
AllowedValues :
AttributeSet : Engineering
Description : Active projects for user
Id : Engineering_Project
IsCollection : True
IsSearchable : True
Name : Project
Status : Available
Type : String
UsePreDefinedValuesOnly : True
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions/$entity]}
カスタム セキュリティ属性定義を更新する
次の例では、カスタム セキュリティ属性の定義を更新します。
- 属性セット:
Engineering
- 属性:
ProjectDate
Update-MgDirectoryCustomSecurityAttributeDefinition
$params = @{
description = "Target completion date (YYYY/MM/DD)"
}
Update-MgDirectoryCustomSecurityAttributeDefinition -CustomSecurityAttributeDefinitionId "Engineering_ProjectDate" -BodyParameter $params
カスタム セキュリティ属性定義の定義済みの値を更新する
次の例では、カスタム セキュリティ属性定義の定義済みの値を更新します。
- 属性セット:
Engineering
- 属性:
Project
- 属性データ型: 文字列のコレクション
- 定義済みの値を更新する:
Baker
- 新しい定義済み値:
Skagit
手記
この要求では、OData-Version ヘッダーを追加し、4.01
値を割り当てる必要があります。
$params = @{
"allowedValues@delta" = @(
@{
id = "Baker"
isActive = $false
}
@{
id = "Skagit"
isActive = $true
}
)
}
$header = @{
"OData-Version" = 4.01
}
Invoke-MgGraphRequest -Method PATCH -Uri "https://graph.microsoft.com/v1.0/directory/customSecurityAttributeDefinitions/Engineering_Project5" -Headers $header -Body $params
カスタム セキュリティ属性定義を非アクティブ化する
次の例では、カスタム セキュリティ属性定義を非アクティブ化します。
- 属性セット:
Engineering
- 属性:
Project
Update-MgDirectoryCustomSecurityAttributeDefinition
$params = @{
status = "Deprecated"
}
Update-MgDirectoryCustomSecurityAttributeDefinition -CustomSecurityAttributeDefinitionId "Engineering_ProjectDate" -BodyParameter $params
すべての定義済み値を取得する
次の例では、カスタム セキュリティ属性定義のすべての定義済み値を取得します。
- 属性セット:
Engineering
- 属性:
Project
Get-MgDirectoryCustomSecurityAttributeDefinitionAllowedValue
Get-MgDirectoryCustomSecurityAttributeDefinitionAllowedValue -CustomSecurityAttributeDefinitionId "Engineering_Project" | Format-List
Id : Skagit
IsActive : True
AdditionalProperties : {}
Id : Baker
IsActive : False
AdditionalProperties : {}
Id : Cascade
IsActive : True
AdditionalProperties : {}
Id : Alpine
IsActive : True
AdditionalProperties : {}
定義済みの値を取得する
次の例では、カスタム セキュリティ属性定義の定義済みの値を取得します。
- 属性セット:
Engineering
- 属性:
Project
- 定義済みの値:
Alpine
Get-MgDirectoryCustomSecurityAttributeDefinitionAllowedValue
Get-MgDirectoryCustomSecurityAttributeDefinitionAllowedValue -CustomSecurityAttributeDefinitionId "Engineering_Project" -AllowedValueId "Alpine" | Format-List
Id : Alpine
IsActive : True
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions('Engineering_Project')/al
lowedValues/$entity]}
定義済みの値を追加する
次の例では、カスタム セキュリティ属性定義の定義済みの値を追加します。
usePreDefinedValuesOnly
が true
に設定されているカスタム セキュリティ属性の定義済みの値を追加できます。
- 属性セット:
Engineering
- 属性:
Project
- 定義済みの値:
Alpine
New-MgDirectoryCustomSecurityAttributeDefinitionAllowedValue
$params = @{
id = "Alpine"
isActive = $true
}
New-MgDirectoryCustomSecurityAttributeDefinitionAllowedValue -CustomSecurityAttributeDefinitionId "Engineering_Project" -BodyParameter $params | Format-List
Id : Alpine
IsActive : True
AdditionalProperties : {[@odata.context, https://graph.microsoft.com/v1.0/$metadata#directory/customSecurityAttributeDefinitions('Engineering_Project')/al
lowedValues/$entity]}
定義済みの値を非アクティブ化する
次の例では、カスタム セキュリティ属性定義の定義済みの値を非アクティブ化します。
- 属性セット:
Engineering
- 属性:
Project
- 定義済みの値:
Alpine
Update-MgDirectoryCustomSecurityAttributeDefinitionAllowedValue
$params = @{
isActive = $false
}
Update-MgDirectoryCustomSecurityAttributeDefinitionAllowedValue -CustomSecurityAttributeDefinitionId "Engineering_Project" -AllowedValueId "Alpine" -BodyParameter $params
よく寄せられる質問
カスタム セキュリティ属性定義を削除できますか?
いいえ。カスタム セキュリティ属性の定義は削除できません。 カスタム セキュリティ属性の定義を非アクティブ化することのみが可能です。 カスタム セキュリティ属性を非アクティブ化すると、Microsoft Entra オブジェクトに適用できなくなります。 非アクティブ化されたカスタム セキュリティ属性定義のカスタム セキュリティ属性の割り当ては、自動的には削除されません。 非アクティブ化されたカスタム セキュリティ属性の数に制限はありません。 テナントごとに 500 個のアクティブなカスタム セキュリティ属性定義を設定でき、カスタム セキュリティ属性定義ごとに 100 個の定義済み値を使用できます。
次の手順
- Microsoft Entra ID のカスタム セキュリティ属性へのアクセスを管理する
- ユーザー のカスタム セキュリティ属性の割り当て、更新、一覧表示、または削除
- アプリケーション のカスタム セキュリティ属性の割り当て、更新、一覧表示、または削除を行う