customSecurityAttributeDefinition を作成する

名前空間: microsoft.graph

新しい 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 ブール型 カスタム セキュリティ属性に複数の値を割り当てることができるかどうかを示します。 後で変更することはできません。 type が Boolean に設定されている場合、isCollection を true に設定することはできません。 必須です。
isSearchable ブール型 属性値が割り当てられているオブジェクトを検索するために、カスタム セキュリティ属性値にインデックスを作成するかどうかを示します。 後で変更することはできません。 必須です。
name String カスタム セキュリティ属性の名前。 属性セット内で一意である必要があります。 最大 32 文字の長さと Unicode 文字を含めることができます。 スペースまたは特殊文字を含めることはできません。 後で変更することはできません。 大文字と小文字が区別されます。 必須です。
status String カスタム セキュリティ属性がアクティブか非アクティブかを指定します。 許容される値は、 Available と Deprecatedです。 後で変更できます。 必須です。
type String カスタム セキュリティ属性値のデータ型。 サポートされる型は、 Boolean、 Integer、 Stringです。 後で変更することはできません。 必須です。
usePreDefinedValuesOnly ブール型 定義済みの値のみをカスタム セキュリティ属性に割り当てることができるかどうかを示します。 falseに設定すると、自由形式の値を使用できます。 後で true から falseに変更できますが、 false から trueに変更することはできません。 type が Boolean に設定されている場合、usePreDefinedValuesOnly を true に設定することはできません。 必須です。

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

応答

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

例

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

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

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

要求

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

POST https://graph.microsoft.com/v1.0/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/v1.0/$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/v1.0/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/v1.0/$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: 定義済みの値の一覧を含むカスタム セキュリティ属性を追加する

次の例では、定義済みの値の一覧を String のコレクションとして含む新しいカスタム セキュリティ属性定義を追加します。

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

要求

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

POST https://graph.microsoft.com/v1.0/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/v1.0/$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
}