Solução de problemas do Lake Formation - AWS Lake Formation

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Solução de problemas do Lake Formation

Se você encontrar problemas ao trabalhar com o AWS Lake Formation, consulte os tópicos desta seção.

Solução de problemas gerais

Use as informações aqui para ajudá-lo a diagnosticar e corrigir vários problemas do Lake Formation.

Erro: permissões insuficientes do Lake Formation em <Amazon S3 location>

Foi feita uma tentativa de criar ou alterar um recurso do catálogo de dados sem permissões de localização de dados na localização do Amazon S3 apontada pelo recurso.

Se um banco de dados ou tabela do Data Catalog apontar para uma localização do Amazon S3, ao conceder as permissões do Lake Formation CREATE_TABLE ou ALTER, você também deverá conceder a permissão DATA_LOCATION_ACCESS no local. Ao conceder permissões a contas ou organizações externas, é necessário incluir a opção de concessão.

Depois que essas permissões forem concedidas a uma conta externa, o administrador do data lake dessa conta deverá conceder as permissões às entidades principais (usuários ou funções) na conta. Ao conceder a DATA_LOCATION_ACCESS permissão recebida de outra conta, você deve especificar a ID do catálogo (ID da AWS conta) da conta do proprietário. A conta do proprietário é a conta que registrou o local.

Para ter mais informações, consulte Controle de acesso a dados subjacente e Conceder permissões de localização de dados.

Erro: “Permissões de chave de criptografia insuficientes para GlueAPI”

Foi feita uma tentativa de conceder permissões ao Lake Formation sem as permissões AWS Identity and Access Management (IAM) na chave de AWS KMS criptografia para um catálogo de dados criptografado.

Minha consulta Amazon Athena ou do Amazon Redshift que usa manifestos está falhando

O Lake Formation não suporta consultas que usam manifestos.

Erro: "permissão(ões) do Lake Formation insuficiente(s): necessária a criação de tag no catálogo"

O usuário/função deve ser administrador do data lake.

Erro ao excluir administradores de data lake inválidos

Você deve excluir todos os administradores de data lake inválidos (IAMfunções excluídas que são definidas como administradores de data lake) simultaneamente. Se você tentar excluir separadamente administradores de data lake inválidos, o Lake Formation gerará um erro de entidade principal inválida.

Resolução de problemas de acesso entre contas

Use estas informações para ajudar a diagnosticar e corrigir problemas de acesso entre contas.

Eu concedi uma permissão para várias contas do Lake Formation, mas o destinatário não consegue ver o recurso

  • O usuário na conta do destinatário é administrador do data lake? Somente administradores de data lake podem ver o recurso no momento do compartilhamento.

  • Você está compartilhando com uma conta externa à sua organização usando o método de recurso nomeado? Nesse caso, o administrador do data lake da conta do destinatário deve aceitar um convite de compartilhamento de recursos em AWS Resource Access Manager (AWS RAM).

    Para obter mais informações, consulte Aceitando um convite de compartilhamento de recursos do AWS RAM.

  • Você está usando políticas de recursos em nível de conta (Catálogo de dados) no AWS Glue? Se sim, se você usar o método de recursos nomeados, deverá incluir uma declaração especial na política que autorize o compartilhamento AWS RAM de políticas em seu nome.

    Para obter mais informações, consulte Gerenciando permissões entre contas usando ambos AWS Glue e Lake Formation.

  • Você tem as permissões AWS Identity and Access Management (IAM) necessárias para conceder acesso entre contas?

    Para obter mais informações, consulte Pré-requisitos.

  • O recurso para o qual você concedeu permissões não deve ter nenhuma permissão do Lake Formation concedida ao grupo IAMAllowedPrincipals.

  • Há uma declaração deny sobre o recurso na política em nível de conta?

As entidades principais da conta do destinatário podem ver o recurso do catálogo de dados, mas não podem acessar os dados subjacentes

Os diretores da conta do destinatário devem ter as permissões necessárias AWS Identity and Access Management (IAM). Para obter detalhes, consulte Como acessar os dados subjacentes de uma tabela compartilhada.

Erro: “Falha na associação porque o chamador não foi autorizado” ao aceitar um convite de compartilhamento AWS RAM de recursos

Depois de conceder acesso a um recurso em uma conta diferente, quando a conta receptora tenta aceitar o convite de compartilhamento de recursos, a ação falha.

$ aws ram get-resource-share-associations --association-type PRINCIPAL --resource-share-arns arn:aws:ram:aws-region:444444444444:resource-share/e1d1f4ba-xxxx-xxxx-xxxx-xxxxxxxx5d8d { "resourceShareAssociations": [ { "resourceShareArn": "arn:aws:ram:aws-region:444444444444:resource-share/e1d1f4ba-xxxx-xxxx-xxxx-xxxxxxxx5d8d ", "resourceShareName": "LakeFormation-MMCC0XQBH3Y", "associatedEntity": "5815803XXXXX", "associationType": "PRINCIPAL", "status": "FAILED", "statusMessage": "Association failed because the caller was not authorized.", "creationTime": "2021-07-12T02:20:10.267000+00:00", "lastUpdatedTime": "2021-07-12T02:20:51.830000+00:00", "external": true } ] }

O erro ocorre porque o glue:PutResourcePolicy é invocado por AWS Glue quando a conta receptora aceita o convite de compartilhamento de recursos. Para resolver o problema, permita a ação glue:PutResourcePolicy pela função assumida usada pela conta do produtor/concedente.

Erro: “não autorizado a conceder permissões para o recurso”

Foi feita uma tentativa de conceder permissões entre contas em um banco de dados ou tabela pertencente a outra conta. Quando um banco de dados ou tabela é compartilhado com sua conta, como administrador do data lake, você pode conceder permissões sobre ele somente aos usuários da sua conta.

Erro: “Acesso negado para recuperar informações AWS da organização”

Sua conta é uma conta de gerenciamento da AWS Organizations e você não tem as permissões necessárias para recuperar informações da organização, como unidades organizacionais na conta.

Para obter mais informações, consulte Required permissions for cross-account grants.

Erro: “organização <organization-ID> não encontrada”

Foi feita uma tentativa de compartilhar um recurso com uma organização, mas o compartilhamento com organizações não está habilitado. Habilitar o compartilhamento de recursos com organizações.

Para obter mais informações, consulte Enable Sharing with AWS Organizations no Guia AWS RAM do Usuário.

Erro: "permissões insuficientes do Lake Formation: combinação ilegal"

Um usuário compartilhou um recurso do catálogo de dados enquanto as permissões do Lake Formation foram concedidas ao grupo IAMAllowedPrincipals para o recurso. O usuário deve revogar todas as permissões do Lake Formation de IAMAllowedPrincipals antes de compartilhar o recurso.

ConcurrentModificationException em solicitações de concessão/revogação para contas externas

Quando os usuários fazem várias solicitações simultâneas de concessão e/ou revogação de permissão para um diretor nas políticas de LF-Tag, o Lake Formation lança. ConcurrentModificationException Os usuários precisam capturar a exceção e tentar novamente a solicitação de concessão/revogação que falhou. Usando versões em lote das RevokePermissions API operaçõesGrantPermissions/- BatchGrantPermissionse BatchRevokePermissionsalivia esse problema até certo ponto, reduzindo o número de solicitações simultâneas de concessão/revogação.

Erro ao usar EMR a Amazon para acessar dados compartilhados por meio de contas cruzadas

Quando você usa EMR a Amazon para acessar dados compartilhados com você de outra conta, algumas bibliotecas do Spark tentarão chamar a Glue:GetUserDefinedFunctions API operação. Como as versões 1 e 2 das permissões AWS RAM gerenciadas não oferecem suporte a essa ação, você recebe a seguinte mensagem de erro:

"ERROR: User: arn:aws:sts::012345678901:assumed-role/my-spark-role/i-06ab8c2b59299508a is not authorized to perform: glue:GetUserDefinedFunctions on resource: arn:exampleCatalogResource because no resource-based policy allows the glue:GetUserDefinedFunctions action"

Para resolver esse erro, o administrador do data lake que criou o compartilhamento de recursos deve atualizar as permissões AWS RAM gerenciadas anexadas ao compartilhamento de recursos. A versão 3 das permissões gerenciadas pelo AWS RAM permite que as entidades principais executem a ação glue:GetUserDefinedFunctions.

Se você criar um novo compartilhamento de recursos, o Lake Formation aplicará a versão mais recente da permissão AWS RAM gerenciada por padrão, e nenhuma ação será exigida por você. Para habilitar o acesso a dados entre contas para compartilhamentos de recursos existentes, você precisa atualizar as permissões AWS RAM gerenciadas para a versão 3.

Você pode ver as AWS RAM permissões atribuídas aos recursos compartilhados com você em AWS RAM. As permissões incluídas na versão 3 são estas:

Databases AWSRAMPermissionGlueDatabaseReadWriteForCatalog AWSRAMPermissionGlueDatabaseReadWrite Tables AWSRAMPermissionGlueTableReadWriteForCatalog AWSRAMPermissionGlueTableReadWriteForDatabase AllTables AWSRAMPermissionGlueAllTablesReadWriteForCatalog AWSRAMPermissionGlueAllTablesReadWriteForDatabase
Para atualizar a versão de permissões AWS RAM gerenciadas dos compartilhamentos de recursos existentes

Você (administrador do data lake) pode atualizar as permissões AWS RAM gerenciadas para uma versão mais recente seguindo as instruções no Guia do AWS RAM usuário ou revogar todas as permissões existentes para o tipo de recurso e concedê-las novamente. Se você revogar as permissões, AWS RAM excluirá o compartilhamento AWS RAM de recursos associado ao tipo de recurso. Quando você concede permissões novamente, AWS RAM cria novos compartilhamentos de recursos anexando a versão mais recente das permissões AWS RAM gerenciadas.

Solução de problemas em esquemas e fluxos de trabalho

Use as informações contidas aqui para ajudar a diagnosticar e corrigir problemas no esquema e no fluxo de trabalho.

Meu plano falhou com “Usuário: <user- ARN > não está autorizado a executar: iam: PassRole on resource:<role- >” ARN

Foi feita uma tentativa de criar um esquema por um usuário que não tem permissões suficientes para passar a função escolhida.

Atualize a IAM política do usuário para poder transmitir a função ou peça que ele escolha uma função diferente com as permissões de senha necessárias.

Para obter mais informações, consulte Referência de personas e IAM permissões do Lake Formation.

Meu fluxo de trabalho falhou com “Usuário: <user- ARN > não está autorizado a executar: iam: PassRole on resource: <role- ARN >”

A função que você especificou para o fluxo de trabalho não tinha uma política em linha que permitisse que a função se transmitisse sozinha.

Para obter mais informações, consulte (Opcional) Crie uma IAM função para fluxos de trabalho.

Um crawler no meu fluxo de trabalho falhou com “o recurso não existe ou o solicitante não está autorizado a acessar as permissões solicitadas”

Uma possível causa é que a função passada não tinha permissões suficientes para criar uma tabela no banco de dados de destino. Conceda à função a permissão CREATE_TABLE no banco de dados.

Um rastreador no meu fluxo de trabalho falhou com “Ocorreu um erro (AccessDeniedException) ao chamar a CreateTable operação...”

Uma possível causa é que a função do fluxo de trabalho não tinha permissões de localização de dados no local de armazenamento de destino. Conceda permissões de localização de dados para a função.

Para obter mais informações, consulte DATA_LOCATION_ACCESS.