Compartilhar via


Criar usuário

Namespace: microsoft.graph

Importante

As APIs na versão /beta no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.

Crie um novo utilizador. O corpo da solicitação contém o usuário a ser criado. No mínimo, você deve especificar as propriedades necessárias para o usuário. Opcionalmente, você pode especificar outras propriedades graváveis.

Esta operação devolve, por predefinição, apenas um subconjunto das propriedades de cada utilizador. Essas propriedades padrão estão listadas na seção Propriedades. Para obter propriedades não retornadas por padrão, execute uma operação GET e especifique as propriedades em uma opção de consulta $select do OData.

Observação

Para criar utilizadores externos como parte da colaboração B2B com a sua organização, utilize a API de convite. Para criar um cliente, cidadão ou parceiro empresarial no ID externa do Microsoft Entra em inquilinos externos, veja Exemplo 3: Criar uma conta de cliente.

Esta API está disponível nas seguintes implementações de cloud nacionais.

Serviço global US Government L4 US Government L5 (DOD) China operada pela 21Vianet

Permissões

Uma das seguintes permissões é necessária para chamar esta API. Para saber mais, incluindo como escolher permissões, confira Permissões.

Tipo de permissão Permissões (da com menos para a com mais privilégios)
Delegado (conta corporativa ou de estudante) User.ReadWrite.All, Directory.ReadWrite.All
Delegado (conta pessoal da Microsoft) Sem suporte.
Aplicativo User.ReadWrite.All, Directory.ReadWrite.All

Solicitação HTTP

POST /users

Cabeçalhos de solicitação

Cabeçalho Valor
Autorização {token} de portador. Obrigatório. Saiba mais sobre autenticação e autorização.
Content-Type application/json

Corpo da solicitação

No corpo da solicitação, forneça uma representação JSON do objeto user.

A tabela a seguir lista as propriedades que são necessárias ao criar um usuário. Se você estiver incluindo uma propriedade de identidades para o usuário que está criando, nem todas as propriedades listadas serão necessárias. Para uma identidade social, nenhuma das propriedades é necessária.

Parâmetro Tipo Descrição
accountEnabled Booliano Verdadeiro se a conta estiver ativada; caso contrário, falso.
displayName Cadeia de caracteres Nome de exibição no catálogo de endereços do usuário.
onPremisesImmutableId String Necessário apenas quando criar uma nova conta de utilizador se estiver a utilizar um domínio federado para a propriedade userPrincipalName (UPN) do utilizador.
mailNickname String O alias de email do usuário.
passwordProfile PasswordProfile O perfil de senha do usuário.
userPrincipalName Cadeia de caracteres O nome principal de utilizador (someuser@contoso.com). É um nome de logon no estilo da Internet para o usuário com base no padrão da Internet RFC 822. Por convenção, ele deve ser mapeado para o nome de email do usuário. O formato geral é alias@domain, onde o domínio deve estar presente na coleta de domínios verificados pelo locatário. Os domínios verificados para o locatário podem ser acessados pela propriedade verifiedDomains de organization.
OBSERVAÇÃO: esta propriedade não pode conter caracteres de ênfase. Somente os seguintes caracteres são permitidos A - Z, a - z, 0 - 9, ' . - _ ! # ^ ~. Para obter a lista completa de caracteres permitidos, consulte as políticas de nome de usuário.

Como o recurso de usuário dá suporte a extensões, você pode usar a POST operação e adicionar propriedades personalizadas com seus próprios dados à instância do usuário ao criá-la.

Os utilizadores federados criados através desta API serão obrigados a iniciar sessão a cada 12 horas por predefinição. Para obter informações sobre como alterar isto, veja Exceções para durações de tokens.

Observação

A adição de uma conta local B2C a um objeto de utilizador existente não é permitida, a menos que o objeto de utilizador já contenha uma identidade de conta local.

Resposta

Se tiver êxito, este método retornará um código de resposta 201 Created e um objeto user no corpo da resposta.

Exemplo

Exemplo 1: criar um usuário

Solicitação

O exemplo a seguir mostra uma solicitação.

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

No corpo da solicitação, forneça uma representação JSON do objeto user.

Resposta

O exemplo a seguir mostra a resposta.

Observação

O objeto de resposta mostrado aqui pode ser reduzido para facilitar a leitura.

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

Exemplo 2: Criar um utilizador com identidades de conta social e local no Azure AD B2C

Crie um novo usuário, com uma identidade de conta local, com um nome de logon, um endereço de email como logon e com uma identidade social. Normalmente, este exemplo é utilizado para cenários de migração no Azure AD inquilinos B2C.

Observação

Para as identidades de conta local, as expirações de senha devem ser desabilitadas e forçar alteração de senha no próximo logon também deve ser desabilitado.

Solicitação

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

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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

Exemplo 3: Criar uma conta de cliente em inquilinos externos

Este exemplo mostra como criar uma conta de cliente no ID externa do Microsoft Entra em inquilinos externos.

Observação

Para as identidades de conta local, as expirações de senha devem ser desabilitadas e forçar alteração de senha no próximo logon também deve ser desabilitado.

Solicitação

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": false
    },
    "passwordPolicies": "DisablePasswordExpiration"
}

Resposta

O exemplo a seguir mostra a resposta.

Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.

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