Microsoft Teams

Este documento fornece orientações sobre como integrar o Microsoft Teams ao Google Security Operations.

Casos de uso

A integração do Microsoft Teams usa os recursos do Google SecOps para oferecer suporte aos seguintes casos de uso:

  • Automatizar a comunicação de incidentes: envie alertas e notificações em tempo real para canais específicos do Teams quando uma atividade suspeita for detectada.

  • Ativar a resposta interativa: use playbooks para fazer perguntas diretamente aos usuários ou analistas no Teams e automatizar ações com base nas respostas deles.

  • Facilitar a colaboração em incidentes: crie automaticamente canais dedicados ou grupos de chat para incidentes de alta prioridade e gerencie o acesso dos membros.

  • Verificar a atividade do usuário: envie mensagens diretas aos usuários para confirmar ações, como logins ou acesso a arquivos, para atualizar os detalhes do caso com o feedback deles.

  • Enriquecer o contexto do usuário: recuperar perfis de usuário e informações de participação em equipes para ajudar a identificar funções e permissões durante as investigações.

Configurar a integração do Microsoft Teams para funcionar com o Google Security Operations

  1. Verifique se a conta usada para a configuração da integração tem a licença do Microsoft Teams ativada. Para fazer isso, acesse o Centro de administração da Microsoft e verifique qual licença é aplicada ao usuário necessário.

    Centro de administração da Microsoft: licenças aplicadas ao usuário do Microsoft Teams

  2. Depois de confirmar que o usuário necessário tem uma licença, você pode começar a criar o app para o Microsoft Teams. Primeiro, acesse Azure Active Directory > Registros de aplicativos.

    Guia "Registro de apps" do centro de administração da Microsoft

  3. Clique em Novo registro e forneça:

    • um nome para o app Teams;
    • um URI de redirecionamento: "https://localhost"

    Salve o URI de redirecionamento em algum lugar, porque ele será necessário mais tarde no processo.

  4. Acesse a página Visão geral e copie:

    • ID do aplicativo (cliente): corresponde ao parâmetro "ID do cliente" na configuração de integração.
    • ID do diretório (locatário): corresponde ao parâmetro "Locatário" na configuração de integração.

    Página de visão geral do Microsoft Teams no Centro de Administração da Microsoft

  5. Adicione as permissões necessárias. Todas as permissões aplicadas são "Delegadas" e devem aparecer assim:

    Adicionar as permissões necessárias
do app

    Conceda o consentimento do administrador para as permissões.

  6. Acesse a guia Certificados e chaves secretas e adicione uma nova chave secreta do cliente. Quando a chave secreta do cliente for gerada, copie os dados da coluna Valor. Esse valor é necessário para o parâmetro "Chave secreta do cliente" da configuração de integração.

  7. Acesse a página de configuração do Google SecOps SOAR e insira os seguintes parâmetros:

    • ID do cliente
    • Chave secreta do cliente
    • URI de redirecionamento
    • Locatário

    Insira uma string de marcador de posição para o parâmetro "Token de atualização" e salve a configuração.

    Configuração inicial da integração com o Microsoft Teams

  8. Acesse a guia Casos e abra qualquer caso. Se você não tiver um caso, poderá simular um.

    Simulação
de caso

  9. Selecione um alerta no caso e clique em Ação manual.

    Painel de detalhes do alerta: botão "Ação manual"

  10. Acesse a integração do Microsoft Teams e execute a ação "Get Authorization". Essa ação gera um link usado para autenticação no app.

    Ação
"Receber autorização"

  11. Para ver os resultados, acesse a guia "Mural de casos" e clique em Ver resultados.

    Botão
"Ver resultados"

    A resposta será semelhante a esta:

    Ver resultados
output

  12. Clique no link fornecido pela ação. Verifique se você fez login com um usuário usado para essa integração. Depois de abrir o link em um navegador, você veria que ele redirecionava para uma página diferente. A página vai ficar assim: https://localhost/?code=0.ATwAylKP1BpbCEeO0…&session_state=a149d18b-4131-4649-8956-2f0d09a98743# Copy everything till "&session_state", por exemplo: https://localhost/?code=0.ATwAylKP1BpbCEeO0…

  13. Execute a ação "Gerar token".

    Ação de gerar
token

  14. Acesse a guia Painel de casos para conferir os resultados. Na mensagem de saída, você encontrará um token. Copie esse token e cole-o no parâmetro "Token de atualização".

    Ação "Receber autorização": valor do token de atualização

  15. Se tudo estiver correto, uma marca de seleção verde vai aparecer.

    Configuração da integração com o Microsoft Teams
concluída

Parâmetros de integração

Use os seguintes parâmetros para configurar a integração:

Nome do parâmetro Tipo Padrão É obrigatório Descrição
Nome da instância String N/A Não Nome da instância em que você quer configurar a integração.
Descrição String N/A Não Descrição da instância.
ID do cliente String N/A Sim N/A
ID do secret Senha N/A Sim N/A
Locatário String N/A Sim N/A
Token de atualização Senha N/A Sim N/A
URL de redirecionamento String http://localhost Não Especifique o URL de redirecionamento que será usado para autenticar a integração. O valor padrão é http://localhost. Esse parâmetro afeta as ações "Receber autorização" e "Gerar token".

Para instruções sobre como configurar uma integração no Google SecOps, consulte Configurar integrações.

Se necessário, você pode fazer mudanças depois. Depois de configurar uma instância de integração, é possível usá-la em playbooks. Para mais informações sobre como configurar e oferecer suporte a várias instâncias, consulte Como oferecer suporte a várias instâncias.

Ações

Para mais informações sobre ações, consulte Responder a ações pendentes na sua mesa de trabalho e Executar uma ação manual no seu caso.

Aguardar resposta

A ação aguarda a resposta esperada em uma mensagem específica.

Essa ação é executada de forma assíncrona. Ajuste o valor do tempo limite do script no ambiente de desenvolvimento integrado do Google SecOps para a ação, conforme necessário.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Especifique o nome da equipe.
Nome do canal String N/A Sim Especifique o nome do canal.
ID da mensagem String N/A Sim Especifique o ID da mensagem que deve ter uma resposta.
Resposta esperada String N/A Sim

Especifique o texto da resposta esperada.

Se esse valor não for fornecido, a ação vai interromper a execução em qualquer resposta.

Método de espera DDL

Verificar a primeira resposta

Valores possíveis:

  • Verificar a primeira resposta
  • Aguardar até o tempo limite
Não

Especifique o método de espera para a ação.

Se a opção Verificar primeira resposta estiver selecionada, a ação vai retornar a primeira resposta ou compará-la com um valor esperado.

Se a opção Aguardar até o tempo limite estiver selecionada, a ação vai aguardar o valor esperado até que o tempo limite seja atingido ou vai retornar todas as mensagens enviadas durante o período de tempo limite.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False

Gerar token

Receba um token de acesso usando o URL de autorização recebido na etapa anterior.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
URL de autorização String N/A Sim Use o URL de autorização recebido na etapa anterior para solicitar um token de acesso.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_connected Verdadeiro/falso is_connected:False

Receber autorização

Execute a ação e navegue até o URL recebido.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
URL de redirecionamento String N/A Sim Use o URL de autorização recebido na etapa anterior para solicitar um token de acesso.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_connected Verdadeiro/falso is_connected:false

Receber ID da equipe

Recupera as propriedades de uma equipe específica.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Nome da equipe.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False

Receber detalhes do usuário

Recuperar as propriedades e as relações de um usuário específico.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome de usuário String N/A Sim Nome de usuário do Microsoft Teams

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
{
    "isResourceAccount": null,
    "mailNickname": "username.co#EXT#",
    "surname": null,
    "deletedDateTime": null,
    "assignedLicenses": [{
        "skuId": "16ddbbfc-09ea-4de2-b1d7-312db6112d70",
        "disabledPlans": []
    }],
    "userPrincipalName": "username.co#EXT#@tenant.onmicrosoft.com",
    "faxNumber": null,
    "consentProvidedForMinor": null,
    "userType": "Member",
    "officeLocation": null,
    "usageLocation": "IL",
    "city": null,
    "employeeId": null,
    "onPremisesImmutableId": null,
    "preferredLanguage": null,
    "streetAddress": null,
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users/$entity",
    "id": "5e457a85-a705-4b65-8a9f-3a3d2ad7715c",
    "state": null,
    "businessPhones": [],
    "postalCode": null,
    "mail": "john_doe@example.com",
    "onPremisesSamAccountName": null,
    "onPremisesLastSyncDateTime": null,
    "accountEnabled": true,
    "mobilePhone": null,
    "refreshTokensValidFromDateTime": "2018-11-12T13:28:53Z",
    "companyName": null,
    "deviceKeys": [],
    "jobTitle": null,
    "preferredDataLocation": null,
    "showInAddressList": false,
    "department": null,
    "proxyAddresses": ["SMTP:mail"],
    "externalUserStateChangeDateTime": "2018-11-12T13:29:41Z",
    "onPremisesProvisioningErrors": [],
    "legalAgeGroupClassification": null,
    "onPremisesSyncEnabled": null,
    "onPremisesExtensionAttributes": {
        "extensionAttribute4": null,
        "extensionAttribute5": null,
        "extensionAttribute6": null,
        "extensionAttribute7": null,
        "extensionAttribute12": null,
        "extensionAttribute1": null,
        "extensionAttribute2": null,
        "extensionAttribute3": null,
        "extensionAttribute10": null,
        "extensionAttribute11": null,
        "extensionAttribute8": null,
        "extensionAttribute9": null,
        "extensionAttribute14": null,
        "extensionAttribute15": null,
        "extensionAttribute13": null
    },
    "assignedPlans": [{
        "capabilityStatus": "Enabled",
        "servicePlanId":
        "617d9209-3b90-4879-96e6-838c42b2701d",
        "service": "MicrosoftCommunicationsOnline",
        "assignedDateTime": "2018-11-12T13:28:57Z"
    }, {
        "capabilityStatus": "Enabled",
        "servicePlanId": "902b47e5-dcb2-4fdc-858b-c63a90a2bdb9",
        "service": "SharePoint",
        "assignedDateTime": "2018-11-12T13:28:57Z"
    }, {
        "capabilityStatus": "Enabled",
        "servicePlanId": "4fa4026d-ce74-4962-a151-8e96d57ea8e4",
        "service": "TeamspaceAPI",
        "assignedDateTime": "2018-11-12T13:28:57Z"
    }],
    "passwordProfile": null,
    "passwordPolicies": null,
    "externalUserState": "Accepted",
    "otherMails": ["mail"],
    "displayName": "name",
    "imAddresses": [],
    "provisionedPlans": [{
        "capabilityStatus": "Enabled",
        "provisioningStatus": "Success",
        "service": "SharePoint"
    }],
    "createdDateTime": "2018-11-12T13:28:53Z",
    "country": null,
    "onPremisesDistinguishedName": null,
    "onPremisesSecurityIdentifier": null,
    "onPremisesDomainName": null,
    "onPremisesUserPrincipalName": null,
    "givenName": null,
    "ageGroup": null
}

Listar canais

Recebe os detalhes de todos os canais que existem em uma equipe específica.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Nome da equipe.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
all_channels_details N/A N/A

Listar equipes

Recupera os detalhes de todas as equipes.

Parâmetros

Esta ação não tem parâmetros de entrada.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
equipes N/A N/A
Resultado do JSON
[
    {
        "mailNickname": "Test",
        "classification": null,
        "deletedDateTime": null,
        "renewedDateTime": "2018-11-12T15:03:50Z",
        "onPremisesProvisioningErrors": [],
        "membershipRuleProcessingState": null,
        "preferredLanguage": null,
        "expirationDateTime": null,
        "id": "43b559d5-f63d-47dd-9e6c-b3470b6446ee",
        "theme": null,
        "preferredDataLocation": null,
        "mail": "john_doe@example.com",
        "membershipRule": null,
        "onPremisesLastSyncDateTime": null,
        "description": "Test",
        "securityEnabled": false,
        "proxyAddresses": ["SPO:SPO_eaf75319-582a-46cf-8812-9e787d757c4e@SPO_a4a936ec-735f-488a-bfc0-7665f87aab47", "SMTP:Test@tenant.onmicrosoft.com"],
        "visibility": "Public",
        "resourceProvisioningOptions": ["Team"],
        "displayName": "Test",
        "groupTypes": ["Unified"],
        "onPremisesSyncEnabled": null,
        "createdDateTime": "2018-11-12T15:03:50Z",
        "resourceBehaviorOptions": ["HideGroupInOutlook", "SubscribeMembersToCalendarEventsDisabled", "WelcomeEmailDisabled"],
        "onPremisesSecurityIdentifier": null,
        "mailEnabled": true
    }, {
        "mailNickname": "user",
        "classification": null,
        "deletedDateTime": null,
        "renewedDateTime": "2018-11-28T13:46:50Z",
        "onPremisesProvisioningErrors": [],
        "membershipRuleProcessingState": null,
        "preferredLanguage": null,
        "expirationDateTime": null,
        "id": "67149c85-7139-4062-bfae-059d18ee7e5d",
        "theme": null,
        "preferredDataLocation": null,
        "mail": "john_doe@example.com",
        "membershipRule": null,
        "onPremisesLastSyncDateTime": null,
        "description": "user",
        "securityEnabled": false, "proxyAddresses": ["SPO:SPO_781470a6-2db5-454d-a8e3-71752b3b829e@SPO_a4a936ec-735f-488a-bfc0-7665f87aab47", "SMTP:user@tenant.onmicrosoft.com"],
        "visibility": "Public",
        "resourceProvisioningOptions": ["Team"],
        "displayName": "user",
        "groupTypes": ["Unified"],
        "onPremisesSyncEnabled": null,
        "createdDateTime": "2018-11-28T13:46:50Z",
        "resourceBehaviorOptions": ["HideGroupInOutlook", "SubscribeMembersToCalendarEventsDisabled", "WelcomeEmailDisabled"],
        "onPremisesSecurityIdentifier": null,
        "mailEnabled": true
    }

Listar usuários

Receba detalhes de todos os usuários.

Parâmetros

Esta ação não tem parâmetros de entrada.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
usuários N/A N/A
Resultado do JSON
[{
    "mailNickname": "Test",
    "classification": null,
    "deletedDateTime": null,
    "renewedDateTime": "2018-11-12T15:03:50Z",
    "onPremisesProvisioningErrors": [],
    "membershipRuleProcessingState": null,
    "preferredLanguage": null,
    "expirationDateTime": null,
    "id": "43b559d5-f63d-47dd-9e6c-b3470b6446ee",
    "theme": null,
    "preferredDataLocation": null,
    "mail": "john_doe@example.com",
    "membershipRule": null,
    "onPremisesLastSyncDateTime": null,
    "description": "Test",
    "securityEnabled": false,
    "proxyAddresses": ["SPO:SPO_eaf75319-582a-46cf-8812-9e787d757c4e@SPO_a4a936ec-735f-488a-bfc0-7665f87aab47", "SMTP:Test@tenant.onmicrosoft.com"],
    "visibility": "Public",
    "resourceProvisioningOptions": ["Team"],
    "displayName": "Test",
    "groupTypes": ["Unified"],
    "onPremisesSyncEnabled": null,
    "createdDateTime": "2018-11-12T15:03:50Z",
    "resourceBehaviorOptions": ["HideGroupInOutlook", "SubscribeMembersToCalendarEventsDisabled", "WelcomeEmailDisabled"],
    "onPremisesSecurityIdentifier": null,
    "mailEnabled": true
}, {
    "mailNickname": "user",
    "classification": null,
    "deletedDateTime": null,
    "renewedDateTime": "2018-11-28T13:46:50Z",
    "onPremisesProvisioningErrors": [],
    "membershipRuleProcessingState": null,
    "preferredLanguage": null,
    "expirationDateTime": null,
    "id": "67149c85-7139-4062-bfae-059d18ee7e5d",
    "theme": null,
    "preferredDataLocation": null,
    "mail": "john_doe@example.com",
    "membershipRule": null,
    "onPremisesLastSyncDateTime": null,
    "description": "user",
    "securityEnabled": false,
    "proxyAddresses": ["SPO:SPO_781470a6-2db5-454d-a8e3-71752b3b829e@SPO_a4a936ec-735f-488a-bfc0-7665f87aab47", "SMTP:user@tenant.onmicrosoft.com"],
    "visibility": "Public",
    "resourceProvisioningOptions": ["Team"],
    "displayName": "user",
    "groupTypes": ["Unified"],
    "onPremisesSyncEnabled": null,
    "createdDateTime": "2018-11-28T13:46:50Z",
    "resourceBehaviorOptions": ["HideGroupInOutlook", "SubscribeMembersToCalendarEventsDisabled", "WelcomeEmailDisabled"],
    "onPremisesSecurityIdentifier": null,
    "mailEnabled": true
}]

Ping

Teste a conectividade.

Parâmetros

Esta ação não tem parâmetros de entrada.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_connected Verdadeiro/falso is_connected:False

Enviar mensagem

Enviar uma mensagem para um canal específico.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Nome da equipe.
Nome do canal String N/A Sim Nome do canal.
Mensagem String N/A Sim Message.

Corrida

Essa ação é executada em todas as entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
[{
    "@odata.context":"https://graph.microsoft.com/beta/$metadata#teams('192c0699-fad2-4d02-88a2-84efd6369894')/channels('19%3Ae3acbb17a8754cae9df724f493b5342f%40thread.tacv2')/messages/$entity",
    "id":"1601372154742",
    "replyToId":null,
    "etag":"1601372154742",
    "messageType":"message",
    "createdDateTime":"2020-09-29T09:35:54.742Z",
    "lastModifiedDateTime":"2020-09-29T09:35:54.742Z",
    "lastEditedDateTime":null,
    "deletedDateTime":null,
    "subject":null,
    "summary":null,
    "chatId":null,
    "importance":"normal",
    "locale":"en-us",
    "webUrl":"https://teams.microsoft.com/l/message/19%3Ae3acbb17a8754cae9df724f493b5342f%40thread.tacv2/1601372154742?groupId=192c0699-fad2-4d02-88a2-84efd6369894&tenantId=d48f52ca-5b1a-4708-8ed0-ebb98a26a46a&createdTime=1601372154742&parentMessageId=1601372154742",
    "policyViolation":null,
    "from":{
        "application":null,
        "device":null,
        "conversation":null,
        "user":{
            "id":"b786d3cf-e97d-4511-b61c-0559e9f4da75",
            "displayName":"u05D2'u05D9u05D9u05DEu05E1 u05D1u05D5u05E0u05D3",
            "userIdentityType":"aadUser"
        }},
    "body":{
        "contentType":"text",
        "content":"Hello there"
    },
    "channelIdentity":{
        "teamId":"192c0699-fad2-4d02-88a2-84efd6369894",
        "channelId":"19:e3acbb17a8754cae9df724f493b5342f@thread.tacv2"
    },
    "attachments":[],
    "mentions":[],
    "reactions":[]
}]

Enviar mensagem do usuário

Envie uma mensagem de chat para o usuário no Microsoft Teams.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Identificadores de usuários CSV N/A Não

Especifique uma lista separada por vírgulas de identificadores de usuários para quem você quer enviar uma mensagem.

Observação: a ação combina entidades e valores válidos fornecidos nesse parâmetro e envia a mensagem para todos eles.

Texto String N/A Sim Especifique o conteúdo da mensagem.
Aguardar resposta Caixa de seleção Selecionado Sim Se ativada, a ação aguarda até que as respostas de todas as entidades estejam disponíveis.
Tipo de conteúdo DDL Selecionado Sim Especifique o tipo de conteúdo da mensagem.
Seleção do usuário DDL

Texto

Valores possíveis:

  • Texto
  • HTML

De entidades e identificadores de usuário

Valores possíveis:

  • De entidades e identificadores de usuário
  • De entidades
  • De identificadores de usuários

Especifique o tipo de seleção que deve ser usado para os usuários.

Se a opção "De entidades e identificadores de usuário" estiver selecionada, a ação vai pesquisar nas entidades relevantes e nos valores fornecidos nos parâmetros "Identificadores de usuário".

Se "De entidades" for fornecido, a ação só vai funcionar com entidades relevantes e vai ignorar os valores fornecidos no parâmetro "Identificadores de usuário".

Se a opção "Dos identificadores de usuário" for selecionada, a ação só vai funcionar com valores de "Identificadores de usuário", e o parâmetro "Identificadores de usuário" vai se tornar obrigatório.

Corrida

Essa ação é executada nas seguintes entidades:

  • Nome de usuário
  • Endereço de e-mail

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
{
    "id": "1632820681737",
    "replyToId": null,
    "etag": "1632820681737",
    "messageType": "message",
    "createdDateTime": "2021-09-28T09:18:01.737Z",
    "lastModifiedDateTime": "2021-09-28T09:18:01.737Z",
    "lastEditedDateTime": null,
    "deletedDateTime": null,
    "subject": null,
    "summary": null,
    "chatId": "19:5af81bea-9c9f-4f9f-8745-9df1fdba8e12_b786d3cf-e97d-4511-b61c-0559e9f4da75@unq.gbl.spaces",
    "importance": "normal",
    "locale": "en-us",
    "webUrl": null,
    "channelIdentity": null,
    "policyViolation": null,
    "from": {
        "application": null,
        "device": null,
        "user": {
            "id": "b786d3cf-e97d-4511-b61c-0559e9f4da75",
            "displayName": "ג'יימס בונד",
            "userIdentityType": "aadUser"
        }
    },
    "body": {
        "contentType": "text",
        "content": "qqq"
    },
    "attachments": [],
    "mentions": [],
    "reactions": []
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:


Se o código de status 201 for informado (is_success = true): "Uma mensagem foi enviada para os seguintes usuários no Microsoft Teams: {entity.identifier}."

Se um chat não for encontrado com uma entidade (is_success = true): "A ação não conseguiu enviar uma mensagem para os seguintes usuários no Microsoft Teams: {entity.identifier}."

Se nenhum chat for encontrado com uma entidade (is_success = false): "Nenhuma mensagem foi enviada aos usuários fornecidos no Microsoft Teams."

Mensagem assíncrona:

"Aguardando uma resposta dos seguintes usuários: {entity.identifier}."

A ação deve falhar e interromper a execução de um playbook:

Se um erro crítico for relatado: "Erro ao executar a ação 'Enviar mensagem do usuário'. Motivo: {0}''.format(error.Stacktrace)

Se houver um tempo limite: "Erro ao executar a ação 'Enviar mensagem do usuário'. Motivo: as mensagens foram enviadas, mas a ação atingiu o tempo limite enquanto aguardava uma resposta dos seguintes usuários: {entity.identifier}." Aumente o tempo limite no ambiente de desenvolvimento integrado e tente de novo. Observação: se você tentar de novo, a ação vai enviar outra mensagem.

Geral

Criar canal

Crie um canal no Microsoft Teams.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Especifique o nome da equipe em que você precisa criar o canal.
Nome do canal String N/A Sim Especifique um nome exclusivo para o canal.
Tipo de canal DDL

Padrão

Valores possíveis:

  • Padrão
  • Particular
Sim Especifique o tipo de canal que precisa ser criado. O canal padrão é acessível a todos os membros da equipe, enquanto o canal privado exige que os usuários sejam adicionados a ele.
Descrição String N/A Não Especifique uma descrição para o canal.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('c084d2c7-a7e6-47a5-921b-0c32c3ab41d1')/channels/$entity",
    "id": "19:92ce922c1790450fae81f6713dbffbe3@thread.tacv2",
    "createdDateTime": "2021-11-18T11:37:39.8186647Z",
    "displayName": "Architecturea Discussion",
    "description": null,
    "isFavoriteByDefault": false,
    "email": "",
    "webUrl": "https://teams.microsoft.com/l/channel/19%3a92ce922c1790450fae81f6713dbffbe3%40thread.tacv2/Architecturea+Discussion?groupId=c084d2c7-a7e6-47a5-921b-0c32c3ab41d1&tenantId=d48f52ca-5b1a-4708-8ed0-ebb98a26a46a",
    "membershipType": "standard"
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:


Se o código de status 201 for informado (is_success = true): "O canal "{channel name}" foi criado na equipe "{team name}" no Microsoft Teams."

A ação deve falhar e interromper a execução de um playbook:

Se um erro crítico for relatado: "Erro ao executar a ação 'Criar canal'. Motivo: {0}''.format(error.Stacktrace)

Se a equipe não for encontrada: "Erro ao executar a ação 'Criar canal'. Motivo: a equipe com o nome {team, name} não foi encontrada no Microsoft Teams.

Se o código de status 400 for informado: "Erro ao executar a ação 'Criar canal'. Motivo: {innerError/message}.

Geral

Excluir canal

Exclua um canal no Microsoft Teams.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Especifique o nome da equipe em que você quer excluir o canal.
Nome do canal String N/A Sim Especifique o nome do canal que precisa ser excluído.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:


Se o código de status 204 for informado (is_success = true): "O canal "{nome do canal}" foi excluído da equipe "{team name}" no Microsoft Teams."

Se o canal não for encontrado (is_success = true): "O canal '{nome do canal}' já não existia na equipe '{team name}' no Microsoft Teams."

A ação deve falhar e interromper a execução de um playbook:

Se um erro crítico for relatado: "Erro ao executar a ação 'Excluir canal'. Motivo: {0}''.format(error.Stacktrace)

Se a equipe não for encontrada: "Erro ao executar a ação 'Excluir canal'. Motivo: a equipe com o nome {team, name} não foi encontrada no Microsoft Teams.

Geral

Adicionar usuários ao canal

Adicione usuários ao canal privado no Microsoft Teams.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Especifique o nome da equipe em que você quer pesquisar o canal.
Nome do canal String N/A Sim Especifique o nome do canal em que você quer adicionar usuários.

Corrida

Essa ação é executada nas seguintes entidades:

  • Nome de usuário
  • Endereço de e-mail

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:


Se o código de status 201 de uma entidade for informado (is_success = true): "Os seguintes usuários do canal "{Channel Name}" da equipe "{team name}" foram adicionados ao Microsoft Teams: {entity.identifier}"

Se o usuário não for encontrado para uma entidade (is_success = true): "A ação não encontrou os seguintes usuários no Microsoft Teams: {entity.identifier}"

Se o código de status 400 de uma entidade for informado (is_success = true): "A ação não conseguiu adicionar os seguintes usuários ao canal '{Channel Name}' da equipe '{team name}' no Microsoft Teams: {entity.identifier}. Verifique se os usuários fazem parte da equipe "{team name}".

Se o usuário não for encontrado para todos (is_success = false): "Nenhum dos usuários fornecidos foi encontrado no Microsoft Teams."

Se o código de status 400 for informado para todos (is_success = false): "A ação não conseguiu adicionar os usuários informados ao canal '{nome do canal}' da equipe '{team name}' no Microsoft Teams. Verifique se os usuários fazem parte da equipe "{team name}".

A ação deve falhar e interromper a execução de um playbook:

Se um erro crítico for relatado: "Erro ao executar a ação 'Adicionar usuários ao canal'". Motivo: {0}''.format(error.Stacktrace)

Se a equipe não for encontrada: "Erro ao executar a ação 'Adicionar usuários ao canal'. Motivo: a equipe com o nome {team, name} não foi encontrada no Microsoft Teams.

Se o canal não for encontrado: "Erro ao executar a ação 'Adicionar usuários ao canal'. Motivo: o canal com o nome {channel name} não foi encontrado no Microsoft Teams.

Se "membershipType" != "private" para o canal: "Erro ao executar a ação 'Adicionar usuários ao canal'. Motivo: o nome do canal {channel name} não é particular.

Geral

Remover usuários do canal

Remova os usuários do canal privado no Microsoft Teams.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Especifique o nome da equipe em que você quer pesquisar o canal.
Nome do canal String N/A Sim Especifique o nome do canal em que você quer remover usuários.

Corrida

Essa ação é executada nas seguintes entidades:

  • Nome de usuário
  • Endereço de e-mail (nome de usuário que corresponde à regex de e-mail)

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:


Se o código de status 201 de uma entidade for informado (is_success = true): "Os seguintes usuários do canal "{Channel Name}" da equipe "{team name}" foram removidos do Microsoft Teams: {entity.identifier}"

Se o usuário não fizer parte do canal (is_success = true): "Os seguintes usuários já não faziam parte do canal "{Channel Name}" da equipe "{team name}" no Microsoft Teams: {entity.identifier}"

Se nenhum usuário fizer parte do canal (is_success = true): "Nenhum dos usuários fornecidos fazia parte do canal '{Channel Name}' da equipe '{team name}' no Microsoft Teams."

A ação deve falhar e interromper a execução de um playbook:

Se um erro crítico for relatado: "Erro ao executar a ação 'Remover usuários do canal'". Motivo: {0}''.format(error.Stacktrace)

Se a equipe não for encontrada: "Erro ao executar a ação 'Remover usuários do canal'. Motivo: a equipe com o nome {team, name} não foi encontrada no Microsoft Teams.

Se o canal não for encontrado: "Erro ao executar a ação 'Remover usuários do canal'. Motivo: o canal com o nome {channel name} não foi encontrado no Microsoft Teams.

Se "membershipType" != "private" para o canal: "Erro ao executar a ação 'Remover usuários do canal'. Motivo: o nome do canal {channel name} não é particular.

Geral

Criar chat

Crie um chat de usuário no Microsoft Teams.

Parâmetros

Esta ação não tem parâmetros de entrada.

Corrida

Essa ação é executada nas seguintes entidades:

  • Nome de usuário
  • Endereço de e-mail (nome de usuário que corresponde à regex de e-mail)

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats/$entity",
    "id": "19:b786d3cf-e97d-4511-b61c-0559e9f4da75_cb786032-1ba9-439a-b714-99286e185921@unq.gbl.spaces",
    "topic": null,
    "createdDateTime": "2021-10-13T11:24:15.696Z",
    "lastUpdatedDateTime": "2021-10-13T11:24:15.696Z",
    "chatType": "oneOnOne"
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se o código de status 201 for informado (is_success = true): "O chat foi criado com os seguintes usuários no Microsoft Teams: {entities}"

Se o usuário não for encontrado (is_success = true): "Os seguintes usuários não foram encontrados no Microsoft Teams: {entities}"

Se nenhum usuário for encontrado (is_success = false): "Nenhum dos usuários fornecidos foi encontrado no Microsoft Teams: {entities}"

Se o código de status 400 de uma entidade for informado (is_success = true): "A ação não conseguiu criar um chat com os seguintes usuários no Microsoft Teams: {entities}"

Se o código de status 400 for informado para todas as entidades (is_success = false): "A ação não conseguiu criar um chat com os usuários informados no Microsoft Teams."

A ação deve falhar e interromper a execução de um playbook:

Se um erro crítico for informado: "Erro ao executar a ação 'Criar chat'". Motivo: {0}''.format(error.Stacktrace)

Geral

Listar chats

Listar os chats disponíveis no Microsoft Teams.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
Tipo de chat DDL

Todos

Valores possíveis:

  • Todos
  • Chat em grupo
  • Chat da reunião
  • Chat individual
Não Especifique o tipo de chat que deve ser retornado.
Chave de filtro DDL

Selecione uma opção.

Valores possíveis:

  • Tópico
  • Nome de exibição do membro
  • E-mail do participante
Não Especifique a chave que precisa ser usada para filtrar as conversas.
Lógica de filtro DDL

Não especificado

Valores possíveis:

  • Não especificado
  • Igual
  • Contém
Não Especifique qual lógica de filtro deve ser aplicada. A lógica de filtragem funciona com base no valor fornecido no parâmetro "Chave de filtro".
Filtrar por valor String N/A Não Especifique qual valor deve ser usado no filtro. Se "Igual" for selecionado, a ação vai tentar encontrar a correspondência exata entre os resultados. Se "Contém" estiver selecionado, a ação vai tentar encontrar resultados que contenham essa substring. Se nada for fornecido nesse parâmetro, o filtro não será aplicado. A lógica de filtragem funciona com base no valor fornecido no parâmetro "Chave de filtro".
Número máximo de registros a serem retornados Inteiro 50 Não Especifique o número de registros a serem retornados. Se nada for fornecido, a ação vai retornar 50 registros.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
{
    "id": "19:5af81bea-9c9f-4f9f-8745-9df1fdba8e12_b786d3cf-e97d-4511-b61c-0559e9f4da75@unq.gbl.spaces",
    "topic": null,
    "createdDateTime": "2021-04-12T08:36:52.572Z",
    "lastUpdatedDateTime": "2021-09-28T09:31:58.045Z",
    "chatType": "oneOnOne",
    "members@odata.context": "https://graph.microsoft.com/v1.0/$metadata#chats('19%3A5af81bea-9c9f-4f9f-8745-9df1fdba8e12_b786d3cf-e97d-4511-b61c-0559e9f4da75%40unq.gbl.spaces')/members",
    "members": [
        {
            "@odata.type": "#microsoft.graph.aadUserConversationMember",
            "id": "MCMjZDQ4ZjUyY2EtNWIxYS00NzA4LThlZDAtZWJiOThhMjZhNDZhIyMxOTo1YWY4MWJlYS05YzlmLTRmOWYtODc0NS05ZGYxZmRiYThlMTJfYjc4NmQzY2YtZTk3ZC00NTExLWI2MWMtMDU1OWU5ZjRkYTc1QHVucS5nYmwuc3BhY2VzIyM1YWY4MWJlYS05YzlmLTRmOWYtODc0NS05ZGYxZmRiYThlMTI=",
            "roles": [
                "Owner"
            ],
            "displayName": "yuriy",
            "visibleHistoryStartDateTime": "0001-01-01T00:00:00Z",
            "userId": "5af81bea-9c9f-4f9f-8745-9df1fdba8e12",
            "email": null,
            "tenantId": "d48f52ca-5b1a-4708-8ed0-ebb98a26a46a"
        },
        {
            "@odata.type": "#microsoft.graph.aadUserConversationMember",
            "id": "MCMjZDQ4ZjUyY2EtNWIxYS00NzA4LThlZDAtZWJiOThhMjZhNDZhIyMxOTo1YWY4MWJlYS05YzlmLTRmOWYtODc0NS05ZGYxZmRiYThlMTJfYjc4NmQzY2YtZTk3ZC00NTExLWI2MWMtMDU1OWU5ZjRkYTc1QHVucS5nYmwuc3BhY2VzIyNiNzg2ZDNjZi1lOTdkLTQ1MTEtYjYxYy0wNTU5ZTlmNGRhNzU=",
            "roles": [
                "Owner"
            ],
            "displayName": "ג'יימס בונד",
            "visibleHistoryStartDateTime": "0001-01-01T00:00:00Z",
            "userId": "b786d3cf-e97d-4511-b61c-0559e9f4da75",
            "email": "james.bond@siemplifycyarx.onmicrosoft.com",
            "tenantId": "d48f52ca-5b1a-4708-8ed0-ebb98a26a46a"
        }
    ]
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se os dados estiverem disponíveis (is_success = true): "Encontramos chats para os critérios fornecidos no Microsoft Teams".

Se os dados não estiverem disponíveis (is_success=false): "Não foram encontradas conversas para os critérios fornecidos no Microsoft Teams."

Se o campo do parâmetro "Valor do filtro" estiver vazio (is_success=true):

"O filtro não foi aplicado porque o parâmetro "Valor do filtro" está vazio."

A ação deve falhar e interromper a execução de um playbook:

Se o parâmetro "Chave de filtro" estiver definido como "Selecionar um" e o parâmetro "Lógica de filtro" estiver definido como "Igual" ou "Contém":

"Erro ao executar a ação "{action name}". Motivo: é necessário selecionar um campo do parâmetro "Chave de filtro"."

Se um valor inválido for fornecido para o parâmetro "Máximo de registros a serem retornados":

"Erro ao executar a ação "{action name}". Motivo: "O valor fornecido para "Máximo de registros a serem retornados" é inválido: . É necessário informar um número positivo"."

Se houver um erro fatal, como credenciais incorretas, falta de conexão com o servidor, entre outros:

"Erro ao executar a ação "{action name}". Motivo: {0}''.format(error.Stacktrace)

Geral
Tabela do painel de casos

Nome da tabela: Available Chats

Colunas da tabela:

  • ID - id
  • Tipo: chatType
  • Membros: CSV de membros/exibição
  • Names Topic - topic
Geral

Enviar mensagem de chat

Envie uma mensagem de chat no Microsoft Teams.

Parâmetros

Nome de exibição do parâmetro Tipo Valor padrão É obrigatório Descrição
ID do chat DDL N/A Sim Especifique o ID do chat para o qual você quer enviar uma mensagem.
Texto String N/A Sim Especifique o conteúdo da mensagem.
Aguardar resposta Caixa de seleção Selecionado Sim Se ativada, a ação aguarda até a resposta.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
{
    "id": "1632820681737",
    "replyToId": null,
    "etag": "1632820681737",
    "messageType": "message",
    "createdDateTime": "2021-09-28T09:18:01.737Z",
    "lastModifiedDateTime": "2021-09-28T09:18:01.737Z",
    "lastEditedDateTime": null,
    "deletedDateTime": null,
    "subject": null,
    "summary": null,
    "chatId": "19:5af81bea-9c9f-4f9f-8745-9df1fdba8e12_b786d3cf-e97d-4511-b61c-0559e9f4da75@unq.gbl.spaces",
    "importance": "normal",
    "locale": "en-us",
    "webUrl": null,
    "channelIdentity": null,
    "policyViolation": null,
    "from": {
        "application": null,
        "device": null,
        "user": {
            "id": "b786d3cf-e97d-4511-b61c-0559e9f4da75",
            "displayName": "ג'יימס בונד",
            "userIdentityType": "aadUser"
        }
    },
    "body": {
        "contentType": "text",
        "content": "qqq"
    },
    "attachments": [],
    "mentions": [],
    "reactions": []
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída*

A ação não pode falhar nem interromper a execução de um playbook:

Se o código de status 201 for informado (is_success = true): "Uma mensagem foi enviada no chat com o ID {Chat ID} do Microsoft Teams."

Se a resposta estiver disponível (is_success = true): "Uma mensagem foi enviada e uma resposta foi recebida no chat com o ID {Chat ID} do Microsoft Teams."

Mensagem assíncrona: aguardando uma resposta...

A ação deve falhar e interromper a execução de um playbook:

Se um erro crítico for relatado: "Erro ao executar a ação 'Enviar mensagem de chat'". Motivo: {0}''.format(error.Stacktrace)

Se o código de status 404 for informado: "Erro ao executar a ação 'Enviar mensagem de chat'". Motivo: o chat com o ID não foi encontrado no Microsoft Teams.

Se houver tempo limite: "Erro ao executar a ação 'Enviar mensagem de chat'". Motivo: a mensagem foi enviada, mas a ação atingiu o tempo limite enquanto aguardava uma resposta. Aumente o tempo limite no ambiente de desenvolvimento integrado e tente de novo. Observação: se você tentar de novo, a ação vai enviar outra mensagem.

Geral

Enviar resposta de mensagem

Envie uma resposta à mensagem do canal no Microsoft Teams.

Parâmetros

Parâmetro Tipo Valor padrão É obrigatório Descrição
Nome da equipe String N/A Sim Especifique a equipe para que você quer enviar a resposta.
Nome do canal String N/A Sim Especifique o canal para o qual você quer enviar a resposta.
ID da mensagem String N/A Sim Especifique o ID da mensagem para a qual você quer enviar a resposta.
Tipo de conteúdo DDL Texto Não

Especifique o tipo de conteúdo da mensagem.

Valores possíveis:

  • Texto
  • HTML

Texto String N/A Sim Especifique o conteúdo da mensagem.

Corrida

Essa ação não é executada em entidades.

Resultados da ação

Resultado do script
Nome do resultado do script Opções de valor Exemplo
is_success Verdadeiro/falso is_success:False
Resultado do JSON
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#teams('192c0699-fad2-4d02-88a2-84efd6369894')/channels('19%3A4649fcf41fa5417f9aa78a5840bea442%40thread.tacv2')/messages('1686652339690')/replies/$entity",
"id": "1686653341151",
"replyToId": "1686652339690",
"etag": "1686653341151",
"messageType": "message",
"createdDateTime": "2023-06-13T10:49:01.151Z",
"lastModifiedDateTime": "2023-06-13T10:49:01.151Z",
"lastEditedDateTime": null,
"deletedDateTime": null,
"subject": null,
"summary": null,
"chatId": null,
"importance": "normal",
"locale": "en-us",
"webUrl": "https://teams.microsoft.com/l/message/19%3A4649fcf41fa5417f9aa78a5840bea442%40thread.tacv2/1686653341151?groupId=192c0699-fad2-4d02-88a2-84efd6369894&tenantId=d48f52ca-5b1a-4708-8ed0-ebb98a26a46a&createdTime=1686653341151&parentMessageId=1686652339690",
"policyViolation": null,
"eventDetail": null,
"from": {
"application": null,
"device": null,
"user": {
"@odata.type": "#microsoft.graph.teamworkUserIdentity",
"id": "b786d3cf-e97d-4511-b61c-0559e9f4da75",
"displayName": "ג'יימס בונד",
"userIdentityType": "aadUser"
}
},
"body": {
"contentType": "text",
"content": "Reply"
},
"channelIdentity": {
"teamId": "192c0699-fad2-4d02-88a2-84efd6369894",
"channelId": "19:4649fcf41fa5417f9aa78a5840bea442@thread.tacv2"
},
"attachments": [],
"mentions": [],
"reactions": []
}
Painel de casos
Tipo de resultado Valor/Descrição Tipo
Mensagem de saída* A ação não deve falhar nem interromper a execução de um playbook:

Se 201 para um (is_success = true):
print "Successfully sent a reply to the message in Microsoft Teams."

A ação deve falhar e interromper a execução de um playbook:
Se houver um erro crítico:
print "Error executing action "Send Message Reply". Motivo: {0}''.format(error.Stacktrace)
Se a equipe não for encontrada:
print "Erro ao executar a ação "Enviar resposta de mensagem". Motivo: a equipe com o nome {team name} não foi encontrada no Microsoft Teams. Verifique a ortografia.
Se o canal não for encontrado:
print "Erro ao executar a ação 'Enviar resposta à mensagem'. Motivo: o canal com o nome {channel name} não foi encontrado no Microsoft Teams. Verifique a ortografia.
If "error" in response:
print "Error executing action "Send Message Reply". Motivo: {error.message}.
Geral

Jobs

Para configurar jobs no Google SecOps, acesse Resposta > Programador de jobs.

Job de renovação do token de atualização

O objetivo do job de renovação do token de atualização é atualizar periodicamente o token de atualização usado na integração.

Por padrão, o token de atualização expira a cada 90 dias, o que torna a integração inutilizável após a expiração. Recomendamos executar esse job a cada 7 ou 14 dias para garantir que o token de atualização esteja atualizado.

Entradas de job

Para configurar o job, use os seguintes parâmetros:

Parâmetros
Raiz da API de login Obrigatório

Raiz da API usada para autenticação com a plataforma Identity Platform da Microsoft.

O valor padrão é https://login.microsoftonline.com.

Raiz da API Obrigatório

Raiz da API da instância do Microsoft Graph.

O valor padrão é https://graph.microsoft.com.

Ambientes de integração Opcional

Ambientes de integração para os quais o job atualiza os tokens de atualização.

Esse parâmetro aceita vários valores como uma string separada por vírgulas. Coloque os valores individuais entre aspas (" ").

Precisa de mais ajuda? Receba respostas de membros da comunidade e profissionais do Google SecOps.