user の作成

名前空間: microsoft.graph

重要

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

新しい ユーザーを作成します。 必要なプロパティを持つ値が #microsoft.graph.agentUser@odata.type プロパティを指定すると、この API は agentUser オブジェクトを作成します。

少なくとも、必須プロパティを指定する必要があります。 必要に応じて、その他の書き込み可能なプロパティを指定することもできます。

この操作は、デフォルトで各 User および agentUser のプロパティのサブセットのみを返します。 これらの既定のプロパティは、「プロパティ」セクションに記載されています。 既定で返されないプロパティを取得するには、GET 操作を実行し、$select OData クエリ オプションでプロパティを指定します。

注:

organization との B2B コラボレーションの一環として外部ユーザーを作成するには、招待 API を使用します。 外部テナントの Microsoft Entra 外部 ID で顧客、市民、またはビジネス パートナーを作成するには、「例 4: 顧客アカウントの作成」を参照してください。

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

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

アクセス許可

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

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

HTTP 要求

POST /users

要求ヘッダー

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

要求本文

要求本文で、ユーザー オブジェクトの JSON 表記を指定します。

次の表は、ユーザーまたは agentUser を作成するときに必要なプロパティの一覧です。

  • agentUser を作成するには、値が #microsoft.graph.agentUser の @odata.type プロパティを指定する必要があります。そうしないと、ユーザーが作成され、id
  • 作成しているユーザーの ID プロパティが含まれている場合は、一覧に表示されているすべてのプロパティが必須ではありません。 ソーシャル ID の場合、プロパティは必要ありません。
パラメーター 説明
accountEnabled ブール値 アカウントが有効になっている場合は true。それ以外の場合は false。
displayName 文字列 ユーザーのアドレス帳に表示される名前。
onPremisesImmutableId String ユーザーの userPrincipalName (UPN) プロパティにフェデレーション ドメインを使用している場合にのみ、新しいユーザー アカウントを作成するときに必要です。
mailNickname String ユーザーの電子メール エイリアス。
passwordProfile passwordProfile ユーザーのパスワード プロファイル。 ユーザーにのみ適用され、agentUser には許可されません。
userPrincipalName String ユーザー プリンシパル名 (someuser@contoso.com)。 インターネット標準 RFC 822 に基づいた、インターネット スタイルのユーザーのログイン名です。 規則では、これはユーザーの電子メール名にマップされる必要があります。 一般的な形式は alias@domain です。このドメインは、検証済みドメインのテナントのコレクション内に存在している必要があります。 テナントの検証済みドメインには、organizationverifiedDomains プロパティからアクセスできます。
注: このプロパティにアクセント文字を含めることはできません。 次の文字のみ使用することができます A - Za - z0 - 9 ' . - _ ! # ^ ~。 使用できる文字の完全なリストについてはユーザー名 ポリシーを参照してください。
identityParentId 文字列 関連付けられている エージェント ID のオブジェクト ID。 通常のユーザーに対して #microsoft.graph.agentUser の @odata.type を設定して無視する必要がある agentUser に必須。 設定されていない場合は、通常のユーザーが作成されます。

このリソースは 拡張機能をサポートしているため、 POST 操作を使用し、作成中に独自のデータを含むカスタム プロパティをユーザー インスタンスに追加できます。

この API を介して作成されたフェデレーション ユーザーは、既定では 12 時間ごとにサインインする必要があります。 これを変更する方法については、「 トークン ライフタイムの例外」を参照してください。

注:

ユーザー オブジェクトに既にローカル アカウント ID が含まれていない限り、既存のユーザー オブジェクトに B2C ローカル アカウントを追加することはできません。

応答

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

#microsoft.graph.agentUser@odata.type プロパティを省略すると、identityParentId が指定されていても、ユーザー オブジェクトが作成されます。 identityParentId が既に別の agentUser にリンクされている agentUser を作成しようとすると、400 Bad Requestエラーが返されます。

例 1: ユーザーを作成する

要求

次の例では、必須プロパティのみを指定する要求を示します。

POST https://graph.microsoft.com/beta/users
Content-type: application/json

{
  "accountEnabled": true,
  "displayName": "Adele Vance",
  "mailNickname": "AdeleV",
  "userPrincipalName": "AdeleV@contoso.com",
  "passwordProfile" : {
    "forceChangePasswordNextSignIn": true,
    "password": "xWwvJ]6NMw+bWH-d"
  }
}
応答

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

注:

ここに示す応答オブジェクトは、読みやすさのために短縮されている可能性があります。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
    "businessPhones": [],
    "displayName": "Adele Vance",
    "givenName": "Adele",
    "jobTitle": "Product Marketing Manager",
    "mail": "AdeleV@contoso.com",
    "mobilePhone": "+1 425 555 0109",
    "officeLocation": "18/2111",
    "preferredLanguage": "en-US",
    "surname": "Vance",
    "userPrincipalName": "AdeleV@contoso.com"
}

例 2: エージェント ユーザーを作成する

要求

次の例では、必須プロパティのみを指定する要求を示します。

POST https://graph.microsoft.com/beta/users
Content-type: application/json

{
  "@odata.type": "#microsoft.graph.agentUser",
  "accountEnabled": true,
  "displayName": "Adele Vance",
  "mailNickname": "AdeleV",
  "userPrincipalName": "AdeleV@contoso.com",
  "identityParentId": ""
}
応答

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

注:

ここに示す応答オブジェクトは、読みやすさのために短縮されている可能性があります。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "@odata.type": "#microsoft.graph.agentUser",
    "id": "87d349ed-44d7-43e1-9a83-5f2406dee5bd",
    "businessPhones": [],
    "displayName": "Adele Vance",
    "givenName": "Adele",
    "jobTitle": "Product Marketing Manager",
    "mail": "AdeleV@contoso.com",
    "mobilePhone": "+1 425 555 0109",
    "officeLocation": "18/2111",
    "preferredLanguage": "en-US",
    "surname": "Vance",
    "userPrincipalName": "AdeleV@contoso.com"
}

例 3: Azure AD B2C でソーシャル アカウント ID とローカル アカウント ID を持つユーザーを作成する

サインイン名 (サインイン用のメール アドレス)、およびソーシャル ID を持つローカル アカウント ID を使用して、新しいユーザーを作成します。 この例は通常、Azure AD B2C テナントでの移行シナリオに使用されます。

注:

ローカル アカウント ID の場合、パスワードの有効期限を無効にし、次回のサインイン時にパスワードを強制的に変更することも無効にする必要があります。

要求

POST https://graph.microsoft.com/beta/users
Content-type: application/json

{
  "displayName": "John Smith",
  "identities": [
    {
      "signInType": "userName",
      "issuer": "contoso.com",
      "issuerAssignedId": "johnsmith"
    },
    {
      "signInType": "emailAddress",
      "issuer": "contoso.com",
      "issuerAssignedId": "jsmith@yahoo.com"
    },
    {
      "signInType": "federated",
      "issuer": "facebook.com",
      "issuerAssignedId": "5eecb0cd"
    }
  ],
  "passwordProfile" : {
    "password": "password-value",
    "forceChangePasswordNextSignIn": false
  },
  "passwordPolicies": "DisablePasswordExpiration"
}

応答

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

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
  "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
  "displayName": "John Smith",
  "id": "4c7be08b-361f-41a8-b1ef-1712f7a3dfb2",
  "identities": [
    {
      "signInType": "userName",
      "issuer": "contoso.com",
      "issuerAssignedId": "johnsmith"
    },
    {
      "signInType": "emailAddress",
      "issuer": "contoso.com",
      "issuerAssignedId": "jsmith@yahoo.com"
    },
    {
      "signInType": "federated",
      "issuer": "facebook.com",
      "issuerAssignedId": "5eecb0cd"
    }
  ],
  "passwordPolicies": "DisablePasswordExpiration"
}

例 4: 外部テナントに顧客アカウントを作成する

この例では、外部テナントの Microsoft Entra 外部 ID で顧客アカウントを作成する方法を示します。

注:

ローカル アカウント ID の場合、パスワードの有効期限を無効にする必要があります。

要求

POST https://graph.microsoft.com/beta/users
Content-type: application/json

{
    "displayName": "Test User",
    "identities": [
        {
            "signInType": "emailAddress",
            "issuer": "contoso.onmicrosoft.com",
            "issuerAssignedId": "adelev@adatum.com"
        }
    ],
    "mail": "adelev@adatum.com",
    "passwordProfile": {
        "password": "passwordValue",
        "forceChangePasswordNextSignIn": true
    },
    "passwordPolicies": "DisablePasswordExpiration"
}

応答

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

注: ここに示す応答オブジェクトは、読みやすさのために短縮されている場合があります。

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "daabd280-3978-4d29-acce-d677b9cf2e4d",
    "businessPhones": [],
    "displayName": "Test User",
    "givenName": null,
    "jobTitle": null,
    "mail": "adelev@adatum.com",
    "mobilePhone": null,
    "officeLocation": null,
    "preferredLanguage": null,
    "surname": null,
    "userPrincipalName": "daabd280-3978-4d29-acce-d677b9cf2e4d@contoso.onmicrosoft.com"
}