paint-brush
Navegando nas integrações do Microsoft Entra ID para Slack, MongoAtlas, Salesforce e muito maispor@socialdiscoverygroup
442 leituras
442 leituras

Navegando nas integrações do Microsoft Entra ID para Slack, MongoAtlas, Salesforce e muito mais

por Social Discovery Group9m2023/12/27
Read on Terminal Reader

Muito longo; Para ler

O Microsoft Entra ID é uma solução fácil de usar para gerenciamento de identidade e acesso. No entanto, apesar das instruções meticulosamente definidas pelos fornecedores, os especialistas muitas vezes encontram problemas ao configurar integrações com plataformas como Slack, Salesforce ou Datadog. A equipe do ODS também enfrentou esses desafios e, neste artigo, ofereceremos insights sobre como navegar e resolvê-los.
featured image - Navegando nas integrações do Microsoft Entra ID para Slack, MongoAtlas, Salesforce e muito mais
Social Discovery Group HackerNoon profile picture
0-item


Na era do rápido avanço da tecnologia em nuvem, onde a infraestrutura como serviço (IaaS) e a plataforma como serviço (PaaS) são essenciais para vários projetos, a demanda por integração perfeita de diversos serviços em nuvem é inegável. A Microsoft, um importante player neste cenário, investiu um tempo considerável na criação do serviço Microsoft Entra ID de fácil utilização. No entanto, apesar das instruções meticulosamente definidas pelos fornecedores, os especialistas muitas vezes encontram problemas ao configurar integrações com plataformas como Slack, Salesforce ou Datadog. A documentação é insuficiente para fornecer respostas a perguntas específicas.


A equipe do Social Discovery Group também enfrentou esses desafios e, neste artigo, ofereceremos insights sobre como navegar e resolvê-los.

Em seu portfólio de mais de 50 plataformas de namoro, o Social Discovery Group utiliza diversas tecnologias e serviços em nuvem para garantir sua segurança e confiabilidade. Temos vasta experiência na integração e configuração de diferentes sistemas, incluindo conexões peer-to-peer entre diversas nuvens.


O Microsoft Entra ID é uma solução em nuvem para gerenciamento de identidade e acesso, servindo como serviço de diretório e autenticação operando na nuvem. O Microsoft Entra ID oferece serviços de autenticação e autorização para vários serviços Microsoft e não Microsoft. Neste artigo, exploraremos a integração dos seguintes sistemas em nuvem: Slack, MongoAtlas, ElasticCloud, Salesforce e Datadog.


Folga

Devido à ausência de um guia preciso, decidimos criar o nosso próprio, detalhando todas as dores de cabeça que surgiram ao longo do caminho. Então, vamos navegar até a seção “Aplicativo Corporativo” no Azure.

Aplicativo Empresarial, Azure


É necessário criar uma nova aplicação corporativa (isso pode ser feito em poucos cliques). Em seguida, acesse a aplicação que acabamos de criar e configure o Single Sign-On – SAML. Faça alterações de cima para baixo:


  1. Identificador: https://slack.com
  2. URL de resposta: https://<NOME DE DOMÍNIO>.slack.com/sso/saml (caso você tenha Ent Grid – https://<NOME DE DOMÍNIO>.enterprise.slack.com/sso/saml )
  3. URL de login: https://<NOME DO DOMÍNIO>.slack.com/sso/saml/start
  4. URL de logout: https:// <NOME DO DOMÍNIO>.slack.com/sso/saml/logout

Crie uma função de “Membro” (ou escolha outro nome). A seguir, crie um usuário de teste no Microsoft Entra ID e adicione-o ao nosso aplicativo. Em seguida, vá para o Admin Center no Slack. Siga as etapas: Slack Admin - Autenticação - Configuração SAML - Configurar


Centro de administração no Slack


A próxima etapa é configurar o SAML. Recomendamos prestar atenção à configuração "Nome para exibição". Além disso, nas configurações, desmarque "Atualizar perfil no login" e não permita a alteração do endereço de e-mail e do nome de exibição.

Configuração SAML


Também existe a opção de personalizar o texto do botão de login e proibir os usuários de fazer login usando qualquer outro método, exceto SSO. Depois disso, você poderá entrar no Slack usando sua conta da Microsoft. Se forem necessários campos ou configurações adicionais, isso poderá ser feito por meio do Azure AD Provision.


Provisão do Azure AD


Provisão do Azure AD


Para adicionar um novo atributo, acesse Atributos do usuário e selecione Adicionar novo mapeamento. Escolha o atributo de origem desejado que deseja exibir no Slack e associe-o ao atributo correspondente do Slack.


Atributos do usuário

Atributos do usuário


Depois de adicionar os atributos necessários e salvar as configurações, prossiga para o Provision on Demand para testar a funcionalidade. Após um resultado positivo, você receberá o seguinte:


Provisão sob Demanda, resultado bem-sucedido


Em seguida, você precisa ir ao Slack e especificar quais atributos exibir no perfil de usuário completo e onde recuperá-los. Acesse Perfis e escolha as informações a serem exibidas e de onde elas serão extraídas. Neste caso, o SCIM corresponde ao Azure AD.


Perfis de folga


Perfis de folga


A seguir, recomendamos adicionar os usuários necessários do Active Directory ao Slack para experimentar a integração perfeita. Também queremos chamar a atenção para um problema encontrado ao remover usuários: se um usuário for excluído manualmente do Slack (por meio do centro de administração do Slack), um erro persistirá, indicando que o usuário não pode ser transferido para o Slack devido a permissões insuficientes. Isso ocorre porque o Entra ID retém informações sobre os usuários dentro do escopo e atribui a eles um ID exclusivo. Excluir e adicionar novamente um usuário no Slack é percebido como um novo usuário pelo Entra ID, levando a problemas de permissão durante as atualizações.


Confira a documentação aqui .


MongoAtlas

Para o MongoAtlas, o processo segue um caminho semelhante. Você também precisará criar um novo aplicativo corporativo; para facilitar, digite "MongoDB Atlas — SSO" no campo de pesquisa. Instruções mais detalhadas podem ser encontradas aqui.


Em seguida, prossiga para as configurações de login único, onde você precisará inserir o seguinte:

  1. No campo de texto "Identificador", insira o URL usando o seguinte modelo: https://www.okta.com/saml2/service-provider/<Customer_Unique>

  2. No campo de texto "URL de resposta", insira o URL usando o modelo:

    https://auth.mongodb.com/sso/saml2/<Customer_Unique>

  3. No campo de texto "URL de login", insira a URL usando o modelo: https://cloud.mongodb.com/sso/<Customer_Unique>

Recomendamos prestar atenção na seção Atributos e configurá-la conforme mostrado na imagem abaixo (foi fundamental adicionar "memberOf").


Seção de atributos


Em seguida, na página "Configurando o logon único com SAML", vá para a seção "Certificado de assinatura SAML" e encontre os metadados XML para federação. Selecione "Download" para baixar o certificado e salvá-lo localmente (Federation Metadata XML). Precisaremos dele mais tarde no MongoDB Atlas.


Certificados SAML


Configurando o MongoDB Atlas – SSO


Na seção "Configurando o MongoDB Atlas — SSO", copie os respectivos URLs. Em seguida, navegue até MongoDB Atlas -> Organization -> Settings -> Federated Authentication Settings .


Configurações de autenticação federada


Comece adicionando o provedor de credenciais Microsoft Entra ID no Atlas. Insira os respectivos URLs mencionados na etapa anterior do portal da Microsoft (URI do emissor, URL de login, URL de logon único) , carregue o certificado de assinatura do provedor de identidade e defina as configurações restantes conforme mostrado na captura de tela abaixo .


Certificado de Assinatura do Provedor de Identidade


Clique em “Avançar” e salve o arquivo de metadados localmente, pois você precisará carregá-lo posteriormente no Azure na página de configuração do Logon Único.


Validação de domínio


Em seguida, adicione, mapeie e valide o domínio, por exemplo, usando os registros TXT correspondentes gerados no MongoDB Atlas. Depois disso, vincule seu domínio ao provedor de credenciais e passe para a parte mais interessante: configuração de funções.


Provedores de identidade


Criamos as seguintes funções como exemplo, cada uma com permissões específicas concedidas aos projetos. Em seguida, você precisa mapear essas funções para funções do Azure. Vá para "Funções do aplicativo" do seu aplicativo, crie e adicione funções com valores que correspondam exatamente aos nomes que você acabou de atribuir a essas funções no MongoAtlas.


Mapeamentos de funções


Funções do aplicativo


Depois, adicione usuários ao aplicativo no Microsoft Entra ID Enterprise Application e atribua a eles as funções apropriadas. Ative "Sign in with Azure SSO" na seção Federation Management no MongoDB Atlas e verifique o correto funcionamento das configurações configuradas.

Consulte a documentação aqui para obter instruções mais detalhadas.

Nuvem Elástica

Vamos passar para a integração com o Elastic Cloud. Os passos fundamentais para a criação de uma aplicação no Enterprise Application Entra ID são semelhantes aos anteriores. Lá você pode encontrar informações sobre onde obter o Identificador ou URL de Logout. No entanto, encontramos um problema com atributos, por isso forneceremos uma captura de tela de nossa configuração de trabalho.


Nuvem Elástica, atributos


Atributos


Criamos duas funções – um leitor e um superusuário.


Funções


Aqui, você pode criar quantas funções precisar. As configurações de função no Elasticsearch são definidas em Mapeamentos de funções e têm a seguinte aparência:


Mapeamentos de funções


Agora vem a parte interessante. Duas coisas precisam ser feitas: adicionar a configuração de SSO do Azure para Kibana e Elasticsearch. Para conseguir isso, siga estas etapas:

  1. Navegue até a seção de edição da implantação do Elasticsearch Cloud para atualizar a configuração do elasticsearch.yml. Adicione as seguintes linhas:


“ xpack:

security:

authc:

realms:

saml:

saml-azure-ad:

order: 2

attributes.principal: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name"

attributes.groups: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/role"

attributes.name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"

attributes.mail: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"

idp.metadata.path: "APP Federation metadata URL"

idp.entity_id: "Azure Entra ID Identifier"

sp.entity_id: "Kibana endpoint"

sp.acs: "Kibana endpoint/api/security/v1/saml"

sp.logout: "Kibana endpoint/logout" “

Após adicionar e modificar os valores destacados em vermelho para corresponder à sua configuração, clique em “Salvar”. O Elastic Cloud validará todas as alterações e iniciará a atualização do cluster. Este processo pode demorar alguns minutos.

  1. Após a conclusão bem-sucedida da etapa anterior, você precisa editar a configuração kibana.yml para permitir logins do Microsoft Entra ID, além do login padrão. Para fazer isso, adicione as seguintes linhas às configurações:

“ xpack.security.authc.providers:

saml.saml1:

order: 0

realm: saml-azure-ad

description: "Log in with Azure Entra ID"

basic.basic1:

order: 1 ”

Depois de concluir as duas etapas anteriores, outra opção de login deverá estar disponível na página de login do Kibana. Em seguida, prossiga adicionando usuários ao aplicativo no Microsoft Entra ID Enterprise Application e atribuindo-lhes as funções necessárias.


Consulte a documentação aqui para obter mais informações.



Força de vendas

A integração com Salesforce foi um pouco mais complexa que as anteriores. As etapas iniciais são semelhantes, mas atenção deve ser dada à seção Provisionamento. Existem nuances em relação à especificação de credenciais de administrador sob as quais a sincronização da conta ocorrerá, e é necessário ativar o mapeamento de atributos.


Mapeamento de atributos


Aqui está um exemplo de nossas configurações na captura de tela. Não encontramos nenhum problema significativo com os atributos, mas também forneceremos uma captura de tela daqueles que usamos.


Atributos e reivindicações


No próprio Salesforce, não havia nuances específicas e prosseguimos com as etapas a seguir, conforme descrito neste guia .


Cão de dados

Durante a integração com o Datadog, também encontramos alguns problemas. A documentação principal que nos orientou pode ser encontrada aqui . Para nuances de solução de problemas, consultamos este guia.


Tudo começou bem e, inicialmente, parecia que não haveria problemas. Como de costume, criamos um novo aplicativo empresarial no Microsoft Entra ID.


Aplicativo corporativo no Microsoft Entra ID


Na seção “Configurar Single Sign-On com SAML”, preste atenção ao local que você selecionou para sua conta Datadog. No nosso caso, foi a região da Europa.


Configure o logon único com SAML


Conforme mencionado anteriormente, para MongoAtlasDB, adicionamos o atributo adicional “memberOf” para mapeamento de funções.


Atributo adicional "memberOf"


Salve todas as configurações e baixe o XML de metadados da federação. Carregue este arquivo nas configurações SAML no Datadog. Aqui está um link conveniente para referência. Configurações SAML do Datadog (substitua "EU" pela zona de domínio apropriada se sua localização for diferente). Deve ser semelhante à imagem abaixo.


Configurações SAML do Datadog


Nas configurações de Métodos de Login da organização, mantenha apenas o necessário (no meu caso, desativei o login por senha e o Google Authenticate). Adicione funções no Azure no registro do aplicativo para Microsoft Entra ID.


Funções no registro do aplicativo


Aí vem a parte mais interessante. Navegue até Mapeamentos de grupos SAML -> Mapeamentos de funções no Datadog e adicione a chave, o valor e a função. Parece simples. Veja a imagem abaixo.


Mapeamentos de funções no Datadog


Mas não funciona e continua dando o erro "Não há AuthNMappings para este usuário".


Erro de dados


Por um bom tempo, tentamos entender o que estávamos fazendo de errado, revisando toda a documentação, logs e páginas de solução de problemas. Infelizmente, não houve menção a isso em lugar nenhum. No final das contas a solução é simples: siga a configuração mostrada na imagem abaixo.


Chave de atributo Datadog


No campo CHAVE, insira a string: http://schemas.microsoft.com/ws/2008/06/identity/claims/role

Depois de fazer isso, tudo começou a funcionar com sucesso.


"Esta é apenas uma pequena parte dos sistemas que integramos ao Microsoft Entra ID. Esperamos que os insights compartilhados aqui sirvam como um recurso útil, agilizando seus processos de integração e economizando um tempo valioso. Concluindo, as seguintes vantagens de usar o Microsoft Destacam-se o Entra ID: Single Sign-On, que não requer digitação da senha diversas vezes; não requer componentes adicionais; facilidade de configuração e administração; políticas de grupo e grupos; registro de dispositivos; e segurança de alto nível.