Pular para o conteúdo principal

Criar um local externo com configuração automatizada

Esta página descreve como conectar-se a um bucket AWS S3 no Databricks. Ao usar esta configuração automatizada, o Databricks provisiona tanto os recursos de cloud em sua account AWS quanto os objetos protegíveis em sua account Databricks para representá-los. Este é o método recomendado para a maioria das implantações e oferece fluxos de trabalho de aprovação integrados para usuários que precisam de autorização de administrador da AWS.

Ao usar a configuração automatizada, o Databricks provisiona os recursos de cloud em sua account AWS e os objetos protegíveis em sua account Databricks que os representam.

Em sua account da AWS, os seguintes recursos são provisionados:

  • IAM role com uma política de acesso de privilégio mínimo delimitada ao seu bucket e nível de acesso especificados
  • Política de confiança entre contas configurada corretamente para o IAM role entre contas do Databricks

Em sua account do Databricks, os seguintes objetos de configuração são criados:

  • Uma credencial de armazenamento que representa o IAM role usado para acessar o bucket S3.
  • Um local externo registrado no Unity Catalog, mapeado para seu bucket especificado. O Auto Loader e os Eventos de Arquivo são habilitados automaticamente.

A configuração automatizada usa delegação temporária do AWS IAM para configurar automaticamente a configuração para seu local externo e provisionar todos os recursos necessários. Todas as ações automatizadas são registradas no AWS CloudTrail. Após a conclusão da configuração, a autorização de delegação temporária expira automaticamente. Databricks não retém acesso permanente à sua conta da AWS.

Antes de começar

  • Seu bucket S3 já deve existir em sua conta AWS.
  • Não use notação de ponto em nomes de bucket S3 (por exemplo, incorrect.bucket.name.notation).
  • Os caminhos de localização externa devem usar apenas caracteres ASCII padrão.
  • Seu bucket não pode ter listas de controle de acesso S3 (ACLs) habilitadas.
  • Evite conflitos de caminho com caminhos registrados em outros metastores para evitar problemas de consistência de gravação.

Você deve ter pelo menos uma das seguintes permissões do Databricks:

  • Administrador do workspace
  • Administrador do Metastore
  • Administrador de account com acesso ao Workspace
  • CREATE STORAGE CREDENTIAL e CREATE EXTERNAL LOCATION privilégios no metastore (não-administrador)

Você não precisa de permissões AWS IAM para iniciar a configuração. Se você tiver permissões AWS suficientes, você pode aprovar a solicitação de delegação diretamente. Se você não tiver, você pode solicitar a aprovação de seu administrador AWS no fluxo de configuração.

Administradores AWS precisam da permissão iam:AcceptDelegationRequest no AWS IAM para aprovar solicitações de delegação temporária. Consulte Aprovar solicitações como administrador.

Criar o local externo

  1. Na barra lateral, clique em Ícone de dados. Catálogo .
  2. Clique em Conectar > Locais externos .
  3. Clique em **Criar local externo**.
  4. Selecione **Configurar Automaticamente**, e clique em **Avançar**.
  5. Para **Nome da localização externa**, insira um nome para a localização externa a ser criada.
  6. Para o **URL do bucket S3**, insira o caminho S3 para seu bucket. Se você selecionar **Limitar ao uso somente leitura**, o Databricks pode ler apenas do bucket. Caso contrário, o Databricks pode ler e gravar no bucket.

A caixa de diálogo "Configurar Automaticamente" para criar um local externo S3.

  1. Clique em Faça login no AWS e crie um local externo .

  2. Na caixa de diálogo Revisar Recursos da AWS , confirme os recursos que serão criados em sua account AWS. Clique em Iniciar a criação de local externo .

  3. Em uma nova janela, a Databricks solicita que você faça log in na AWS para verificar suas permissões.

    • Se você tiver permissões suficientes da AWS, analise e aprove a solicitação de delegação temporária clicando em Permitir acesso . A Databricks procede automaticamente.
    • Se você não tiver permissões da AWS suficientes, será solicitado que você solicite aprovação do seu administrador da AWS ao clicar em **Solicitar aprovação**. Na próxima tela, adicione uma nota de **Justificativa comercial** antes de clicar em **Solicitar aprovação**. A AWS fornece um Link e uma ID de solicitação que você pode compartilhar com seu administrador da AWS para aprovação.

    Link fornecido pela AWS e ID da solicitação para solicitações de delegação temporária

    Você pode fechar a janela enquanto espera seu administrador aprovar a solicitação. Para aprovar uma solicitação como um administrador AWS, consulte Aprovar solicitações como administrador.

  4. Enquanto aguarda, o local pendente é listado em Locais pendentes . Consulte Visualizar status do local externo.

Localizações externas pendentes

  1. Após a solicitação de delegação ser aprovada, o diálogo de configuração mostra a confirmação da aprovação.

Solicitação de delegação temporária aprovada

  1. O Databricks provisiona todos os recursos necessários. Isso pode levar até oito minutos. Quando o provisionamento estiver concluído, o local externo aparecerá em **Locais existentes**.

Visualizar o status da localização externa

Após criar o local externo, é possível acompanhar seu status na tab Locais pendentes em Catalog Explorer > Dados Externos > Locais Externos . A configuração pode levar até oito minutos. Os possíveis status incluem:

  • Aguardando aprovação : Sua solicitação de acesso temporário à AWS está aguardando a aprovação do seu administrador da AWS. Após a aprovação, o Databricks retoma a configuração automaticamente.
  • Disponível : A configuração foi bem-sucedida. O local externo está pronto para uso.
  • Falha : A configuração encontrou um problema. Cenários comuns incluem:
    • A solicitação de delegação expirou porque nenhuma ação foi tomada dentro de sete dias. Repetir a configuração para gerar uma nova solicitação de delegação.
    • Seu administrador da AWS recusou a solicitação de delegação. Revise os requisitos de permissão com seu administrador e tente novamente.
    • Para outras falhas, clique no local externo para exibir uma mensagem de erro detalhada.

Verificar o local externo

Após a configuração, valide se o Databricks pode acessar seu bucket:

  1. No **Catalog Explorer**, clique em **Conectar** > **Locais externos**.
  2. Clique no local externo que você criou.
  3. Clique em Testar conexão .
  4. Opcionalmente, vincule o local externo a workspaces específicos. Consulte Atribuir um local externo a workspaces específicos.
  5. Conceda privilégios a usuários e grupos conforme necessário. Privilégios comuns incluem CREATE EXTERNAL TABLE, CREATE EXTERNAL VOLUME e CREATE MANAGED LOCATION.

Aprovar solicitações como administrador

Quando um usuário sem permissões suficientes da AWS inicia a configuração automatizada, o Databricks envia uma solicitação de delegação temporária para sua conta AWS. Todas as solicitações aparecem na tab Solicitações de delegação temporária do console IAM da AWS, onde um administrador pode analisá-las e agir sobre elas. Cada solicitação expira após sete dias se nenhuma ação for tomada.

A aprovação de uma solicitação de delegação temporária requer a permissão iam:AcceptDelegationRequest no AWS IAM.

Para aprovar uma solicitação, abra a tab Solicitações de delegação temporária no console IAM e selecione a solicitação. Analise os detalhes da solicitação, incluindo o solicitante, a justificativa comercial, o caminho do bucket S3 de destino e a duração de acesso solicitada, em seguida, clique em Aprovar . Para negar a solicitação em vez disso, clique em Rejeitar . Depois de aprovar a solicitação, o Databricks retoma a configuração de local externo automaticamente.

Aprovar uma solicitação de delegação temporária como um administrador da AWS