Pré-requisitos - Amazon Redshift

O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a publicação de blog .

Pré-requisitos

Requisitos da política do IAM para a configuração de permissões federadas do Amazon Redshift.

As permissões federadas do Amazon Redshift permitem que você gerencie centralmente o acesso aos dados em suas workloads de analytics, com permissões gerenciadas diretamente pelo warehouse do Redshift.

Para habilitar as permissões federadas do Amazon Redshift, são necessárias permissões específicas do IAM além das permissões padrão necessárias para criar clusters provisionados do Redshift e namespaces sem servidor.

Para que o warehouse provisionado do Redshift habilite as permissões federadas do Redshift:

  • redshift:ModifyLakehouseConfiguration

  • redshift:RegisterNamespace

Para que o warehouse do Redshift sem servidor habilite as permissões federadas do Redshift:

  • redshift-serverless:UpdateLakehouseConfiguration

  • redshift:RegisterNamespace

Para a integração do AWS Glue Data Catalog criar um catálogo com permissões federadas do Redshift:

  • glue:CreateCatalog

  • glue:GetCatalog

Para o registro de recursos do Lake Formation como um registro único para permitir a federação de permissões do Redshift a partir de um warehouse remoto com permissões federadas:

  • lakeformation:RegisterResource

  • lakeformation:RegisterResourceWithPrivilegedAccess

Configuração da aplicação Centro de Identidade do IAM para o warehouse do Redshift com permissões federadas

O Amazon Redshift aceita a propagação de identidades do centro de identidade para transmitir facilmente as identidades dos usuários entre instâncias do Redshift e os serviços AWS Lake Formation e AWS Glue. Esse recurso requer a configuração de aplicações IdC dedicados.

Permissões obrigatórias do IAM

Para criar e gerenciar a aplicação do centro de identidade para propagação da identidade da central de identidade, certifique-se de que suas permissões do IAM incluam as seguintes permissões:

Para o gerenciamento de aplicações IdC do Amazon Redshift:

  • redshift:CreateRedshiftIdcApplication

  • redshift:ModifyRedshiftIdcApplication

  • redshift:DescribeRedshiftIdcApplications

Para o gerenciamento de aplicações IdC do Lake Formation:

  • lakeformation:CreateLakeFormationIdentityCenterConfiguration

  • lakeformation:DescribeLakeFormationIdentityCenterConfiguration

  • lakeformation:UpdateLakeFormationIdentityCenterConfiguration

Crie aplicações e configurações correspondentes do IdC

Para estabelecer a propagação de identidade para suas workloads de analytics, crie uma aplicação IdC do Amazon Redshift do tipo Lakehouse. Ele gerencia as permissões sem exigir atribuições explícitas do usuário. Os warehouses do Redshift vinculados a essa aplicação exigem privilégios CONNECT para que os usuários do IdC autentiquem as conexões.

É possível criar somente uma aplicação IdC do Amazon Redshift do tipo Lakehouse por Conta da AWS. Essa aplicação lida com a propagação de identidade em todos os warehouses do Redshift que estão integrados ao Lake Formation e aos serviços do AWS Glue. A aplicação só pode ser usada com warehouses do Redshift registrados no AWS Glue Data Catalog.

Prepare o perfil do IAM assumido pelo Redshift e usado pela propagação de identidade do IdC

A criação da aplicação IdC do Redshift Lakehouse exige um perfil do IAM da sua conta com determinadas permissões do IAM. Seu perfil do IAM usado em suas aplicações IdC do Redshift deve ter o relacionamento de confiança a seguir para permitir que o Redshift o assuma e defina o contexto para a propagação da identidade do IdC.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Principal": { "Service": [ "redshift-serverless.amazonaws.com", "redshift.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:SetContext" ] } ] }

E abaixo as permissões para seu perfil do IAM IdC para comportar a propagação de identidade do IdC.

  • AmazonRedshiftFederatedAuthorization: essa política permite que o Amazon Redshift consulte bancos de dados AWS Glue Data Catalog por meio de permissões federadas.

  • Política de contexto definida do AWSIDC

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:SetContext" ], "Resource": "*" } ] }
  • Configurar o Redshift como uma aplicação gerenciada pela AWS com o Centro de Identidade do AWS IAM.

  • Política do IAM do SSO do centro de identidade do AWSIDC:

    • sso:DescribeApplication: necessária para criar uma entrada do provedor de identidades (IdP) no catálogo.

    • sso:DescribeInstance: usada para criar manualmente funções ou usuários federados do IdP.

      { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "sso:DescribeApplication", "sso:DescribeInstance" ], "Resource": [ "arn:aws:sso:::instance/<IAM Identity Center Instance ID>", "arn:aws:sso::<AWS-account-id>:application/<IAM Identity Center Instance ID>/*" ] }

Crie uma aplicação IdC do Redshift do tipo Lakehouse

CLI

Crie sua aplicação IdC do Lakehouse especificando o tipo de aplicação Lakehouse na solicitação create-redshift-idc-application, o que elimina a necessidade de atribuições explícitas de usuários no Centro de Identidade e, ao mesmo tempo, habilita o requisito de privilégios para autenticação CONNECT de usuário do IdC:

aws redshift create-redshift-idc-application \ --idc-instance-arn <your_idc_instance_arn> \ --idc-display-name '<name_of_idc_application_display_on_idc_console>' \ --iam-role-arn <idc_carrier_role_arn> \ --application-type Lakehouse \ --redshift-idc-application-name '<name_of_idc_display_on_redshift_console>' \ --service-integrations '[ { "LakeFormation":[ { "LakeFormationQuery":{"Authorization": "Enabled"} } ] }, { "Redshift":[ { "Connect" : { "Authorization": "Enabled" } } ] } ]'

Essa configuração permite a propagação de identidade confiável entre o Redshift e o Lake Formation, permitindo que os usuários acessem dados em vários serviços usando suas credenciais do Centro de Identidade sem atribuições adicionais de permissão.

Console
  1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Redshift em https://console.aws.amazon.com/redshiftv2/.

  2. Navegue até a página de conexões do Centro de Identidade do IAM e selecione Criar aplicação.

  3. Defina as configurações gerais da aplicação idc.

  4. Selecione Configurar permissões federadas do Amazon Redshift usando Centro de Identidade do AWS IAM (recomendado) para definir o tipo de aplicação.

  5. As integrações de propagação de identidade do Lake Formation e do Redshift Connect estão habilitadas por padrão.

  6. Conclua as configurações restantes do cluster e escolha Criar aplicação.

Modificar uma aplicação IdC existente do Redshift

Se você tiver uma aplicação IdC do Redshift existente que não tenha as integrações de serviços necessárias habilitadas, poderá atualizá-lo para comportar a propagação de identidade entre serviços e clusters/namespaces.

CLI

Use o comando modify-redshift-idc-application para habilitar as autorizações LakeFormation:query e Redshift:Connect. Essas integrações são essenciais para a propagação de identidade do IdC entre serviços e clusters:

aws redshift modify-redshift-idc-application \ --redshift-idc-application-arn '<arn_of_the_target_redshift_idc_application>' \ --service-integrations '[ { "LakeFormation":[ { "LakeFormationQuery":{"Authorization": "Enabled"} } ] }, { "Redshift":[ { "Connect" : { "Authorization": "Enabled" } } ] } ]'
Console
  1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon Redshift em https://console.aws.amazon.com/redshiftv2/.

  2. Navegue até a página de conexões do Centro de Identidade do IAM e escolha uma aplicação IDC existente que você deseja editar.

  3. Escolha integrações de propagação de identidade para habilitar e definir outras configurações e escolha Salvar alterações.

Criar a configuração do centro de identidade do Lake Formation

Seu serviço Lake Formation requer uma aplicação IdC dedicada, caso ainda não tenha sido criada. Você também deve habilitar a autorização Redshift:Connect para que a configuração funcione corretamente.

CLI

Use o comando create-lake-formation-identity-center-configuration para habilitar a autorização Redshift:Connect. Essas integrações são essenciais para que o Lake Formation propague a identidade do IdC para clusters do Redshift e namespaces do Redshift sem servidor.

aws lakeformation create-lake-formation-identity-center-configuration \ --instance-arn <your_idc_instance_arn> \ --service-integrations '[{ "Redshift": [{ "RedshiftConnect": { "Authorization": "ENABLED" } }] }]'
Console
  1. Faça login no Console de gerenciamento da AWS e abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/.

  2. No painel de navegação esquerdo, selecione Integração com o Centro de Identidade do IAM.

  3. Na página de integração do Centro de Identidade do IAM, você pode habilitar a propagação de identidade confiável para o Amazon Redshift Connect. O Lake Formation propaga a identidade para sistemas downstream com base nas permissões efetivas, de modo que aplicações autorizadas possam acessar os dados em nome dos usuários.

Atualizar a configuração do centro de identidade do Lake Formation

Se você tiver uma aplicação IdC do Lake Formation que não tenha as integrações de serviços necessárias habilitadas, poderá atualizá-la para comportar a propagação de identidade entre serviços e clusters/namespaces.

CLI

Use o comando update-lake-formation-identity-center-configuration para habilitar a autorização Redshift:Connect. Essas integrações são essenciais para a propagação de identidade do IdC entre serviços e clusters:

aws lakeformation update-lake-formation-identity-center-configuration \ --service-integrations '[{ "Redshift": [{ "RedshiftConnect": { "Authorization": "ENABLED" } }] }]'
Console
  1. Faça login no Console de gerenciamento da AWS e abra o console do Lake Formation em https://console.aws.amazon.com/lakeformation/.

  2. No painel de navegação esquerdo, selecione Integração com o Centro de Identidade do IAM.

  3. Na página de integração do Centro de Identidade do IAM, você pode habilitar a propagação de identidade confiável para o Amazon Redshift Connect. O Lake Formation propaga a identidade para sistemas downstream com base nas permissões efetivas, de modo que aplicações autorizadas possam acessar os dados em nome dos usuários.

Pré-requisitos do Lake Formation

O cliente precisa de permissões CREATE_CATALOG do Lake Formation para habilitar o AWS Glue Data Catalog com as permissões federadas do Amazon Redshift.

  1. Se a conta pertencer a um cliente existente do Lake Formation, o administrador do Lake Formation deverá conceder explicitamente a permissão CREATE_CATALOG a cada criador do cluster. Use o seguinte exemplo de comando da CLI:

    aws lakeformation grant-permissions \ --cli-input-json \ '{ "Principal": { "DataLakePrincipalIdentifier": "<PrincipalArn>" }, "Resource": { "Catalog": {} }, "Permissions": [ "CREATE_CATALOG" ] }'
  2. Se a conta nunca usou o Lake Formation, verifique se o Catalog Creators está definido como IAMAllowedPrincipals na página Perfis e tarefas administrativas do console do Lake Formation. Se não estiver configurado, defina um administrador de data lake seguindo a seção Criar um administrador de data lake. Como alternativa, você pode criar um administrador do data lake com as políticas mínimas exigidas se você usar somente AWS Glue Data Catalog com as permissões federadas do Amazon Redshift.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Statement1", "Effect": "Allow", "Action": [ "lakeformation:PutDataLakeSettings", "lakeformation:GrantPermissions", "lakeformation:GetDataLakeSettings", "lakeformation:BatchGrantPermissions", "lakeformation:ListPermissions" ], "Resource": [ "*" ] } ] }
  3. Faça com que o administrador do DataLake conceda permissões às IAMAllowedPrincipals para criar um catálogo. O acesso pode ser concedido por meio do botão Conceder para Catalog Creators na página Perfil e tarefas administrativas.

Privilégios Connect

Como parte das permissões federadas do Amazon Redshift, o Amazon Redshift introduziu os privilégios CONNECT para gerenciar o acesso dos usuários federados do Centro de Identidade do AWS IAM aos grupos de trabalho ou clusters do Amazon Redshift. Esse recurso está disponível quando as permissões federadas do Amazon Redshift estão habilitadas no grupo de trabalho ou no cluster.

Esse privilégio permite que os administradores controlem o acesso do usuário por meio de permissões granulares em cada grupo de trabalho ou cluster do Amazon Redshift em que as permissões federadas do Amazon Redshift estão habilitadas. O administrador do Amazon Redshift pode especificar quais usuários ou grupos federados do Centro de Identidade do AWS IAM têm acesso para se conectar diretamente ao grupo de trabalho ou cluster do Amazon Redshift, fornecendo controle refinado sobre o acesso do usuário em cada grupo de trabalho ou cluster do Centro de Identidade do AWS IAM.

Sintaxe

GRANT CONNECT [ON WORKGROUP] TO [USER] <prefix>:<username> | ROLE <prefix>:<rolename> | PUBLIC;
CONNECT [ON WORKGROUP]

Concede permissão para se conectar a um grupo de trabalho. A permissão CONNECT é aplicável somente para identidades Centro de Identidade do AWS IAM(usuários e perfis).

TO <prefix>:<username>

Indica o usuário federado do Centro de Identidade do AWS IAM que está recebendo as permissões.

TO ROLE <prefix>:<rolename>

Indica o grupo federado do Centro de Identidade do AWS IAM que está recebendo as permissões.

PUBLIC

Concede as permissões CONNECT a todos os usuários federados do Centro de Identidade do AWS IAM, incluindo os usuários criados posteriormente.