Configurar o provisionamento SCIM para Okta

Este artigo descreve como configurar o provisionamento Databricks usando o Okta. Seu Okta tenant deve estar usando o recurso Okta Lifecycle Management para provisionar usuários e grupos para Databricks.

Você pode configurar o provisionamento no nível account do Databricks ou no nível do workspace do Databricks.

A Databricks recomenda que você provisione usuários, entidade de serviço e grupos no nível da account e atribua usuários e grupos ao workspace usando a federação de identidades. Se você tiver algum workspace não habilitado para federação de identidade, deverá continuar provisionando usuários, entidades de serviço e grupos diretamente para esses workspace.

Para saber mais sobre o provisionamento SCIM no Databricks, incluindo uma explicação do impacto da federação de identidade no provisionamento e conselhos sobre quando usar o provisionamento no nível da accounte no nível do workspace, consulte Sincronizar usuários e grupos de seu provedor de identidade.

Para configurar o logon único com o Okta, consulte Configurar SSO para seu workspace.

recurso

O Databricks está disponível como um aplicativo de provisionamento na Okta Integration Network (OIN), permitindo que você use o Okta para provisionar usuários e grupos com Databricks automaticamente.

O aplicativo Databricks Okta permite:

  • Convidar usuários para uma account ou workspace do Databricks

  • Adicionar usuários convidados ou ativos a grupos

  • Desativar usuários existentes em uma account ou workspace do Databricks

  • gerenciar grupos e membros de grupos

  • Atualize e gerencie perfis

Requisitos

  • Sua account Databricks deve ter o plano Premium ouacima.

  • Você deve ser um usuário desenvolvedor Okta.

  • Para configurar o provisionamento para sua account do Databricks, você deve ser o administrador account do Databricks.

  • Para configurar o provisionamento para um workspace do Databricks, você deve ser administrador workspace do Databricks.

Configure o provisionamento SCIM no nível da conta usando o Okta

Esta seção descreve como configurar um conector Okta SCIM para provisionamento de usuários e grupos para sua account.

Obtenha os tokens SCIM e a URL SCIM da conta no Databricks

  1. Como administrador de conta, logs in no console de conta do Databricks.

    1. Clique Ícone de configurações do usuário Configurações.

    2. Clique em Provisionamento de usuário.

    3. Clique em Habilitar provisionamento de usuário.

      Copie os tokens SCIM e o URL SCIM account . Você os usará para configurar seu conector no Okta.

Observação

Os tokens SCIM são restritos à account SCIM API /api/2.0/accounts/{account_id}/scim/v2/ e não podem ser usados para autenticação em outras APIs REST Databricks.

Configurar o provisionamento SCIM no Okta

  1. Log in no portal de administração do Okta.

  2. Vá para Aplicativos e clique em Procurar Catálogo de Aplicativos.

  3. Pesquise Databricks no Catálogo de integração de aplicativos de navegação.

  4. Clique em Adicionar integração.

  5. Em Add Databricks, configure o seguinte:

    • Em Rótulo do aplicativo, insira um nome para seu aplicativo.

    • Selecione Não exibir o ícone do aplicativo para os usuários.

    • Selecione Não exibir o ícone do aplicativo no Okta Mobile App.

  6. Clique em Concluído.

  7. Clique em provisionamento e digite o seguinte:

    • Em URL Base de provisionamento, insira a URL SCIM que você copiou do Databricks.

    • Em provisionamento API tokenss, insira os tokens SCIM que você copiou do Databricks.

  8. Clique em Testar credenciais da API, verifique se a conexão foi bem-sucedida e clique em Salvar.

  9. Recarregue a tab provisionamento . Configurações adicionais aparecem após um teste bem-sucedido das credenciais da API.

  10. Para configurar o comportamento ao enviar alterações do Okta para Databricks, clique em provisionamento para App.

    • Clique em Editar. Habilite os recursos que você precisa. Databricks recomenda habilitar criar usuários, atualizar atributos de usuário e desativar usuários.

    • Em mapeamentos de atributos do Databricks, verifique seus mapeamentos de atributos do Databricks. Esses mapeamentos dependerão das opções habilitadas acima. Você pode adicionar e editar mapeamentos para atender às suas necessidades. Consulte Mapear atributos do aplicativo na página de provisionamento na documentação do Okta.

  11. Para configurar o comportamento ao enviar alterações do Databricks para Okta, clique em To Okta. As configurações default funcionam bem para o provisionamento do Databricks. Se você deseja atualizar as configurações default e os mapeamentos de atributos, consulte provisionamento e desprovisionamento na documentação do Okta.

Teste a integração

Para testar a configuração, use o Okta para convidar um usuário para sua account do Databricks.

  1. No Okta, vá para Aplicativos e clique em Databricks.

  2. Clique em provisionamento.

  3. Clique em Atribuir e em Atribuir a pessoas.

  4. Pesquise um usuário Okta e clique em Atribuir.

  5. Confirme os detalhes do usuário, clique em Atribuir e voltar e, em seguida, clique em Concluído.

  6. log in no console da conta, clique em Icone de gerenciamento de usuários do console account Gerenciamento de usuários e confirme se o usuário foi adicionado.

Após este teste simples, você pode executar operações em massa conforme descrito em Use Okta para gerenciar usuários e grupos no Databricks

Configurar o provisionamento SCIM em nível de espaço de trabalho usando o Okta (legado)

Visualização

Este recurso está em visualização pública.

Esta seção descreve como configurar o provisionamento do Okta diretamente para workspace do Databricks.

Obtenha os tokens de API e a URL SCIM no Databricks

  1. Como administrador workspace do Databricks, gere um access token pessoal. Consulte Gerenciamento de tokens. Armazene o access token pessoal em um local seguro.

    Importante

    O usuário que possui esses access tokens pessoal não deve ser gerenciado dentro do Okta. Caso contrário, remover o usuário do Okta interromperia a integração do SCIM.

  2. Anote o seguinte URL, necessário para configurar o Okta:

    https://<databricks-instance>/api/2.0/preview/scim/v2

    Substitua <databricks-instance> pela URL do espaço de trabalho de sua implantação do Databricks. Consulte Obter identificadores para objetos de espaço de trabalho.

Mantenha esta tab do navegador aberta.

Configure o provisionamento SCIM no aplicativo SAML Databricks no Okta

  1. Vá para Aplicativos e clique em Databricks.

  2. Clique em provisionamento. Digite as seguintes informações obtidas na seção acima:

    • URL base de provisionamento: o endpoint de provisionamento

    • Provisionamento API Token: os access tokenspessoal

  3. Clique em Testar credenciais da API.

  4. Recarregue a tab provisionamento . Configurações adicionais aparecem após um teste bem-sucedido das credenciais da API.

  5. Para configurar o comportamento ao enviar alterações do Okta para Databricks, clique em To App.

    • Em Geral, clique em Editar. Habilite os recursos que você precisa. Databricks recomenda habilitar Criar usuários no mínimo.

    • Em mapeamentos de atributos do Databricks, verifique seus mapeamentos de atributos do Databricks. Esses mapeamentos dependerão das opções habilitadas acima. Você pode adicionar e editar mapeamentos para atender às suas necessidades. Consulte Mapear atributos do aplicativo na página de provisionamento na documentação do Okta.

  6. Para configurar o comportamento ao enviar alterações do Databricks para Okta, clique em To Okta. As configurações default funcionam bem para o provisionamento do Databricks. Se você deseja atualizar as configurações default e os mapeamentos de atributos, consulte provisionamento e desprovisionamento na documentação do Okta.

Teste a integração

Para testar a configuração, use Okta para convidar um usuário para seu workspace do Databricks.

  1. No Okta, vá para Aplicativos e clique em Databricks.

  2. Clique em provisionamento.

  3. Clique em Atribuir e em Atribuir a pessoas.

  4. Pesquise um usuário Okta e clique em Atribuir.

  5. Confirme os detalhes do usuário, clique em Atribuir e volte. Clique em Concluído.

  6. Na workspace página de configurações de administração do Databricks, clique Identidade e acesso tab, vá para a seção Usuários e confirme se o usuário foi adicionado. No mínimo, conceda ao usuário o direito ao workspace .

Após este teste simples, você pode executar operações em massa, conforme descrito nas seções a seguir.

Use o Okta para gerenciar usuários e grupos no Databricks

Esta seção descreve as operações em massa que você pode executar usando o provisionamento Okta SCIM para sua account ou workspace do Databricks.

Importar usuários do espaço de trabalho Databricks para Okta

Para importar usuários do Databricks para o Okta, vá para a guia Importar e clique em Importar agora. Você é solicitado a revisar e confirmar as atribuições de todos os usuários que não correspondam automaticamente aos usuários existentes do Okta por endereço de email .

Adicionar atribuições de usuários e grupos à sua conta Databricks

Para verificar ou adicionar atribuições de usuário e grupo, vá para a tab Atribuições . Databricks recomenda adicionar o grupo Okta chamado Todos ao aplicativo de provisionamento SCIM em nível de account . Isso sincroniza todos os usuários em sua organização com a account do Databricks.

Enviar grupos para Databricks

Para enviar grupos de Okta para Databricks, vá para a guia Grupos de envio . Os usuários que já existem no Databricks são correspondidos por endereço de email.

Excluir um usuário ou grupo da conta

Se você excluir um usuário do aplicativo Databricks em nível de accountno Okta, o usuário será excluído na account Databricks e perderá o acesso a todos os workspace, independentemente de esses workspace estarem ou não habilitados para federação de identidade.

Se você excluir um grupo do aplicativo Databricks no nível accountno Okta, todos os usuários desse grupo serão excluídos da account e perderão acesso a qualquer workspace ao qual tiveram acesso (a menos que sejam membros de outro grupo ou tenham recebido acesso direto a a account ou qualquer workspace). A Databricks recomenda que você evite excluir grupos no nível account , a menos que queira que eles percam o acesso a todos os workspace da account.

Esteja ciente das seguintes consequências da exclusão de usuários:

  • Aplicativos ou scripts que usam os tokens gerados pelo usuário não podem mais acessar APIs do Databricks

    • Jobs pertencentes ao usuário falham

    • clusters pertencentes ao usuário param

    • query ou painéis criados pelo usuário e compartilhados usando a credencial de execução como Proprietário devem ser atribuídos a um novo proprietário para evitar falhas no compartilhamento

Excluir um usuário desativado do espaço de trabalho

Se você excluir um usuário do aplicativo Databricks no nível workspaceno Okta, o usuário será desativado no workspace do Databricks, mas não será removido do workspace. Um usuário desativado não possui o direito workspace-access ou databricks-sql-access . A reativação de um usuário desativado é reversível, adicionando novamente o usuário no Okta ou usando a API Databricks SCIM diretamente. A remoção de um usuário de um workspace do Databricks é prejudicial e irreversível.

Importante

Não desative o administrador que configurou o aplicativo de provisionamento Okta SCIM. Caso contrário, a integração do SCIM não poderá ser autenticada no Databricks.

Para remover um usuário de um workspace Databricks:

  1. Na página de configurações do administrador, vá para a tab Usuários .

  2. Clique no x no final da linha para o usuário.

Esteja ciente das seguintes consequências de remover o usuário:

  • Aplicativos ou scripts que usam os tokens gerados pelo usuário não poderão mais acessar a API Databricks

  • Os trabalhos pertencentes ao usuário falharão

  • Os clusters pertencentes ao usuário serão interrompidos

  • query ou painéis criados pelo usuário e compartilhados usando a credencial de execução como proprietário terão que ser atribuídos a um novo proprietário para evitar falhas no compartilhamento

Use Okta para gerenciar administradores de espaço de trabalho, direitos e IAM role

O Databricks oferece suporte à atribuição de administradores workspace , IAM role e direitos workspace de aplicativos Databricks no nível workspaceno Okta. A atribuição de funções e direitos não tem suporte no aplicativo Databricks em nível de accountno Okta. Se você deseja atribuir direitos de função e workspace IAM role do Okta, deve criar um aplicativo Databricks no nível workspaceno Okta para esse workspace.

Databricks recomenda que você use um aplicativo Databricks em nível de accountno Okta para usuários de provisionamento, entidade de serviço e grupos para o nível account . Você atribui usuários e grupos ao workspace usando federação de identidade e gerencia seus direitos e IAM role no Databricks.

Sincronizar administradores do espaço de trabalho

O Databricks oferece suporte à atribuição da função de administrador do workspace do aplicativo Databricks no nível workspaceno Okta. os administradores workspace são membros do grupo Databricks admins. Os grupos do Databricks são enviados automaticamente para o Okta. Para adicionar um novo usuário administrador no Okta, adicione esse usuário ao grupo admins .

Importante

Não remova o administrador que configurou o aplicativo de provisionamento Okta SCIM e não o remova do grupo admins . Caso contrário, a integração do SCIM não poderá ser autenticada no Databricks.

Atribuir direitos de área de trabalho do Okta

O Databricks oferece suporte à atribuição de direitos do aplicativo Databricks no nível workspaceno Okta. No entanto, na maioria dos casos, o Databricks recomenda o gerenciamento de direitos de dentro do Databricks. No Databricks, você pode facilmente atribuir ou revogar um direito. Configurar os mapeamentos no Okta é complexo e você deve configurar dois mapeamentos para cada direito.

Esta seção descreve como configurar os mapeamentos para conceder o direito databricks-sql-access a um usuário Okta.

Importante

Por default, os usuários do Databricks herdam os direitos workspace-access e databricks-sql-access. Por default, os usuários administradores do Databricks herdam o direito create-cluster. Você não precisa atribuir esses direitos herdados do Okta.

Para revogar um direito herdado de um usuário, remova o usuário do grupo ou remova o direito do grupo. Para remover um direito, você deve usar o console de administração do Databricks.

Para atribuir o direito databricks-sql-access :

  1. No console de administração do Okta, vá para Diretório > Editor de perfil.

  2. Clique no botão Editar perfil para o perfil de usuário do Okta.

  3. Clique no botão + Adicionar atributo para adicionar uma função.

  4. Na caixa de diálogo Adicionar atributo, defina o nome de exibição como Databricks SQL e o nome da variável como databricks_sql.

    Observação

    Variáveis Okta não podem conter o caractere hífen (-).

  5. Retorne ao Editor de perfil e clique no botão Editar perfil para o perfil de usuário do aplicativo de provisionamento Databricks.

  6. Clique no botão + Adicionar atributo para adicionar uma função.

  7. Na caixa de diálogo Adicionar atributo, forneça os seguintes valores ao atributo de função:

    • Nome de exibição: Databricks SQL

    • Nome da variável: databricks_sql

    • Nome externo no formato entitlements.^[type==‘$TYPE’].value. $TYPE é o nome da API do direito sem traços (-). Por exemplo, o nome externo de databricks-sql-access é entitlements.^[type=='databrickssqlaccess'].value.

    Importante

    No formato Nome Externo, você deve usar caracteres de apóstrofe ('). Se você usar aspas curvas (), ocorrerá um erro Request is unparseable .

    • Namespace externo: urn:ietf:params:scim:schemas:core:2.0:User.

    adicionar atributo de função Databricks
  8. Retorne ao Editor de perfil e clique no botão Editar mapeamentos para o perfil de usuário do aplicativo de provisionamento Databricks.

  9. Para Databricks para Okta, mapeie appuser.databricks_sql na coluna Databricks para databricks_sql na coluna Okta.

  10. Para Okta para Databricks, mapeie user.databricks_sql na coluna Databricks para databricks_sql na coluna Okta.

  11. Clique em Salvar mapeamentos.

  12. Para adicionar um valor de direito a um usuário, vá para Diretório > Pessoas, selecione um usuário e vá para a tab Perfil na página do usuário.

    Clique no botão Editar . No campo do direito, insira o nome da API do direito sem hífens, como databrickssqlaccess. Quando você atribui o usuário ao aplicativo, a função é preenchida com o valor inserido.

Repita este procedimento para atribuir direitos adicionais.

Atribuir IAM role do Okta

Para atribuir IAM role aos usuários do Okta, você deve criar um atributo de vários valores no perfil do usuário Okta e no perfil do aplicativo de provisionamento Okta Databricks e, em seguida, mapear esses atributos para atributos na API Databricks SCIM. Por exemplo, se você deseja atribuir duas IAM role a um usuário, deve criar dois atributos no aplicativo de provisionamento Databricks e mapear um atributo de usuário Okta para cada um.

O Databricks recomenda o gerenciamento de atribuições IAM role de dentro do Databricks. No Databricks, você pode facilmente atribuir ou revogar uma IAM role. Configurar os mapeamentos no Okta é complexo e você deve configurar mapeamentos separados para cada IAM role.

As instruções a seguir atribuem o atributo primary_role .

  1. No console de administração do Okta, vá para Diretório > Editor de perfil.

  2. Clique no botão Editar perfil para o perfil de usuário do Okta.

  3. Clique no botão + Adicionar atributo para adicionar uma função.

  4. Na caixa de diálogo Adicionar atributo, defina Nome de exibição como Primary role e Nome da variável como primary_role.

    adicionar atributo de função okta
  5. Retorne ao Editor de perfil e clique no botão Editar perfil para o perfil de usuário do aplicativo de provisionamento Databricks.

  6. Clique no botão + Adicionar atributo para adicionar uma função.

  7. Na caixa de diálogo Adicionar atributo, forneça os seguintes valores ao atributo de função:

    Nome de exibição: Primary role

    Nome da variável: primary_role

    Nome externo no formato roles.^[type=='$TYPE'].value, em que $TYPE é uma strings que descreve a função; neste caso, se $TYPE fosse primary, o nome externo seria funções.^[type=='primary'].value.

    Importante

    No formato Nome Externo, você deve usar caracteres de apóstrofe ('). Se você usar aspas curvas (), ocorrerá um erro Request is unparseable .

    Namespace externo: urn:ietf:params:scim:schemas:core:2.0:User.

    adicionar atributo de função Databricks
  8. Retorne ao Editor de perfil e clique no botão Editar mapeamentos para o perfil de usuário do aplicativo de provisionamento Databricks.

  9. Para Databricks para Okta, mapeie appuser.primary_role na coluna Databricks para primary_role na coluna Okta.

  10. Para Okta para Databricks, mapeie user.primary_role na coluna Databricks para primary_role na coluna Okta.

  11. Clique em Salvar mapeamentos.

  12. Para adicionar um valor de atributo de função a um usuário, vá para Diretório > Pessoas, selecione um usuário e vá para a tab Perfil na página do usuário.

    Clique no botão Editar para inserir um valor de função Primária para o usuário. Quando você atribui o usuário ao aplicativo, a função é preenchida com o valor inserido.

Repita este procedimento para atribuir funções adicionais.

Limitações

  • A remoção de um usuário do aplicativo Okta no nível workspacedesativa o usuário no Databricks, em vez de excluir o usuário. Você deve excluir o usuário do Databricks diretamente.

  • Você pode reativar um usuário desativado removendo e adicionando-o novamente ao Okta, com exatamente o mesmo endereço email .

Solução de problemas e dicas

  • Os usuários sem nome ou sobrenome em seus perfis do Databricks não podem ser importados para o Okta como novos usuários.

  • Usuários que existiam no Databricks antes da configuração de provisionamento:

    • São vinculados automaticamente a um usuário do Okta se já existirem no Okta e forem correspondidos com base no endereço email (nome de usuário).

    • Pode ser vinculado manualmente a um usuário existente ou criado como um novo usuário no Okta se eles não forem correspondidos automaticamente.

  • As permissões do usuário que são atribuídas individualmente e duplicadas por meio da associação em um grupo permanecem depois que a associação ao grupo é removida para o usuário.

  • Os usuários removidos de um workspace do Databricks perdem o acesso a esse workspace, mas ainda podem ter acesso a outro workspace do Databricks.

  • O grupo admins é um grupo reservado no Databricks e não pode ser removido.

  • Você não pode renomear grupos no Databricks; não tente renomeá-los no Okta.

  • Você pode usar a API de grupos do Databricks ou a interface do usuário de grupos para obter uma lista de membros de qualquer grupo no nível do espaço de trabalho do Databricks.

  • Você não pode atualizar nomes de usuário e endereços de email do Databricks.