Pular para o conteúdo principal

Documentation Index

Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt

Use this file to discover all available pages before exploring further.

Este guia orienta administradores do Enterprise em todo o ciclo de vida do SSO com Devin — da configuração inicial à configuração de grupos do IdP — e explica como Devin gerencia o provisionamento de usuários sem SCIM. Para instruções de configuração específicas de cada provedor, consulte Okta, Azure AD, SAML ou OIDC genérico.

1. Configurando o SSO

Criando seu aplicativo de SSO

Crie um aplicativo no seu provedor de identidade (Okta, Azure AD ou qualquer IdP compatível com SAML/OIDC) e compartilhe as seguintes credenciais com a sua equipe da Cognition:
Tipo de conexãoProtocoloO que fornecer
OktaOIDC (Okta Workforce Identity)domínio do Okta, ID do cliente, segredo do cliente, escopos
Azure ADOIDC (Microsoft Entra ID)domínio do Azure AD, ID do cliente, segredo do cliente
SAMLSAML 2.0 (qualquer IdP)URL de login, certificado de assinatura X.509
OIDC genéricoOIDCURL de descoberta, ID do cliente, segredo do cliente, escopos
Você também deve fornecer seus domínios de e-mail verificados para que o Devin saiba quais endereços de e-mail do seu IdP considerar confiáveis.

O que acontece após a configuração

Quando sua equipe da Cognition tiver as credenciais, ela configurará a conexão de SSO. Após a conclusão da configuração:
  1. A conexão de SSO é vinculada ao seu ambiente Enterprise do Devin
  2. Associação automática ao fazer login é ativada — qualquer usuário que se autenticar via SSO é adicionado automaticamente ao seu ambiente Enterprise
  3. Seu(s) domínio(s) de e-mail são registrados como confiáveis — somente e-mails desses domínios são aceitos
  4. Atribuição de funções com base em grupos (RBAC) é ativada — grupos do IdP enviados durante o login podem ser mapeados para funções no Devin
  5. Os logins sociais padrão (Google, GitHub) são desativados — o SSO passa a ser o método de autenticação obrigatório

A experiência de login do usuário

  1. O usuário acessa a URL do seu Devin
  2. É redirecionado para o IdP configurado (Okta, Azure AD etc.)
  3. O usuário se autentica normalmente
  4. O IdP envia ao Devin as informações do usuário e as associações a grupos
  5. O Devin automaticamente:
    • Cria a conta do usuário se esse for o primeiro login dele (provisionamento just-in-time)
    • Atribui a ele a função padrão Enterprise Member
    • Sincroniza as associações a grupos do IdP — adiciona novos grupos e remove os obsoletos
    • Registra o login no log de auditoria do Enterprise

Administração self-service

Os itens a seguir estão disponíveis diretamente no webapp do Devin para os admins do Enterprise.

Gerenciamento de grupos do IdP

Configurações → Enterprise → Grupos do Provedor de Identidade
  • Visualize todos os grupos sincronizados a partir dos logins de usuários
  • Atribua um grupo a uma função no nível Enterprise (por exemplo, “Todos em Engineering-Admins recebem a função de Enterprise Admin”)
  • Atribua um grupo a orgs específicas com funções específicas (por exemplo, “Team-Backend recebe acesso de Membro na org Backend”)
  • Adicione/remova grupos em massa em várias orgs
  • Visualize em quantas orgs cada grupo está atribuído

Gerenciamento de membros

Configurações → Enterprise → Membros
  • Visualize todos os membros do Enterprise, incluindo suas associações com grupos do IdP
  • Convide novos membros por e-mail
  • Atualize as funções dos membros
  • Remova membros

Funções personalizadas

Configurações → Enterprise → Funções
  • Crie funções personalizadas com permissões granulares
  • Atribua funções personalizadas a usuários específicos ou a grupos do IdP
Consulte Funções personalizadas e RBAC para mais detalhes.

API para automação

A Devin oferece uma API V2 que você pode usar para automatizar o gerenciamento de membros:
AçãoEndpoint da API
Listar todos os membrosGET /v2/enterprise/members
Convidar usuários por e-mail (em lote)POST /v2/enterprise/members/invite
Remover um membroDELETE /v2/enterprise/members/{user_id}
Atualizar funções de membros em lotePATCH /v2/enterprise/members/roles
Migrar membros entre funçõesPATCH /v2/enterprise/members/migrate-roles
Listar todas as funçõesGET /v2/enterprise/roles
Listar todos os grupos do IdPGET /v2/enterprise/groups
Pré-criar grupos do IdPPUT /v2/enterprise/groups
Obter as atribuições de org de um grupoGET /v2/enterprise/groups/{group_name}

2. Entendendo o Devin sem SCIM

No momento, o Devin não oferece suporte ao protocolo SCIM. Todo o gerenciamento de usuários e grupos é feito por meio de eventos de login via SSO e pela UI/API do Devin. Veja o que isso significa na prática.

Provisionamento de usuário: somente no login

Com SCIMDevin (sem SCIM)
Como os usuários são criadosO IdP cria o usuário no app imediatamente quando o app é atribuído ao usuárioO usuário só passa a existir no Devin após o primeiro login com SSO — ou após um convite manual pela UI ou API
Quando isso aconteceO administrador atribui o app ao usuário → o usuário aparece em segundosO administrador atribui o app ao usuário → nada acontece no Devin até ele fazer login
Pré-provisionamentoA conta do usuário fica pronta antes mesmo de ele acessar o appNão há pré-provisionamento, a menos que o administrador o convide explicitamente pela UI ou API do Devin
Ao integrar novos funcionários, o administrador pode convidá-los com antecedência (Configurações → Enterprise → Membros → Convidar, ou pela API) ou simplesmente deixar que sejam provisionados automaticamente no primeiro login.

Desprovisionamento de usuários: apenas manual

Com SCIMDevin (Sem SCIM)
Como os usuários são removidosO IdP desativa/remove o usuário → o app desativa imediatamente o acesso do usuárioDesativar/remover um usuário no IdP não faz nada no Devin
DesligamentoO funcionário desligado perde o acesso em minutosO funcionário desligado mantém o acesso até ser removido manualmente do Devin e sua sessão expirar
ConformidadeConformidade automatizada — sem contas órfãsRisco de contas órfãs, a menos que o administrador mantenha os dois sistemas
Esta é a maior lacuna operacional. Ao desligar um funcionário, o administrador deve removê-lo separadamente do Devin (Configurações → Enterprise → Membros → Remover, ou via API). Sessões ativas continuam funcionando até expirarem naturalmente — não há revogação imediata de sessão acionada pelo IdP.

Sincronização de grupos: apenas no login, não em tempo real

Com SCIM (Group Push)Devin (Sem SCIM)
Momento da sincronizaçãoO IdP envia as alterações de associação a grupos em tempo realOs grupos só são sincronizados quando o usuário faz login
Adicionar a um grupoO Admin adiciona o usuário ao grupo → o app reflete isso imediatamenteO Admin adiciona o usuário ao grupo → Devin só fica sabendo no próximo login do usuário
Remover de um grupoO Admin remove o usuário do grupo → o app reflete isso imediatamenteO Admin remove o usuário do grupo → Devin continua mostrando a associação antiga até o próximo login
Fonte de verdadeO IdP é sempre a fonte de verdadeO IdP só é a fonte de verdade no momento do login — pode haver divergências entre logins
Se um admin alterar o grupo de alguém no IdP (p. ex., movê-lo de Engenharia para Vendas), Devin não refletirá essa mudança até que o usuário faça login novamente. Enquanto isso, o usuário mantém suas funções baseadas em grupo e o acesso antigo à org.

Alternativas nativas ao SCIM

O Devin inclui vários recursos que atendem a casos de uso comuns do SCIM:
  1. Provisionamento just-in-time — os usuários são criados automaticamente no primeiro login via SSO com a função padrão do Enterprise
  2. Sincronização completa de grupos a cada login — sempre que um usuário faz login, o Devin faz um diff completo dos grupos do IdP: adiciona os novos e remove os antigos
  3. RBAC baseado em grupos — é possível mapear grupos do IdP para funções do Enterprise e acesso à org nas Configurações do Devin, com efeito no próximo login
  4. API V2 para automação — convites, remoções e alterações de função em massa podem ser automatizados por script para fechar a lacuna de provisionamento/desprovisionamento
  5. Logs de auditoria — todo login é registrado, dando visibilidade sobre quem acessou o Devin

3. Configuração de grupos gerenciados pelo IdP

Se você usa SCIM com outros aplicativos (por exemplo, Slack, Box), esta seção explica como funciona o modelo de grupos do Devin e como configurar corretamente seu IdP.

Contexto: Grupos SCIM vs. Grupos do IdP

  • Grupos SCIM: O app de destino informa ao IdP quais grupos existem (o IdP os “importa”). O app é a fonte de verdade da estrutura dos grupos. O IdP sincroniza os usuários com esses grupos definidos pelo app.
  • Grupos do IdP (o que o Devin usa): O IdP é a fonte de verdade. Os grupos são definidos no diretório do IdP, e as associações aos grupos são repassadas ao Devin por meio de claims SAML/OIDC no momento do login.
Como o Devin não usa SCIM, você já está operando no modo “grupos do IdP”. O principal é garantir que os grupos corretos estejam sendo enviados pelo seu IdP e mapeados corretamente no Devin.

Etapa 1: Definir grupos no IdP

No console de administração do seu IdP (os exemplos abaixo usam o Okta):
  1. Vá para Directory → Groups
  2. Crie grupos que correspondam aos níveis de acesso do Devin (por exemplo, Devin-Engineering, Devin-Admins, Devin-DataScience)
  3. Atribua usuários a esses grupos
Esses são grupos nativos do IdP — seu IdP é a fonte de verdade sobre quem pertence a qual grupo.

Etapa 2: Configurar as claim de grupo no app do IdP

Os grupos devem ser incluídos na resposta de autenticação para que o Devin possa lê-los.

Para conexões SAML

  1. Vá para Applications → [Devin App] → SAML Settings → Edit
  2. Em Group Attribute Statements, adicione:
    • Name: groups
    • Filter: “Starts with” → Devin- (ou use “Matches regex” para padrões mais complexos)
  3. Isso instrui o IdP a incluir os nomes dos grupos correspondentes na asserção SAML

Para conexões OIDC

  1. Vá para Applications → [Devin App] → Sign On → Edit
  2. Em OpenID Connect ID Token → Groups claim type, selecione “Filter”
  3. Configure o filtro para corresponder aos grupos do Devin (por exemplo, “Starts with” → Devin-)
Use um prefixo de filtro como Devin- para que apenas os grupos relevantes sejam enviados. Não é necessário enviar todos os grupos do IdP da organização.

Etapa 3: Mapear grupos para funções e org no Devin

Quando os grupos passarem a ser enviados no login, faça o mapeamento deles no Devin.

Na UI do Devin

  1. Configurações → Enterprise → Grupos do Provedor de Identidade
  2. Os grupos aparecem automaticamente depois que qualquer membro do grupo faz login
  3. Clique em um grupo → atribua a ele uma função no nível Enterprise (por exemplo, Enterprise Admin ou uma função personalizada)
  4. Clique em um grupo → atribua-o a org específicas com funções específicas no nível da org

Pela API (para pré-configuração ou automação)

  • Crie grupos antecipadamente, antes que qualquer pessoa faça login: PUT /v2/enterprise/groups
  • Liste os grupos e suas atribuições de org: GET /v2/enterprise/groups

Etapa 4: Se estiver migrando de grupos SCIM em outros apps

Se você estiver mudando sua estratégia geral de IdP de grupos gerenciados por SCIM para grupos gerenciados pelo IdP em todas as suas ferramentas (não apenas no Devin):
  1. Interrompa a importação de grupos via SCIM nos outros apps:
    • No IdP: vá para a aba Provisioning → Integration do app → desmarque “Import Groups”
    • Isso faz com que o app de destino deixe de ser a fonte de verdade para os grupos
  2. Crie grupos correspondentes no diretório do IdP:
    • Vá para Directory → Groups e crie grupos que espelhem o que existia no app de destino
    • Atribua usuários a esses grupos nativos do IdP
  3. Configure o Group Push (para apps que oferecem suporte):
    • Na configuração de IdP do app: aba Push Groups → encontre os grupos pelo nome → vincule-os aos grupos existentes no app de destino
    • Isso faz com que o IdP sobrescreva a associação interna do app — o IdP passa a ser a única fonte de verdade
    • O Devin não precisa de Group Push porque lê os grupos diretamente da asserção de login
  4. Desative a sincronização de grupos via SCIM nos outros apps:
    • Garanta que “Import Groups” permaneça desativado para impedir que o app de destino volte a se afirmar como fonte de verdade
Para o Devin especificamente, nenhuma migração é necessária. Apenas garanta que as Etapas 1–3 acima tenham sido concluídas (grupos definidos no seu IdP, claims configuradas e mapeamentos definidos no Devin).

Considerações principais

Se um grupo for renomeado, Devin o tratará como um novo grupo. Os mapeamentos de função do grupo antigo não são transferidos automaticamente — será necessário reconfigurar o novo nome do grupo nas Configurações do Devin.
Um usuário adicionado a um grupo do IdP mapeado no Devin só terá esse acesso quando fizer login.
Remover um usuário de um grupo do IdP não revoga imediatamente seu acesso ao Devin. No próximo login, Devin sincroniza e remove a associação ao grupo obsoleta. Qualquer associação direta (atribuída fora dos grupos) não é afetada.
O nome do grupo no IdP deve corresponder exatamente ao que Devin vê. Diferencia letras maiúsculas de minúsculas.
Devin não oferece suporte a grupos aninhados/hierárquicos. Se o IdP enviar um grupo pai, os membros dos grupos filhos não serão incluídos automaticamente. Cada grupo deve ser atribuído explicitamente.

Para ter o maior controle possível sem SCIM, siga esta abordagem:
1

Configure seu provedor de identidade (Fonte da verdade)

  1. Defina grupos: Devin-Admins, Devin-Backend, Devin-Frontend, etc.
  2. Atribua usuários aos grupos
  3. Configure claims de grupo SAML/OIDC filtradas por “Começa com: Devin-
2

O Devin sincroniza a cada login

Quando um usuário faz login via SSO, o Devin automaticamente:
  • Cria o usuário automaticamente, se ele for novo
  • Executa uma sincronização completa dos grupos (adiciona novos grupos e remove os obsoletos)
  • Aplica imediatamente os mapeamentos de grupo para função e de grupo para organização
3

Opcional: automatize com a API V2

Configure uma tarefa agendada para cobrir as lacunas do SCIM:
  1. Leia os usuários ativos da API do seu IdP
  2. Leia os membros do Devin em GET /v2/enterprise/members
  3. Convide novos funcionários via POST /v2/enterprise/members/invite
  4. Remova funcionários desligados via DELETE /v2/enterprise/members/{user_id}
Isso oferece provisionamento e desprovisionamento no modelo push sem SCIM.

O que isso proporciona

  • Seu IdP como fonte única de verdade para a estrutura e a associação de grupos
  • Acesso automático baseado em grupos em todos os logins
  • Provisionamento/desprovisionamento via API para suprir a lacuna que o SCIM normalmente preencheria
  • Trilha de auditoria completa para todos os logins e alterações de associação

Limitações atuais

  • Sincronização de grupos em tempo real entre um login e outro — os grupos só são atualizados quando os usuários fazem login
  • Revogação instantânea de sessão no desprovisionamento — as sessões permanecem ativas até expirarem
  • Eventos de ciclo de vida iniciados pelo IdP, como suspender/reativar, não têm suporte