# Provisione usuários do Microsoft Entra com SCIM

Habilitar o **Provisionamento Automatizado de Usuários** simplifica a gestão de identidade e acesso ao criar, atualizar e excluir automaticamente contas de usuário em aplicações com base nas mudanças no Microsoft Entra ID. Essas mudanças são refletidas nos usuários e equipes da plataforma da Azion, uma vez que o recurso é habilitado. A automação utiliza o protocolo SCIM, tornando o processo de provisionamento escalável e seguro.

Isso reduz o trabalho manual e melhora a conformidade e segurança, garantindo que os usuários tenham acesso apropriado aos recursos conforme necessário.

Este guia abordará como habilitar o provisionamento automatizado de usuários do Microsoft Entra para a plataforma da Azion usando o protocolo SCIM (*System for Cross-domain Identity Management*).

:::note
Este recurso está disponível para clientes com o [suporte](https://www.azion.com/pt-br/servicos-profissionais/) **Enterprise** e **Mission Critical**.
:::

---

## Ative o uso do protocolo SCIM

:::note
Você precisa de um token pessoal da Azion para executar as seguintes tarefas. Leia a documentação para [criar um novo token pessoal](/pt-br/documentacao/produtos/guias/personal-tokens/).

Você também precisa [configurar o Microsoft Entra como um Provedor de Identidade (IdP) para a Azion](/pt-br/documentacao/produtos/guias/sso-microsoft-entra-saml/) previamente.
:::

1. Vá para a sua ferramenta preferida de desenvolvimento e teste de API. Por exemplo, Postman ou Swagger.
2. Execute a seguinte requisição `GET`, substituindo [Token value] pelo seu token pessoal da Azion, para obter o status atual do seu IdP e seu identificador na Azion.

```bash
curl --location 'https://api.azionapi.net/iam/identity_providers' \
--header 'Accept: application/json' \
--header 'Authorization: Token [Token value]'
```

3. Você receberá uma resposta semelhante a esta:

```bash
{
  "name": "Microsoft Entra IdP",
"is_active": true,
"protocol": "SAML",
  "uuid": "1234abc4567",
  "login_url": "https://api.azion.com/v4/users/scim/<idp_uuid>/login",
"scim_integration": false,
"scim_url": null
}
```

  - `is_active` é um booleano que confirma se o IdP está ativo e `uuid` é o identificador do IdP na Azion.
  - Copie o `uuid` para usá-lo nos próximos passos.

:::note 
O IdP deve estar ativo e vinculado à aplicação SAML correta no console do Microsoft Entra. Confira o guia sobre como usar [Microsoft Entra custom SAML app as an IdP for Azion](/pt-br/documentacao/produtos/guias/sso-microsoft-entra-saml/) para mais detalhes sobre essa configuração.
:::

4. Execute a seguinte requisição `GET`, substituindo [Token value] pelo seu token pessoal da Azion e o `uuid` pelo identificador que você obteve nos passos anteriores, para obter mais informações sobre a integração do IdP na Azion.

```bash
curl --location 'https://api.azionapi.net/iam/identity_providers/saml2/<uuid>' \
--header 'Accept: application/json' \
--header 'Authorization: Token [Token value]'
```

5. Você receberá uma resposta semelhante a esta:

```bash
{
 "uuid": "1234abc4567",
  "name": "Microsoft Entra IdP",
"is_active": true,
 "sign_in_url": "https://login.microsoftonline/123abc/saml2",
 "entity_id_url": "https://sts.windows.net/123abc/saml2",
  "login_url": "https://sso.azion.com/api/saml2v4/users/scim/<idp_uuid>/login",
  "acs_url": "https://sso.azion.com/api/saml2v4/users/scim/<idp_uuid>/login",
"signature_algorithm": "sha-256",
"scim_integration": false,
"scim_url": null
}
```

    - `scim_integration` refere-se ao status atual da ativação do protocolo SCIM. Neste caso, `false` indica que o protocolo ainda não está ativo para funcionar com o IdP.

6. Execute a seguinte requisição `PATCH`, substituindo [Token value] pelo seu token pessoal da Azion e o `uuid` pelo identificador que você obteve nos passos anteriores, para atualizar o status da sua integração SCIM do IdP.

```bash
curl --location 'https://api.azionapi.net/iam/identity_providers/saml2/<uuid>' \
--header 'Accept: application/json' \
--header 'Authorization: Token [Token value]'
--data '{
    "scim_integration": true
}'
```

7. Você receberá uma resposta semelhante a esta:

```bash
{
 "uuid": "1234abc4567",
  "name": "Microsoft Entra IdP",
"is_active": true,
 "sign_in_url": "https://login.microsoftonline/123abc/saml2",
 "entity_id_url": "https://sts.windows.net/123abc/saml2",
  "login_url": "https://sso.azion.com/api/saml2v4/users/scim/<idp_uuid>/login",
  "acs_url": "https://sso.azion.com/api/saml2v4/users/scim/<idp_uuid>/login",
"signature_algorithm": "sha-256",
"scim_integration": true,
  "scim_url": "https://api.azion.com/v4/users/scim/<idp_uuid>/Users"
}
```

---

## Habilite o provisionamento 

1. Acesse [Microsoft Entra admin center](https://entra.microsoft.com/).
2. Selecione o card do registro que você criou para usar o Microsoft Entra como IdP para a Azion.
3. No menu à esquerda, selecione **Provisioning** na seção **Manage**.
4. No campo **Provisioning mode**, selecione **Automatic**.
5. Na seção **Admin Credentials**:
    - No campo **Tenant URL**, copie o link no campo "scim_url" que você obteve na etapa anterior.
    - Em **Secret Token**, insira um token pessoal de Account Owner ou um token para um usuário com permissões de integração do protocolo SCIM.
6. Clique em **Test Connection** para testar se está funcionando. Você receberá uma mensagem indicando que o teste foi bem-sucedido.
7. Clique no botão **Save**.

Agora, você deve mapear os usuários e grupos que deseja provisionar entre as contas, conforme explicado na seção seguinte.

:::note
Você pode provisionar apenas usuários; nesse caso, os usuários serão criados sem estarem vinculados a nenhum grupo e você deve atribuir permissões e grupos manualmente. O provisionamento de grupos permite que você provisiona todos os usuários dentro de cada grupo; posteriormente, você deve configurar as permissões do grupo diretamente na plataforma da Azion.
:::

### Mapeie usuários

:::note
A Azion não suporta o esquema **Enterprise** fornecido pelo Microsoft Entra. Use sempre o esquema de usuário padrão.
:::

Ainda na página de configuração do provisionamento:

1. Abra a seção **Mappings**.
2. Selecione "Provision Microsoft Entra ID Users".
3. Em **Attribute Mappings**, deixe apenas os seguintes campos: **userName**, **active**, **name.givenName** e **name.familyName**.
4. Exclua os demais atributos.

:::note
Você deve deixar apenas os campos mencionados e excluir os demais para evitar qualquer incompatibilidade entre as informações do usuário no Microsoft Entra e na Azion, alinhando assim ambos.
:::

5. Garanta que o interruptor **Enable** esteja na opção **Yes**.
6. Clique em **Save**.

### Mapeie grupos

:::note
**Groups** no Microsoft Entra são equivalentes a **Teams** na Azion.
:::

Ainda na página de configuração do provisionamento:

1. Abra a seção **Mappings**.
2. Selecione "Provision Microsoft Entra ID Groups".
3. Garanta que o interruptor **Enable** esteja na opção **Yes**.
4. Clique em **Save**.

:::note
Se a opção **Groups** não estiver habilitada, os usuários serão criados sem um grupo ou permissões específicas, obtendo acesso apenas a atividades e recursos não restritos.
:::

---

## Provisione usuários entre Microsoft Entra e Azion

:::note
​​Se um usuário receber a permissão **Account Owner**, a integração com o Microsoft Entra não funcionará mais para autenticar esse usuário. Em vez disso, as regras configuradas de SSO da Azion entrarão em vigor. Isso previne qualquer chance de que esse usuário seja bloqueado devido a mudanças no IdP que possam remover suas permissões.
:::

Uma vez que você tenha criado sua configuração de provisionamento e mapeado usuários e grupos, você pode iniciar o processo de provisionamento. Para fazer isso:

1. Acesse [Microsoft Entra admin center](https://entra.microsoft.com/).
2. Selecione o card do registro que você criou para usar o Microsoft Entra como IdP para a Azion.
3. Selecione a opção **Overview** no menu.

Nesta seção, você pode verificar os detalhes do provisionamento sobre as configurações padrão para o provisionamento. Neste caso, o Microsoft Entra tem um intervalo fixo de *40 minutos* para executar um novo ciclo de provisionamento.

### Provisione manualmente usuários

Alternativamente, você pode executar um provisionamento manual, se necessário. Para executá-lo manualmente, ainda na página de configuração do provisionamento:

1. Vá para a opção **Provision on demand** no menu à esquerda.
2. Selecione o usuário ou grupo que você deseja provisionar.
3. Clique no botão **Provision**.

Para verificar se o provisionamento foi bem-sucedido:

1. Acesse [Azion Console](https://console.azion.com/).
2. No canto superior direito da página, selecione o menu do avatar. Este é o **Account menu**.
3. Selecione **Users Management** para verificar se sua lista de usuários foi atualizada.