

 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 ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Pré-requisitos
<a name="federated-permissions-prereqs"></a>

## Requisitos da política do IAM para a configuração de permissões federadas do Amazon Redshift.
<a name="federated-permissions-prereqs-iam"></a>

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
<a name="federated-permissions-prereqs-configuration"></a>

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](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonRedshiftFederatedAuthorization.html): 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](https://docs.aws.amazon.com/redshift/latest/mgmt/redshift-iam-access-control-idp-connect-console.html#redshift-iam-access-control-idp-connect-admin-tasks).
+ 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/](https://console.aws.amazon.com/redshiftv2/).

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

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

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

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

1. 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/](https://console.aws.amazon.com/redshiftv2/).

1. 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.

1. 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/](https://console.aws.amazon.com/lakeformation/).

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

1. 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/](https://console.aws.amazon.com/lakeformation/).

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

1. 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
<a name="federated-permissions-prereqs-lakeformation"></a>

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\$1CATALOG 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"
           ]
       }'
   ```

1. 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](https://docs.aws.amazon.com/lake-formation/latest/dg/initial-lf-config.html#create-data-lake-admin). 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": [
                   "*"
               ]
           }
       ]
   }
   ```

1. 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
<a name="federated-permissions-prereqs-connect"></a>

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
<a name="federated-permissions-prereqs-connect-syntax"></a>

```
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.