Graph API

Graph API

Já se deparou com a necessidade de desenvolver uma aplicação que precisaria recolher informações do perfil do usuário, talvez da sua lista de contatos, das aplicações que tem acesso ou até mesmo das tarefas que o mesmo tem para executar? Hoje nós temos isso de maneira extremamente fácil com a Microsoft Graph API!


O que é?

Visão geral do Microsoft Graph - Microsoft Graph | Microsoft Learn

Você já parou para pensar que todas as soluções que são parte do Microsoft 365 e do Entra são acessíveis de alguma forma? Quando estamos utilizando os portais administrativos e as aplicações para mobile, web e desktop, podemos não parar para pensar nisso, porém "por trás dos panos" essas funcionalidades são expostas de alguma forma que as aplicações consigam consumi-las.

Essas funcionalidades são expostas para as aplicações através de APIs e o conjunto de APIs do Microsoft 365 é chamado de Graph. Com essas APIs, nós podemos consumir informações como as mencionadas na introdução do texto e construir aplicações que potencializarão as equipes a produzirem mais e de maneira mais efetiva.

Não apenas podemos conectar nas soluções do Microsoft 365 e do Entra, mas como parte da prateleira de recursos, podemos integrar nossas aplicações com o Dynamics 365 e também com certos recursos do Windows.


O que podemos fazer?

What's new for Microsoft Graph Developers at Build 2017 - Microsoft 365  Developer Blog

Como comentado no capítulo anterior, a Graph API nos permite consumir uma gigantesca variedade de informações provindas das soluções do Microsoft 365 e Entra, mas pensando de maneira mais prática, o que exatamente podemos fazer com elas?

TUDO!

Quando falamos de criatividade, o céu é o limite. Nós podemos ter uma aplicação que consuma informações sobre os funcionários de uma determinada equipe, liste algumas informações de contato (como e-mail e telefone), forneça ao gestor da equipe uma visão temporal do que seus funcionários tem realizado de atividades e permita que as pessoas entrem em contato com os recursos via teams ou via outlook.

Podemos seguir na linha também de uma aplicação de segurança, como por exemplo um "monitorador" de acessos privilegiados. Podemos criar uma solução que monitore a ativação de roles privilegiadas no Microsoft Entra ID e que notifique um grupo de administradores quando essas roles forem ativadas.

💡
O exemplo acima pode ser utilizado como uma solução auxiliar no monitoramento de contas break the glass.

As possibilidades do que podemos fazer com as APIs expostas pelo Graph são infinitas. Com os recursos expostos, os produtos que compõem as APIs e as diferentes tecnologias que podemos utilizar, fica complicado pensar em algo que não pode ser construído.


Testando...

Para entendermos melhor algumas das capacidades expostas pela Graph API, temos uma plataforma que nos permite testar alguns dos endpoints mais conhecidos com as informações da nossa própria conta.

O Graph Explorer fornece uma série de chamadas de API prontas para serem realizadas, chamadas essas como "recuperar meu perfil", "recuperar tarefas", "criar grupo", entre outras chamadas.

Ao acessar o site você se deparará com uma tela parecida com essa acima. É aqui que você irá executar todos os seus testes e validará as respostas da API.

💡
Caso você não tenha uma sessão nativa no seu tenant você precisará se autenticar antes de conseguir realizar qualquer chamada para a API visando recuperar suas informações.

No menu esquerdo, você tem a divisão dos endpoints por categoria, dessa forma fica mais fácil de entender os recursos que estão sendo expostos e o que você poderá usar para criar sua applicação.

💡
É possível que ao executar uma chamada, você receba uma mensagem de autorização insuficiente. Para solucionar isso, navegue até "Modify Permissions" e aceite as sugestões existentes.

Segurança com a Graph API

Para os times de segurança, a Graph API pode ser utilizada como origem de informações sensíveis para potencializar aplicações desenvolvidas por eles.

Aplicações de segurança

Como mencionamos anteriormente, podemos construir uma aplicação de monitoramento de ativação de roles privilegiadas do Entra. Podemos também construir fluxos utilizando o Azure Logic Apps, Power Apps e Power Automate que simplificarão as atividades dessas equipes, realizando operações automatizadas, simplificando a interação com clientes internos (equipes de negócio) e também podemos criar aplicações em cima das APIs que apliquem os controles impostos por essas equipes.

Segurança nas informações

No consumo às APIs, os usuários que ainda não forneceram as permissões necessárias precisarão concedê-las. Isso é necessário para que os serviços possam consumir as informações daquele usuário em nome da aplicação.

Para aplicações que acessarão informações dos usuários (de perfil e outros segmentos) é possível fornecer o consentimento de administrador, não havendo a necessidade de que o usuário acesse a aplicação para aprovar o acesso à esses dados.


Os recursos disponibilizados pela Graph vão habilitar suas equipes a desenvolverem aplicações e automações que facilitem o dia a dia na sua empresa. Incentivar o uso desses recursos permitirá o crescimento da cultura de colaboração e automação da sua organização!

Espero que tenha gostado do texto e que de alguma forma eu tenha conseguido te passar os benefícios de utilizar esse recurso no dia a dia da sua organização e dos seus times.

Até logo!