Configurar o provisionamento SCIM para o 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.

O senhor pode configurar o provisionamento no nível Databricks account ou no nível Databricks workspace .

Databricks recomenda que o senhor provisione usuários, entidades de serviço e grupos no nível account e atribua usuários e grupos ao espaço de trabalho usando a federação de identidade. Se o senhor tiver algum espaço de trabalho não habilitado para a federação de identidade, deverá continuar a provisionar usuários, entidades de serviço e grupos diretamente para esse espaço de trabalho.

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

Para que um usuário possa acessar log in usando o Okta, o senhor deve configurar o logon único do Okta para Databricks. Consulte Configurar SSO em Databricks.

recurso

Databricks está disponível como um aplicativo de provisionamento na Rede de Integração Okta (OIN), permitindo que o senhor use o Okta para provisionar usuários e grupos com o Databricks automaticamente.

O aplicativo Okta da Databricks permite que o senhor:

  • 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 associação a grupos

  • Atualizar e gerenciar perfis

Requisitos

  • Sua account Databricks deve ter o plano Premium ouacima.

  • O senhor deve ser um usuário desenvolvedor do Okta.

  • Para configurar o provisionamento para seu Databricks account, o senhor deve ser um administrador do Databricks account .

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

Configurar o provisionamento SCIM em nível de conta usando o Okta

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

Obtenha os tokens SCIM e o URL account SCIM em Databricks

  1. account log in Como Databricks account administrador do , acesse o console .

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

    2. Clique em Provisionamento de usuários.

    3. Clique em Set up user provisioning (Configurar provisionamento de usuários).

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

Observação

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

Configurar o provisionamento SCIM no Okta

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

  2. Vá para Applications (Aplicativos ) e clique em Browse App Catalog (Navegar no catálogo de aplicativos).

  3. Procure a Databricks no Browse App Integration Catalog.

  4. Clique em Add integration (Adicionar integração).

  5. Em Add Databricks, configure o seguinte:

    • Em Application rótulo, digite um nome para o aplicativo.

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

    • Selecione Não exibir o ícone do aplicativo no aplicativo móvel Okta.

  6. Clique em Concluído.

  7. Clique em provisionamento e digite o seguinte:

    • Em Provisioning Base URL (URL da base de provisionamento), digite o URL do SCIM que o senhor copiou do Databricks.

    • Em provisionamento API tokens, insira os tokens SCIM que o senhor copiou de Databricks.

  8. Clique em Test API Credentials (Testar credenciais de API), verifique se a conexão foi bem-sucedida e clique em Save (Salvar).

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

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

    • Clique em Edit. Habilite o recurso de que o senhor precisa. A Databricks recomenda habilitar Create users (Criar usuários), Update user attributes (Atualizar atributos do usuário) e Deactivate users (Desativar usuários).

    • Em Databricks Attribute Mappings (Mapeamentos de atributos da Databricks), verifique seus mapeamentos de atributos da Databricks. Esses mapeamentos dependerão das opções que o senhor habilitou acima. O senhor 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 as alterações do Databricks para o Okta, clique em To Okta. As configurações do default funcionam bem para o provisionamento do Databricks. Se o senhor quiser atualizar as configurações do default e os mapeamentos de atributos, consulte provisionamento e desprovisionamento na documentação do Okta.

Testar a integração

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

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

  2. Clique em provisionamento.

  3. Clique em Assign e depois em Assign to people.

  4. Procure um usuário Okta e clique em Assign (Atribuir).

  5. Confirme os detalhes do usuário, clique em Assign and go back (Atribuir e voltar) e, em seguida, clique em Done (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 esse teste simples, o senhor pode realizar operações em massa, conforme descrito em Use o Okta para gerenciar usuários e grupos em 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 o espaço de trabalho Databricks.

Obtenha os tokens API e o URL SCIM em Databricks

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

    Importante

    O usuário que possui esse access token pessoal não pode estar gerenciando dentro do Okta. Caso contrário, a remoção do usuário do Okta interromperia a integração do SCIM.

  2. Anote o URL a seguir, que é necessário para configurar o Okta:

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

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

Manter esta guia do navegador aberta.

Configurar o provisionamento SCIM no aplicativo SAML da Databricks no Okta

  1. Vá para Aplicativos e clique em Databricks.

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

    • provisionamento Base URL: o provisionamento endpoint

    • Provisionamento API Token: os access tokenspessoal

  3. Clique em Testar credenciais de API.

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

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

    • Em General ( Geral), clique em Edit (Editar). Habilite o recurso de que o senhor precisa. A Databricks recomenda habilitar, no mínimo, o Create users.

    • Em Databricks Attribute Mappings (Mapeamentos de atributos da Databricks), verifique seus mapeamentos de atributos da Databricks. Esses mapeamentos dependerão das opções que o senhor habilitou acima. O senhor 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 as alterações do Databricks para o Okta, clique em To Okta. As configurações do default funcionam bem para o provisionamento do Databricks. Se o senhor quiser atualizar as configurações do default e os mapeamentos de atributos, consulte provisionamento e desprovisionamento na documentação do Okta.

Testar a integração

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

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

  2. Clique em Assign tab e, em seguida, em Assign to people.

  3. Procure um usuário Okta e clique em Assign (Atribuir).

  4. Confirme os detalhes do usuário. Clique em Done (Concluído).

  5. Na página de configurações de administração Databricks workspace , clique em Identity and access tab e, em seguida, vá para a seção Users (Usuários ) e confirme se o usuário foi adicionado. No mínimo, conceda ao usuário o direito de workspace.

Após esse teste simples, o senhor pode realizar 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 podem ser realizadas usando o Okta SCIM provisionamento para o seu Databricks account ou espaço de trabalho.

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

Para importar usuários do Databricks para o Okta, acesse Import tab e clique em Import Now (Importar agora). Será solicitado que o senhor revise e confirme as atribuições de todos os usuários que não forem automaticamente associados aos usuários existentes do Okta pelo endereço email.

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

Para verificar ou adicionar atribuições de usuários e grupos, acesse Assignments (Atribuições ) tab. Databricks recomenda adicionar o grupo Okta chamado Everyone ao aplicativo de provisionamento account-level SCIM. Isso sincroniza todos os usuários da sua organização com o site Databricks account.

Enviar grupos para o Databricks

Para enviar grupos do Okta para Databricks, acesse Push Groups tab. Os usuários que já existem em Databricks são correspondidos pelo endereço email.

Excluir um usuário ou grupo da conta

Se o senhor excluir um usuário do aplicativo account-level Databricks no Okta, o usuário será excluído no Databricks account e perderá o acesso a todos os espaços de trabalho, estejam eles habilitados ou não para a federação de identidade.

Se o senhor excluir um grupo do aplicativo account-level Databricks no Okta, todos os usuários desse grupo serão excluídos do account e perderão o acesso a qualquer espaço de trabalho ao qual tinham acesso (a menos que sejam membros de outro grupo ou tenham recebido acesso direto ao account ou a qualquer espaço de trabalho). Databricks Recomenda que o senhor não exclua os grupos de nível account, a menos que queira que eles percam o acesso a todos os espaços de trabalho no account.

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

  • Os aplicativos ou scripts que utilizam os tokens gerados pelo usuário não poderão mais acessar APIs do Databricks

    • Os jobs pertencentes ao usuário não vão funcionar

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

    • As consultas ou os painéis criados pelo usuário e compartilhados com a credencial Executar como proprietário terão que ser atribuídos a outro proprietário para evitar falha no compartilhamento

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

Se o senhor excluir um usuário do aplicativo workspace-level Databricks no Okta, o usuário será desativado no Databricks workspace , mas não será removido do workspace. Um usuário desativado não tem o direito workspace-access ou databricks-sql-access. A reativação de um usuário desativado é reversível, seja adicionando novamente o usuário no Okta ou usando diretamente a API SCIM da Databricks. A remoção de um usuário de um site Databricks workspace é disruptiva e não reversí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á se autenticar no Databricks.

Para remover um usuário de um site Databricks workspace:

  1. Na página de configurações do administrador, acesse Users (Usuários ) tab.

  2. Clique no x no final da linha do usuário.

Esteja ciente das seguintes consequências da remoção do usuário:

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

  • Os trabalhos pertencentes ao usuário falharão

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

  • As consultas ou painéis criados pelo usuário e compartilhados usando a credencial Executar como proprietário deverão ser atribuídos a um novo proprietário para evitar que o compartilhamento falhe

Use o Okta para gerenciar workspace admins, entitlements e funções de IAM

Databricks suporta a atribuição de workspace admins, função IAM e workspace direitos de workspace-level Databricks aplicativos no Okta. A atribuição de funções e direitos não é compatível com o aplicativo account-level Databricks no Okta. Se o senhor quiser atribuir a função IAM e workspace os direitos do Okta, deverá criar um workspaceaplicativo de nível Databricks no Okta para esse workspace.

Databricks recomenda que,account Databricks em vez disso, o senhor use um aplicativo de nível no Okta para provisionar usuários, entidades de serviço e grupos no account nível . O senhor atribui usuários e grupos ao espaço de trabalho usando a federação de identidade e gerencia seus direitos e funções de IAM em Databricks.

Sincronizar os administradores do workspace

Databricks suporta a atribuição da workspace função de administrador a partir do aplicativo de workspacenível Databricks no Okta. workspace Os administradores são membros do grupo Databricks admins. Os grupos do Databricks são automaticamente enviados 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á se autenticar no Databricks.

Atribuir direitos de workspace a partir do Okta

Databricks oferece suporte à atribuição de direitos do aplicativo workspace-level Databricks no Okta. No entanto, na maioria dos casos, a Databricks recomenda gerenciar os direitos de dentro da Databricks. Na Databricks, o senhor pode facilmente atribuir ou revogar um direito. A configuração dos mapeamentos no Okta é complexa, e o senhor 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

Em default, os usuários de Databricks herdam os direitos workspace-access e databricks-sql-access. Em default, os usuários administradores de Databricks herdam o direito create-cluster. O senhor 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, o senhor 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 Directory > Profile Editor.

  2. Clique no botão de edição de perfil do perfil de usuário do Okta.

  3. Clique no botão + Add Attribute (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

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

  5. Volte ao Profile Editor e clique no botão Profile edit (Editar perfil ) do perfil de usuário do aplicativo de provisionamento Databricks.

  6. Clique no botão + Add Attribute (Adicionar atributo ) para adicionar uma função.

  7. Na caixa de diálogo Add Attribute (Adicionar atributo), dê ao atributo de função os seguintes valores:

    • 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 External Name, o senhor deve usar caracteres de apóstrofo ('). Se o senhor usar caracteres de 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 Profile Editor e clique no botão de edição Mappings (Mapeamentos ) do perfil de usuário do aplicativo de provisionamento Databricks.

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

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

  11. Clique em Save Mappings (Salvar mapeamentos).

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

    Clique no botão Edit (Editar ). No campo para o direito, digite o nome da API do direito sem traços, como databrickssqlaccess. Quando o usuário é atribuído ao aplicativo, a função é preenchida com o valor que o usuário inseriu.

Repita esse procedimento para atribuir direitos adicionais.

Atribuir função de IAM a partir do Okta

Para atribuir uma função de IAM a usuários do Okta, o senhor deve criar um atributo de vários valores no perfil do usuário do Okta e no perfil do aplicativo de provisionamento do Okta Databricks e, em seguida, mapear esses atributos para atributos no Databricks SCIM API. Por exemplo, se quiser atribuir duas funções IAM a um usuário, o senhor deverá criar dois atributos no aplicativo de provisionamento Databricks e mapear um atributo de usuário Okta para cada um deles.

Databricks recomenda gerenciar as atribuições do site IAM role em Databricks. Em Databricks, o senhor pode facilmente atribuir ou revogar um IAM role. A configuração dos mapeamentos no Okta é complexa, e o senhor 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 Directory > Profile Editor.

  2. Clique no botão de edição de perfil do perfil de usuário do Okta.

  3. Clique no botão + Add Attribute (Adicionar atributo ) para adicionar uma função.

  4. Na caixa de diálogo Add Attribute (Adicionar atributo), defina Display name (Nome de exibição ) como Primary role e Variable name (Nome da variável ) como primary_role.

    adicionar atributo de função okta
  5. Volte ao Profile Editor e clique no botão Profile edit (Editar perfil ) do perfil de usuário do aplicativo de provisionamento Databricks.

  6. Clique no botão + Add Attribute (Adicionar atributo ) para adicionar uma função.

  7. Na caixa de diálogo Add Attribute (Adicionar atributo), dê ao atributo de função os seguintes valores:

    Nome de exibição: Primary role

    Nome da variável: primary_role

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

    Importante

    No formato External Name, o senhor deve usar caracteres de apóstrofo ('). Se o senhor usar caracteres de 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 Profile Editor e clique no botão de edição Mappings (Mapeamentos ) do perfil de usuário do aplicativo de provisionamento Databricks.

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

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

  11. Clique em Save Mappings (Salvar mapeamentos).

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

    Clique no botão Edit (Editar ) para inserir um valor de função primária para o usuário. Quando o usuário é atribuído ao aplicativo, a função é preenchida com o valor que o usuário inseriu.

Repita esse procedimento para atribuir funções adicionais.

Limitações

  • A remoção de um usuário do aplicativo Okta de nível workspacedesativa o usuário em Databricks, em vez de excluí-lo. O senhor deve excluir o usuário diretamente do Databricks.

  • O senhor pode reativar um usuário desativado removendo-o e adicionando-o novamente ao Okta, exatamente com 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 do provisionamento:

    • São automaticamente vinculados a um usuário do Okta se já existirem no Okta e são combinados 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 não for correspondido automaticamente.

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

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

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

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

  • O senhor pode usar a API do Databricks Groups ou a UI do Groups para obter uma lista de membros de qualquer grupo no nível do espaço de trabalho do Databricks.

  • O senhor não pode atualizar os nomes de usuário Databricks e os endereços email.