M365Con 2027 – conferência online gratuita · 11–22 Jan 2027 · 120 sessions→ m365con.net

Blog · Mirko Peters

Dominando o Graph Explorer: rastreando a pegada de um usuário de ponta a ponta

By ·

Bem-vindo de volta ao blog complementar do podcast! No post de hoje, vamos muito além das interfaces administrativas fragmentadas que todos conhecemos e com as quais, às vezes, lutamos…

Automatically translated with AI from the original post. Read the English original

▶ BLOGMastering GraphExplorer: Tracing a Us……M365.FM
Titelbild: Mastering Graph Explorer: Tracing a User Footprint End-to-End

Bem-vindo de volta ao blog complementar do podcast! No post de hoje, vamos muito além das interfaces administrativas fragmentadas que todos conhecemos e com as quais, às vezes, temos dificuldade. Se você já tentou montar uma trilha de auditoria completa de tudo o que um usuário específico acessou, compartilhou ou alterou no Microsoft 365, já sabe como os centros de administração nativos podem parecer desconexos. Por isso, vamos mergulhar fundo no Microsoft Graph. Usando a API do Graph, podemos passar sem esforço de usuários individuais para grupos, sites do SharePoint, arquivos, links externos e até os visualizadores ativos. Se você quiser acompanhar a discussão em áudio que complementa este guia, não deixe de conferir o episódio relacionado Map Microsoft 365 Users, Groups, Files, and Shares with Graph.

Por que o M365 não é isolado

Uma das percepções mais comuns entre administradores e equipes de segurança é a de que os serviços individuais do Microsoft 365 funcionam como silos seguros e autocontidos. Na prática, as conversas do Teams, as bibliotecas de documentos do SharePoint e as pastas do OneDrive se interligam continuamente por meio das associações de grupo e da herança de permissões subjacentes.

  • As conversas do Teams, as bibliotecas do SharePoint e as pastas do OneDrive se interligam por meio da associação a grupos.
  • Uma simples ação de "adicionar a um grupo" pode liberar silenciosamente diversos sites, canais e compartilhamentos externos subjacentes, sem deixar uma trilha de auditoria óbvia nas visualizações padrão.
  • O seu risco de conformidade vem desses caminhos invisíveis, como links de convidados colocados em chats privados, arquivos replicados em várias bibliotecas e compartilhamentos órfãos que permanecem muito depois de os projetos terminarem.

Mapeamento de pegada com o Graph Explorer (do usuário aos pontos de contato com arquivos)

Para entender de fato como o acesso se propaga pelo seu locatário, você precisa de um padrão de consulta repetível. Podemos executar uma cadeia deliberada de chamadas de API no Graph Explorer para mapear a pegada completa de contatos de um usuário:

  1. Ancore no usuário-alvo:
    GET /v1.0/users/{userPrincipalName}?$select=id,displayName,userPrincipalName
  2. Enumere as associações diretas e indiretas dele:
    GET /v1.0/users/{id}/memberOf?$select=id,displayName
  3. Avance para os recursos aos quais esses grupos estão vinculados. Para grupos do Microsoft 365 e Teams, direcione o site subjacente do SharePoint:
    GET /v1.0/groups/{groupId}/drive/root/children?$select=id,name,lastModifiedDateTime,webUrl
    Ou enumere diretamente os drives e bibliotecas do site:
    GET /v1.0/sites/{siteId}/drives
  4. Obtenha as permissões dos itens e os links de compartilhamento:
    GET /v1.0/drives/{driveId}/items/{itemId}/permissions?$select=id,grantedToV2,link,roles,shareId
  5. Rastreie quem acessou o quê e quando, sempre que disponível, usando os logs de auditoria e de entrada:
    GET /v1.0/auditLogs/signIns ou /security/alerts, combinados com o contexto do arquivo, site ou compartilhamento.
  6. Feche o ciclo voltando às publicações e mensagens dos canais do Teams:
    GET /v1.0/teams/{teamId}/channels/{channelId}/messages?$search="filename" (requer endpoints beta e permissões adequadas).

Filtros que eliminam o ruído e que você realmente vai usar

Extrair dados brutos do Microsoft Graph pode rapidamente parecer tentar beber água de uma mangueira de incêndio. Para transformar grandes volumes de dados em inteligência acionável, é preciso usar parâmetros de consulta precisos.

  • Isole os compartilhamentos externos criados nos últimos 7 dias aplicando filtros de escopo:
    GET /v1.0/drives/{driveId}/items/{itemId}/permissions?$filter=link/scope eq 'anonymous' or link/scope eq 'organization'&$select=…
  • Isole tipos de arquivo de risco acrescentando extensões ao nome do arquivo:
    Acrescente $filter=endsWith(resourceReference/name,'.xlsm') or endsWith(resourceReference/name,'.pst')
  • Acompanhe menções fora do expediente a termos sensíveis nos canais do Teams:
    GET /v1.0/teams/{teamId}/channels/{channelId}/messages?$search="confidential", depois filtre os resultados por createdDateTime fora do horário comercial normal.
  • Mantenha suas respostas enxutas e eficientes, adicionando sempre $select para retornar apenas IDs, nomes, URLs da web, carimbos de data e hora da última modificação e os campos mínimos de permissão.
  • Limite os resultados para uma triagem rápida usando $top=50 nas verificações pontuais, mas lembre-se de remover essa restrição ao exportar dados para um armazenamento permanente.

Requisitos para escala empresarial (paginação e limitação de requisições)

Ao escalar essas consultas de um único usuário de teste para um locatário corporativo com centenas de milhares de objetos, desempenho e confiabilidade se tornam fundamentais.

  • Você nunca termina uma extração de dados enquanto não seguir explicitamente a propriedade @odata.nextLink em cada página de resultados.
  • Respeite as respostas HTTP 429 de limitação de taxa implementando rotinas de backoff exponencial e garantindo que seu script possa retomar com segurança de onde parou.
  • Agrupe suas consultas com critério. Prefira menos requisições, maiores e bem estruturadas, a uma avalanche de chamadas minúsculas, e faça cache agressivo dos mapeamentos de grupo para site.
  • Particione os grandes rastreamentos do locatário por IDs de site específicos do SharePoint ou por intervalos de datas para evitar timeouts de requisição, e agende essas operações pesadas para horários de baixo uso.

Armadilhas comuns (e correções rápidas)

Mesmo administradores experientes encontram obstáculos ao criar pipelines automatizados de consulta ao Graph. Tenha em mente estas armadilhas frequentes e suas correções rápidas:

  • Armadilha: exportações em CSV ficam desatualizadas e quebram conforme os esquemas subjacentes mudam ao longo do tempo.
    Correção: use a API do Graph diretamente, com transformações versionadas e tratamento robusto de campos "desconhecidos".
  • Armadilha: identificadores misturados, como GUIDs e UPNs (User Principal Names), quebram as junções no banco de dados.
    Correção: normalize seus dados em um modelo semântico coeso que abranja Usuários, Grupos, Sites, Drives, Itens e Permissões.
  • Armadilha: o "viés da primeira página" cega seu monitoramento e oculta incidentes graves de segurança enterrados em páginas mais profundas.
    Correção: registre sempre o total de páginas processadas e dispare alertas se o volume esperado de registros cair inesperadamente.
  • Armadilha: ser inundado por um volume ingerenciável de arquivos irrelevantes.
    Correção: filtre explicitamente por escopos de link, janelas específicas de data de criação ou modificação e listas de termos sensíveis direcionadas.
  • Armadilha: compartilhamentos do Teams que não podem ser associados aos arquivos subjacentes.
    Correção: correlacione as URLs web das mensagens dos canais diretamente aos itens de drive e armazene ambos os identificadores únicos.

KPIs de nível executivo que isso desbloqueia

Transformar as saídas brutas da API do Graph em métricas estruturadas dá à liderança a visibilidade de que ela tanto precisa. Os indicadores-chave de desempenho que você pode desbloquear incluem:

  • Velocidade de exposição externa: medição de novos links de convidados gerados por semana, detalhados por site ou equipe.
  • Taxa de acesso a arquivos sensíveis: acompanhamento de visualizadores únicos de conteúdo rotulado, separando usuários internos de convidados externos.
  • Risco de propagação por grupo: identificação de arquivos que se tornam acessíveis de repente em até 24 horas após uma alteração de membership em grupo.
  • Circulação paralela (shadow): acompanhamento de arquivos sensíveis que se multiplicam por várias equipes e sites dentro de uma única sprint.
  • Eficácia da limpeza: contagem de links de compartilhamento revogados e medição do tempo total até a remediação.

Receita rápida de consulta (fluxo de copiar e colar)

Se você quer montar agora mesmo seu primeiro rastreamento completo no Graph Explorer, use este fluxo sequencial de copiar e colar:

  1. Consultar os detalhes principais do usuário e seus grupos:
    /users/{upn}?$select=id,displayName
    /users/{id}/memberOf?$select=id,displayName
  2. Para cada grupo do Microsoft 365 encontrado, obter os itens da pasta raiz do drive:
    /groups/{groupId}/drive/root/children?$select=id,name,webUrl,lastModifiedDateTime&$top=200
    Certifique-se de seguir o @odata.nextLink
  3. Para cada item de arquivo, verificar as permissões:
    /drives/{driveId}/items/{itemId}/permissions?$select=id,roles,grantedToV2,link
    Filtre para garantir que link/scope esteja em ('anonymous','organization')
  4. Exporte suas linhas limpas para o data warehouse, incluindo horário do locatário, ID do site, ID do drive, ID do item, URL web, proprietário, escopo e dados de expiração.
  5. Visualize os dados agregados no Power BI para acompanhamento contínuo da organização.

Transformando isso em um painel vivo

Consultas avulsas no Graph Explorer são excelentes para investigações, mas a governança de verdade exige automação. Transforme suas consultas em um painel operacional vivo, estabelecendo fluxos de dados robustos, normalizando as tabelas de usuários, grupos, sites, drives, itens, permissões e mensagens, e construindo um esquema estrela centrado nos seus itens de arquivo. Configure atualizações incrementais de dados com base nas datas de modificação e defina alertas em tempo real que disparem sempre que novos links externos aparecerem em conteúdo altamente sensível e rotulado.

Plano de implantação de 30 dias

Pronto para colocar isso em prática em toda a sua organização? Siga este framework estruturado de implantação em quatro semanas:

  • Semana 1: conclua o registro do seu aplicativo, atribua permissões do Graph API com o menor privilégio necessário e estabeleça consultas de referência usando parâmetros $select e $filter precisos.
  • Semana 2: Desenvolver os scripts de paginação, implementar a normalização de identificadores, de IDs para UPNs, e executar sua primeira exportação de dados bem-sucedida.
  • Semana 3: Construir seu modelo de dados no Power BI e os KPIs fundamentais, incluindo o acompanhamento de exposição externa e a análise de risco de propagação.
  • Semana 4: Automatizar as atualizações dos dados, configurar alertas de anomalias e documentar os procedimentos operacionais padrão para as suas equipes de segurança e conformidade.

Quem deve acompanhar

Esta metodologia foi desenvolvida para funções específicas dentro da sua organização:

  • Administradores do Microsoft 365 e líderes de SecOps que suspeitam que os painéis administrativos padrão estejam ocultando zonas cinzentas críticas.
  • Equipes de conformidade que precisam de visibilidade completa do compartilhamento de ponta a ponta, sem acrescentar softwares de terceiros caros e dispersos.
  • Responsáveis pela colaboração que são, em última instância, responsáveis por garantir práticas de compartilhamento externo seguras e controladas.

Dicas práticas

Mantenha estas dicas práticas à mão enquanto avança na sua jornada de automação com o Graph:

  • Sempre comece sua investigação pelo usuário ou pelo arquivo e, em seguida, amplie em ambas as direções para eliminar pontos cegos.
  • Trate qualquer ação de "adicionar ao grupo" como um evento de mudança de alto risco e revise as implicações de acesso decorrentes em até 24 horas.
  • Mantenha uma lista atualizada de termos sensíveis para pesquisar nas mensagens do Teams e nos nomes de arquivos, e revise essa lista regularmente.
  • Registre com atenção a quantidade de páginas processadas e os volumes de registros. Às vezes, o silêncio completo nos seus logs é justamente o sinal de que um job do pipeline está quebrado.

Conclusão

Dominar o Microsoft Graph para rastrear a atividade dos usuários de ponta a ponta fecha a lacuna entre visões administrativas fragmentadas e a visibilidade real do ambiente corporativo. Ao trocar a mentalidade de silos isolados por um mapeamento relacional de acessos, você consegue proteger proativamente os dados sensíveis, eliminar a circulação paralela de arquivos e fornecer à liderança os KPIs acionáveis de que ela precisa. Para ouvir mais análises de especialistas, exemplos reais e aprofundamentos em cenários como este, ouça o episódio completo em Map Microsoft 365 Users, Groups, Files, and Shares with Graph.

Inscreva-se
Para aprofundamentos e receitas reais com o Graph, acompanhe os novos episódios em m365.show/subscribe

Entities in this article

Microsoft Graph Graph Explorer SharePoint Audit logs OneDrive Microsoft 365 OData Power BI SharePoint document libraries

Related articles

RSS