customSecurityAttributeDefinition の作成

名前空間: microsoft.graph

重要

Microsoft Graph の /beta バージョンの API は変更される可能性があります。 実稼働アプリケーションでこれらの API を使用することは、サポートされていません。 v1.0 で API を使用できるかどうかを確認するには、Version セレクターを使用します。

新しい customSecurityAttributeDefinition オブジェクトを作成します。

この API は、次の国内クラウド展開で使用できます。

グローバル サービス 米国政府機関 L4 米国政府機関 L5 (DOD) 21Vianet が運営する中国

アクセス許可

この API の最小特権としてマークされているアクセス許可またはアクセス許可を選択します。 アプリで必要な場合にのみ、より高い特権のアクセス許可またはアクセス許可を使用します。 委任されたアクセス許可とアプリケーションのアクセス許可の詳細については、「アクセス許可の種類」を参照してください。 これらのアクセス許可の詳細については、「アクセス許可のリファレンス」を参照してください。

アクセス許可の種類 最小特権アクセス許可 より高い特権のアクセス許可
委任 (職場または学校のアカウント) CustomSecAttributeDefinition.ReadWrite.All 注意事項なし。
委任 (個人用 Microsoft アカウント) サポートされていません。 サポートされていません。
アプリケーション CustomSecAttributeDefinition.ReadWrite.All 注意事項なし。

重要

職場または学校アカウントを使用してアクセスを委任するには、サインインしたユーザーに、サポートされている Microsoft Entra ロール、またはこの操作に必要なアクセス許可を付与するカスタム ロールが割り当てられている必要があります。

  • 属性定義管理者 は、この操作でサポートされる唯一の特権ロールです。
  • 既定では、 グローバル管理者 やその他の管理者ロールには、カスタム セキュリティ属性の読み取り、定義、割り当てのアクセス許可がありません。

HTTP 要求

POST /directory/customSecurityAttributeDefinitions

要求ヘッダー

名前 説明
Authorization ベアラー {token}。 必須です。 認証と認可についての詳細をご覧ください。
Content-Type application/json. 必須です。

要求本文

リクエストの本文には、 customSecurityAttributeDefinition オブジェクトの JSON 表現を指定します。

次の表に、 customSecurityAttributeDefinition を作成するときに構成できるプロパティを示します。

プロパティ 説明
attributeSet 文字列 属性セットの名前。 大文字と小文字を区別します。 必須です。
説明 String カスタム セキュリティ属性の説明。 最大 128 文字で、Unicode 文字を含めることができます。 スペースや特殊文字を含めることはできません。 後で変更できます。 省略可能。
isCollection ブール型 カスタム セキュリティ属性に複数の値を割り当てることができるかどうかを示します。 後で変更することはできません。 typeBoolean に設定されている場合、isCollectiontrue に設定することはできません。 必須です。
isSearchable ブール型 属性値が割り当てられているオブジェクトを検索するために、カスタム セキュリティ属性値にインデックスが作成されるかどうかを示します。 後で変更することはできません。 必須です。
name String カスタム セキュリティ属性の名前。 属性セット内で一意である必要があります。 最大 32 文字で、Unicode 文字を含めることができます。 スペースや特殊文字を含めることはできません。 後で変更することはできません。 大文字と小文字を区別します。 必須です。
status String カスタム セキュリティ属性をアクティブか非アクティブにするかを指定します。 指定可能な値は AvailableDeprecated です。 後で変更できます。 必須です。
type String カスタム セキュリティ属性値のデータ型。 サポートされている種類は、 BooleanIntegerString です。 後で変更することはできません。 必須です。
usePreDefinedValuesOnly ブール型 カスタム セキュリティ属性に事前定義された値のみを割り当てることができるかどうかを示します。 false に設定すると、自由形式の値が許可されます。 後で true から false に変更できますが、 false から true に変更することはできません。 typeBoolean に設定されている場合、usePreDefinedValuesOnlytrue に設定することはできません。 必須です。

id プロパティは自動生成されるので設定できません。

応答

成功した場合、このメソッドは応答本文で 201 Created 応答コードと customSecurityAttributeDefinition オブジェクトを返します。

例 1: カスタム セキュリティ属性を追加する

次の例では、String 型の単一の自由形式の値である新しいカスタム セキュリティ属性定義を追加します。

  • 属性セット: Engineering
  • 属性: ProjectDate

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/directory/customSecurityAttributeDefinitions
Content-Type: application/json

{
    "attributeSet":"Engineering",
    "description":"Target completion date",
    "isCollection":false,
    "isSearchable":true,
    "name":"ProjectDate",
    "status":"Available",
    "type":"String",
    "usePreDefinedValuesOnly": false
}

応答

次の例は応答を示しています。

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#directory/customSecurityAttributeDefinitions/$entity",
    "attributeSet": "Engineering",
    "description": "Target completion date",
    "id": "Engineering_ProjectDate",
    "isCollection": false,
    "isSearchable": true,
    "name": "ProjectDate",
    "status": "Available",
    "type": "String",
    "usePreDefinedValuesOnly": false
}

例 2: 複数の定義済み値をサポートするカスタム セキュリティ属性を追加する

次の例では、定義済みの String 型の複数の値をサポートする新しいカスタム セキュリティ属性定義を追加します。

  • 属性セット: Engineering
  • 属性: Project

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/directory/customSecurityAttributeDefinitions
Content-Type: application/json
Content-length: 310

{
    "attributeSet":"Engineering",
    "description":"Active projects for user",
    "isCollection":true,
    "isSearchable":true,
    "name":"Project",
    "status":"Available",
    "type":"String",
    "usePreDefinedValuesOnly": true
}

応答

次の例は応答を示しています。

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#directory/customSecurityAttributeDefinitions/$entity",
    "attributeSet": "Engineering",
    "description": "Active projects for user",
    "id": "Engineering_Project",
    "isCollection": true,
    "isSearchable": true,
    "name": "Project",
    "status": "Available",
    "type": "String",
    "usePreDefinedValuesOnly": true
}

例 3: 定義済みの値のリストを持つカスタム セキュリティ属性を追加する

次の例は、定義済みの値のリストを文字列のコレクションとして含む新しいカスタム セキュリティ属性定義を追加する方法を示しています。

  • 属性セット: Engineering
  • 属性: Project
  • 属性データ型: 文字列のコレクション
  • 定義済みの値: AlpineBakerCascade

要求

次の例は要求を示しています。

POST https://graph.microsoft.com/beta/directory/customSecurityAttributeDefinitions
Content-Type: application/json

{
    "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
        }
    ]
}

応答

次の例は応答を示しています。

HTTP/1.1 201 Created
Content-Type: application/json

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#directory/customSecurityAttributeDefinitions/$entity",
    "attributeSet": "Engineering",
    "description": "Active projects for user",
    "id": "Engineering_Project",
    "isCollection": true,
    "isSearchable": true,
    "name": "Project",
    "status": "Available",
    "type": "String",
    "usePreDefinedValuesOnly": true
}