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.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.
1. Configurando o SSO
Criando seu aplicativo de SSO
| Tipo de conexão | Protocolo | O que fornecer |
|---|---|---|
| Okta | OIDC (Okta Workforce Identity) | domínio do Okta, ID do cliente, segredo do cliente, escopos |
| Azure AD | OIDC (Microsoft Entra ID) | domínio do Azure AD, ID do cliente, segredo do cliente |
| SAML | SAML 2.0 (qualquer IdP) | URL de login, certificado de assinatura X.509 |
| OIDC genérico | OIDC | URL 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
- A conexão de SSO é vinculada ao seu ambiente Enterprise do Devin
- Associação automática ao fazer login é ativada — qualquer usuário que se autenticar via SSO é adicionado automaticamente ao seu ambiente Enterprise
- Seu(s) domínio(s) de e-mail são registrados como confiáveis — somente e-mails desses domínios são aceitos
- 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
- 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
- O usuário acessa a URL do seu Devin
- É redirecionado para o IdP configurado (Okta, Azure AD etc.)
- O usuário se autentica normalmente
- O IdP envia ao Devin as informações do usuário e as associações a grupos
- 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
Gerenciamento de grupos do IdP
- 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-Adminsrecebem a função de Enterprise Admin”) - Atribua um grupo a orgs específicas com funções específicas (por exemplo, “
Team-Backendrecebe 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
- 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
- Crie funções personalizadas com permissões granulares
- Atribua funções personalizadas a usuários específicos ou a grupos do IdP
API para automação
| Ação | Endpoint da API |
|---|---|
| Listar todos os membros | GET /v2/enterprise/members |
| Convidar usuários por e-mail (em lote) | POST /v2/enterprise/members/invite |
| Remover um membro | DELETE /v2/enterprise/members/{user_id} |
| Atualizar funções de membros em lote | PATCH /v2/enterprise/members/roles |
| Migrar membros entre funções | PATCH /v2/enterprise/members/migrate-roles |
| Listar todas as funções | GET /v2/enterprise/roles |
| Listar todos os grupos do IdP | GET /v2/enterprise/groups |
| Pré-criar grupos do IdP | PUT /v2/enterprise/groups |
| Obter as atribuições de org de um grupo | GET /v2/enterprise/groups/{group_name} |
2. Entendendo o Devin sem SCIM
Provisionamento de usuário: somente no login
| Com SCIM | Devin (sem SCIM) | |
|---|---|---|
| Como os usuários são criados | O IdP cria o usuário no app imediatamente quando o app é atribuído ao usuário | O 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 acontece | O administrador atribui o app ao usuário → o usuário aparece em segundos | O administrador atribui o app ao usuário → nada acontece no Devin até ele fazer login |
| Pré-provisionamento | A conta do usuário fica pronta antes mesmo de ele acessar o app | Não há pré-provisionamento, a menos que o administrador o convide explicitamente pela UI ou API do Devin |
Desprovisionamento de usuários: apenas manual
| Com SCIM | Devin (Sem SCIM) | |
|---|---|---|
| Como os usuários são removidos | O IdP desativa/remove o usuário → o app desativa imediatamente o acesso do usuário | Desativar/remover um usuário no IdP não faz nada no Devin |
| Desligamento | O funcionário desligado perde o acesso em minutos | O funcionário desligado mantém o acesso até ser removido manualmente do Devin e sua sessão expirar |
| Conformidade | Conformidade automatizada — sem contas órfãs | Risco de contas órfãs, a menos que o administrador mantenha os dois sistemas |
Sincronização de grupos: apenas no login, não em tempo real
| Com SCIM (Group Push) | Devin (Sem SCIM) | |
|---|---|---|
| Momento da sincronização | O IdP envia as alterações de associação a grupos em tempo real | Os grupos só são sincronizados quando o usuário faz login |
| Adicionar a um grupo | O Admin adiciona o usuário ao grupo → o app reflete isso imediatamente | O Admin adiciona o usuário ao grupo → Devin só fica sabendo no próximo login do usuário |
| Remover de um grupo | O Admin remove o usuário do grupo → o app reflete isso imediatamente | O Admin remove o usuário do grupo → Devin continua mostrando a associação antiga até o próximo login |
| Fonte de verdade | O IdP é sempre a fonte de verdade | O IdP só é a fonte de verdade no momento do login — pode haver divergências entre logins |
Alternativas nativas ao SCIM
- Provisionamento just-in-time — os usuários são criados automaticamente no primeiro login via SSO com a função padrão do Enterprise
- 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
- 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
- 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
- Logs de auditoria — todo login é registrado, dando visibilidade sobre quem acessou o Devin
3. Configuração de grupos gerenciados pelo 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.
Etapa 1: Definir grupos no IdP
- Vá para Directory → Groups
- Crie grupos que correspondam aos níveis de acesso do Devin (por exemplo,
Devin-Engineering,Devin-Admins,Devin-DataScience) - Atribua usuários a esses grupos
Etapa 2: Configurar as claim de grupo no app do IdP
Para conexões SAML
- Vá para Applications → [Devin App] → SAML Settings → Edit
- Em Group Attribute Statements, adicione:
- Name:
groups - Filter: “Starts with” →
Devin-(ou use “Matches regex” para padrões mais complexos)
- Name:
- Isso instrui o IdP a incluir os nomes dos grupos correspondentes na asserção SAML
Para conexões OIDC
- Vá para Applications → [Devin App] → Sign On → Edit
- Em OpenID Connect ID Token → Groups claim type, selecione “Filter”
- Configure o filtro para corresponder aos grupos do Devin (por exemplo, “Starts with” →
Devin-)
Etapa 3: Mapear grupos para funções e org no Devin
Na UI do Devin
- Configurações → Enterprise → Grupos do Provedor de Identidade
- Os grupos aparecem automaticamente depois que qualquer membro do grupo faz login
- Clique em um grupo → atribua a ele uma função no nível Enterprise (por exemplo, Enterprise Admin ou uma função personalizada)
- 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
- 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
- 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
- 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
- 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
Considerações principais
Renomeação de grupos no IdP
Renomeação de grupos no IdP
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.
Adicionar a um grupo não significa acesso imediato ao Devin
Adicionar a um grupo não significa acesso imediato ao Devin
Um usuário adicionado a um grupo do IdP mapeado no Devin só terá esse acesso quando fizer login.
Remover de um grupo não significa perda imediata de acesso ao Devin
Remover de um grupo não significa perda imediata de acesso ao Devin
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.
Os nomes dos grupos devem corresponder exatamente
Os nomes dos grupos devem corresponder exatamente
O nome do grupo no IdP deve corresponder exatamente ao que Devin vê. Diferencia letras maiúsculas de minúsculas.
Sem grupos aninhados
Sem grupos aninhados
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.
Configuração recomendada para um comportamento “semelhante ao SCIM”
Configure seu provedor de identidade (Fonte da verdade)
- Defina grupos:
Devin-Admins,Devin-Backend,Devin-Frontend, etc. - Atribua usuários aos grupos
- Configure claims de grupo SAML/OIDC filtradas por “Começa com:
Devin-”
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
Opcional: automatize com a API V2
Configure uma tarefa agendada para cobrir as lacunas do SCIM:
- Leia os usuários ativos da API do seu IdP
- Leia os membros do Devin em
GET /v2/enterprise/members - Convide novos funcionários via
POST /v2/enterprise/members/invite - Remova funcionários desligados via
DELETE /v2/enterprise/members/{user_id}
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
