# Azure Active Directory para Office 365

## CONFIGURAÇÃO

Para utilizar o Microsoft Office 365 integrado com o RobotEasy Studio, o aplicativo deverá estar integrado com a [Plataforma de Identificação Microsoft](https://docs.microsoft.com/pt-br/azure/active-directory/develop/) e possuir as devidas permissões configuradas para consumo do [Microsoft Graph API](https://docs.microsoft.com/pt-br/graph/auth/auth-concepts#microsoft-graph-permissions).

## AZURE ACTIVE DIRECTORY

Para acesso ao Azure clique no link abaixo:

&#x20;<https://portal.azure.com/#home>

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FJ34Y6R6a72HluWdHwdjU%2FEntrando%20no%20Site%20Azure.gif?alt=media&#x26;token=b543f054-784e-4214-a570-f8760a816e20" alt=""><figcaption><p>Acessando as configurações Azure Active Directory</p></figcaption></figure>

## INTEGRAÇÃO

A integração consiste em 5 etapas:

1. Registrar o aplicativo;
2. Permissões \
   2.1 **Tipos de permissões requeridas**\
   2.2 **Principais Permissões**
3. Certificados e Segredos:
4. Adicionar um Escopo (opcional);
5. Estruturando o Office 365 no Studio.

## 1 - Registrar Aplicativo

Para efetuar o registro de um novo aplicativo no Azure Active Directory, basta seguir os seguintes passos:

1. Acessar a opção de Menu: **Azure Active Directory**
2. Clicar em **Registros de Aplicativos > Novo Registro**
3. Insira o nome para o registro
4. Selecione os tipos de conta com suporte que mais se adequar ao aplicativo.
5. Caso necessário, informe o redirecionamento de URI
6. Clique em Registrar.

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2Fcrk6uag7mc9eBmzPPRQx%2FRegistrando%20Azure.gif?alt=media&#x26;token=8defe569-803a-4617-b029-b1774ced18a5" alt=""><figcaption><p>Registrando Aplicativo Azure Active Directory</p></figcaption></figure>

{% hint style="info" %}
O Aplicativo registrado ficará salvo na aba registros de aplicativo.
{% endhint %}

## &#x20;2. Permissões

Após o registro do aplicativo, é necessário definir as permissões, seguindo os passos abaixo:

1. Clicar na opção Permissões de APIs.
2. Clicar Adicionar uma permissão.
3. Selecionar Microsoft Graph. \
   3.1 Escolher entre: \
   a) Permissões Delegadas\
   b) Permissões de Aplicativos
4. Definir quais as permissões desejadas.

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FGVnx5atBCGUbXBG7szWq%2FPermiss%C3%B5es%20Azure.gif?alt=media&#x26;token=991e12cf-dfd2-4fb1-aa82-f38b31830480" alt=""><figcaption><p>Permissões Azure Active Directory</p></figcaption></figure>

### **2.1 Tipos de permissões requeridas**

Essas execuções foram projetadas para aplicativos com permissões delegadas, apesar das permissões de aplicativo também funcionarem, seria recomendado o uso das delegadas.

Para mais informações, consulte a documentação de [APIs do Microsoft Azure](https://docs.microsoft.com/pt-br/azure/active-directory/develop/quickstart-configure-app-access-web-apis) e [Introdução a Permissões](https://learn.microsoft.com/pt-br/azure/active-directory/develop/permissions-consent-overview#types-of-permissions).

Há dois tipos de permissões, delegadas ou de aplicativos.&#x20;

**a) Delegadas:**&#x20;

Seu aplicativo precisa acessar a API como usuário conectado.&#x20;

São permissões que permitem que a aplicação aja em nome de um utilizador. A aplicação nunca conseguirá acessar  nada ao qual o próprio utilizador com sessão iniciada não tenha conseguido.

{% hint style="info" %}
Por exemplo, imagine uma aplicação a quem foi concedida a permissão Files.Read.All delegada em nome do Tom, o utilizador. A aplicação só poderá ler ficheiros aos quais o Tom possa acessar pessoalmente.
{% endhint %}

**b) Aplicativos:**&#x20;

Seu aplicativo é executado como um serviço de plano de fundo ou [daemon](https://learn.microsoft.com/pt-br/azure/active-directory/develop/scenario-daemon-app-registration) sem um usuário conectado.

Denominadas funções de aplicação, são utilizadas no cenário de acesso apenas à aplicação, sem um utilizador com sessão iniciada presente. A aplicação poderá aceder a quaisquer dados aos quais a permissão esteja associada.

{% hint style="info" %}
Por exemplo, um aplicativo que concedeu a permissão de aplicativo Files.Read.All poderá ler qualquer arquivo no locatário. Somente um administrador ou proprietário da entidade de serviço pode consentir com as permissões de aplicativo.
{% endhint %}

### **2.2 Principais Permissões**

São apenas algumas das principais permissões utilizadas para fazer a integração ao Office 365 no Studio.&#x20;

Existem várias outras dentro do Azure, sua escolha depende de quais permissões seriam as desejadas para a automação dentro da ferramenta Roboteasy.

Permissões Delegadas:

{% tabs %}
{% tab title="ARQUIVOS" %}
Permissões Relacionadas:

* Files.Read
* Files.Read.All
* Files.Read.Selected
* Files.ReadWrite
* Files.ReadWrite.All
* Files.ReadWrite.AppFolder
* Files.ReadWrite.Selected
  {% endtab %}

{% tab title="E-MAIL" %}
Permissões Relacionadas:

* Mail.Read
* Mail.Read.Shared
* Mail.ReadBasic
* Mail.ReadBasic.Shared
* Mail.ReadWrite
* Mail.ReadWrite.Shared
* Mail.Send
* Mail.Send.Shared
  {% endtab %}

{% tab title="CALENDÁRIO" %}
Permissões Relacionadas:

* Calendars.Read
* Calendars.Read.Shared
* Calendars.ReadBasic
* Calendars.ReadWrite
* Calendars.ReadWrite.Shared
  {% endtab %}

{% tab title="GRUPO" %}
Permissões Relacionadas:

* Group.Read.All
* Group.ReadWrite.All
* GroupMember.Read.All
* GroupMember.ReadWrite.All
* UnifiedGroupMember.Read.AsGuest
  {% endtab %}

{% tab title="PLANOS" %}
Permissões Relacionadas:

* Schedule.Read.All
* Schedule.ReadWrite.All
  {% endtab %}
  {% endtabs %}

Permissões Aplicativo:

{% tabs %}
{% tab title="ARQUIVOS" %}
Permissões Relacionadas:

* Files.Read.All
* Files.ReadWrite.All
  {% endtab %}

{% tab title="E-MAIL" %}
Permissões Relacionadas:

* Mail.Read
* Mail.ReadBasic
* Mail.ReadBasic.All
* Mail.ReadWrite
* Mail.Send
  {% endtab %}

{% tab title="CALENDÁRIO" %}
Permissões Relacionadas:

* Calendars.Read
* Calendars.ReadBasic.All
* Calendars.ReadWrite
  {% endtab %}

{% tab title="GRUPO" %}
Permissões Relacionadas:

* Group.Create
* Group.Read.All
* Group.ReadWrite.All
* GroupMember.Read.All
* GroupMember.ReadWrite.All
  {% endtab %}

{% tab title="PLANOS" %}
Permissões Relacionadas:

* Schedule.Read.All
* Schedule.ReadWrite.All
  {% endtab %}
  {% endtabs %}

## 3. Certificados e Segredos

Para definir o uso de certificado e segredos, é necessário seguir os passos abaixo:

1. Clicar na opção Certificados e Segredos
2. Selecionar:\
   a) Certificado \
   a.1) Clicar Carregar Certificado\
   b) Segredo\
   a.2) Clicar Novo Segredo do Cliente

{% hint style="warning" %} <mark style="color:red;">**O valor do segredo só será possível copia-lo na hora da sua criação.**</mark>
{% endhint %}

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FlR0LGFSxYqvJh1GEMWdo%2FCertificado%20e%20Segredo%20Azure.gif?alt=media&#x26;token=92007041-0514-4da0-80bd-824bb5c05b82" alt=""><figcaption><p>Criação Certificado e Segredo Azure Active Directory</p></figcaption></figure>

## 4. Definir Escopo (Opcional)

Escopos personalizados são utilizados para restringir o acesso aos dados e à funcionalidade protegidos pela API. Um aplicativo que requer acesso a partes desta API pode solicitar que um usuário ou administrador dê consentimento a uma ou mais delas.&#x20;

A adição de um escopo cria somente permissões delegadas. Se você quer criar escopos somente do aplicativo, use '[Funções de aplicativo](https://learn.microsoft.com/pt-br/azure/active-directory/develop/howto-add-app-roles-in-apps)' e defina funções de aplicativo que possam ser atribuídas ao tipo de aplicativo.

Para definir o uso de Escopo, é necessário seguir os passos abaixo:

1. Clicar na opção Expor uma API
2. Selecionar Adicionar um escopo
3. Definir URI ID do Aplicativo ou utilizar a gerada automaticamente.
4. Inserir as informações desejadas do Escopo.

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FvjGiHihik7DCcwuLFcUh%2FEscopo%20Azure.gif?alt=media&#x26;token=cad2a640-37de-43ce-9c00-423bde2e3a79" alt=""><figcaption><p>Criando Escopo Azure Active Directory</p></figcaption></figure>

## 5. Estruturando o Office 365 no Studio

Agora vamos inserir as informações corretas configuradas do Azure Active Directory dentro do Objeto Office 365.

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FmG1BCbv60vvpOkKcxCb7%2Fconfigura%C3%A7%C3%A3o%20geral%20configurar%20office%20365.PNG?alt=media&#x26;token=fed5f1e8-5b8f-4791-8612-373e14b27ca0" alt=""><figcaption><p>Configuração Geral do Objeto Configurar Office 365</p></figcaption></figure>

1. Na página Inicial do seu Azure Active Directory estão duas das três informações necessárias para a correta configuração do Objeto.

* Id da Aplicação
* id do Repositório = ID do diretório (locatário)

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FNcERKyTUiQ0bEuGu2VpL%2Fconfigura%C3%A7%C3%A3o%20office%20365.png?alt=media&#x26;token=d4962b23-2bbc-4104-89f1-3e99e1d4899d" alt=""><figcaption><p>Página Inicial da Configuração Azure Active Directory</p></figcaption></figure>

2. A terceira informação encontra-se dentro da Página Certificados e segredos.

* Segredo da Aplicação

Após configurar um novo segredo, aparecerá duas informações e a correta para inserir dentro do objeto é o "Valor".

{% hint style="warning" %}
**O valor do segredo só será possível copia-lo na hora da sua criação. Copie e salve.**
{% endhint %}

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2F9Nqw9OCbvTcKJZGcOeA5%2Fsegredo%20azure.png?alt=media&#x26;token=905f8304-56ce-4631-a6a6-f341cbb3fb23" alt=""><figcaption><p>Página Certificados e Segredo Azure Active Directory</p></figcaption></figure>

3. Após isso é somente selecionar o tipo de serviço que vai ser feita a automação.

<figure><img src="https://1906991432-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FABFcMeFxBJhKzVOwJbRE%2Fuploads%2FH7BGR9Xkh6GtBefJIT3r%2Fservi%C3%A7os.png?alt=media&#x26;token=4762022a-f3ce-46bd-b9cd-c0eaa0b65824" alt=""><figcaption><p>Configuração Serviços do Objeto Configurar Office 365</p></figcaption></figure>
