

 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/). 

# Configurar a autenticação única de JDBC ou ODBC
<a name="setup-azure-ad-identity-provider"></a>

Você pode utilizar provedores de identidades (IDPs) externos para autenticar e autorizar usuários a acessar seu cluster do Amazon Redshift, simplificando o gerenciamento de usuários e aprimorando a segurança. Isso permite gerenciamento centralizado de usuários, controle de acesso por perfil e recursos de auditoria em vários serviços. Os casos de uso comuns incluem: simplificação da autenticação para diversos grupos de usuários, aplicação de políticas de acesso consistentes e cumprimento dos requisitos regulamentares. 

As páginas a seguir apresentam orientações sobre como configurar a integração de IdPs com seu cluster do Redshift. Para obter mais informações sobre como configurar a AWS como um provedor de serviços para o IdP, consulte [Configurar seu IdP SAML 2.0 com confiança de parte confiante e adicionar declarações](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml_relying-party.html#saml_relying-party) no *Guia do usuário do IAM*.

# AD FS
<a name="setup-identity-provider-adfs"></a>

Este tutorial mostra como usar o AD FS como provedor de identidades (IdP) para acessar clusters do Amazon Redshift.

## Etapa 1: configurar o AD FS e sua conta da AWS para que confiem um no outro
<a name="setup-identity-provider-adfs-trust"></a>

 O procedimento a seguir descreve como configurar uma relação de confiança. 

1. Crie ou use um cluster existente do Amazon Redshift para os usuários do AD FS se conectarem. Para configurar a conexão, certas propriedades deste cluster são necessárias, como o identificador de cluster. Para obter mais informações, consulte [Criar um cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Configure o AD FS para controlar o acesso do Amazon Redshift no console de gerenciamento Microsoft: 

   1. Escolha **ADFS 2.0** e **Add Relying Party Trust (Adicionar confiança da parte dependente)**. Na página **Add Relying Party Trust Wizard (Assistente para adicionar confiança da parte dependente)** escolha **Start (Iniciar)**.

   1. Na página **Select Data Source (Selecionar fonte de dados)**, escolha **Import data about the relying party published online or on a local network (Importar dados sobre a parte dependente publicados online ou em uma rede local)**.

   1. Em **Federation metadata address (host name or URL) (Endereço de metadados de federação [nome do host ou URL])**, insira **https://signin.aws.amazon.com/saml-metadata.xml**. O arquivo XML de metadados é um documento de metadados SAML padrão que descreve a AWS como uma parte confiável.

   1. Na página **Specify Display Name (Especificar nome de exibição)**, insira um valor para **Display name (Nome de exibição)**. 

   1. Na página **Choose Issuance Authorization Rules (Escolher regras de autorização de emissão)**, escolha uma regra de autorização de emissão para permitir ou negar que todos os usuários acessem essa parte dependente.

   1. Na página **Ready to Add Trust (Pronto para adicionar confiança)** revise as configurações.

   1. Na página **Finish (Concluir)**, escolha **Open the Edit Claim Rules dialog for this relying party trust when the wizard closes (Abrir a caixa de diálogo Editar regras de reivindicação para esta parte dependente quando o assistente for encerrado)**.

   1. No menu de contexto (clique com o botão direito do mouse), escolha **Relying Party Trusts (Confianças de parte dependente)**.

   1. Para sua parte dependente, abra o menu de contexto (clique com o botão direito do mouse) e escolha **Edit Claim Rules (Editar regras de reivindicação)**. Na página **Edit Claim Rules (Editar regras de reivindicação)**, escolha **Add Rule (Adicionar regra)**.

   1. Em **Claim rule template (Modelo de regra de reivindicação)**, escolha **Transform an Incoming Claim (Transformar uma reivindicação de entrada)** e na página **Edit Rule – NameId (Editar regra – NameId)**, faça o seguinte:
      + Em **Claim rule name (Nome da regra de reivindicação)**, insira **NameId**.
      + Em **Incoming claim name (Nome da reivindicação de entrada)**, escolha **Windows Account Name (Nome da conta do Windows)**.
      + Em **Outgoing claim name (Nome da reivindicação de saída)**, escolha **Name ID (ID do nome)**.
      + Em **Outgoing name ID format (Formato de ID de nome de saída)**, escolha **Persistent Identifier (Identificador persistente)**.
      + Escolha **Pass through all claim values (Transmitir todos os valores de reivindicação)**.

   1. Na página **Edit Claim Rules (Editar regras de reivindicação)**, escolha **Add Rule (Adicionar regra)**. Na página **Select Rule Template (Selecionar modelo de regra)**, em **Claim rule template (Modelo de regra de reivindicação)**, escolha **Send LDAP Attributes as Claims (Enviar atributos LDAP como reivindicações)**.

   1. Na página **Configure Rule (Configurar regra)**, faça o seguinte:
      + Em **Claim rule name (Nome da regra de reivindicação)**, insira **RoleSessionName**.
      + Em **Attribute store (Armazenamento de atributos)**, escolha **Active Directory**.
      + Em **LDAP Attribute (Atributo LDAP)**, escolha **Email Addresses (Endereços de e-mail)**.
      + Para o **Tipo de declaração de saída**, escolha **https://aws.amazon.com/SAML/Attributes/RoleSessionName**.

   1. Na página **Edit Claim Rules (Editar regras de reivindicação)**, escolha **Add Rule (Adicionar regra)**. Na página **Select Rule Template (Selecionar modelo de regra)**, em **Claim rule template (Modelo de regra de reivindicação)**, escolha **Send Claims Using a Custom Rule (Enviar reivindicações usando uma regra personalizada)**.

   1. Na página **Edit Rule – Get AD Groups (Editar regra – Obter grupos do AD)**, em **Claim rule name (Nome da regra de reivindicação)**, insira **Get AD Groups (Obter grupos do AD)**.

   1. Em **Custom rule (Regra personalizada)**, insira o seguinte.

      ```
      c:[Type ==
                                          "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname",
                                          Issuer == "AD AUTHORITY"] => add(store = "Active Directory",
                                          types = ("http://temp/variable"), query = ";tokenGroups;{0}",
                                          param = c.Value);
      ```

   1. Na página **Edit Claim Rules (Editar regras de reivindicação)**, escolha **Add Rule (Adicionar regra)**. Na página **Select Rule Template (Selecionar modelo de regra)**, em **Claim rule template (Modelo de regra de reivindicação)**, escolha **Send Claims Using a Custom Rule (Enviar reivindicações usando uma regra personalizada)**.

   1. Na página **Edit Rule – Roles (Editar regra – Funções)**, em **Claim rule name (Nome da regra de reivindicação)**, digite **Roles (Funções)**.

   1. Em **Custom rule (Regra personalizada)**, insira o seguinte.

      ```
      c:[Type == "http://temp/variable", Value =~ "(?i)^AWS-"] => issue(Type = "https://aws.amazon.com/SAML/Attributes/Role", Value = RegExReplace(c.Value, "AWS-", "arn:aws:iam::123456789012:saml-provider/ADFS,arn:aws:iam::123456789012:role/ADFS-"));
      ```

      Observe os ARNs do provedor SAML e a função a ser assumida. Neste exemplo, `arn:aws:iam:123456789012:saml-provider/ADFS` é o ARN do provedor SAML e `arn:aws:iam:123456789012:role/ADFS-` é o ARN da função.

1. Certifique-se de que você fez download do arquivo `federationmetadata.xml`. Verifique se o conteúdo do documento não tem caracteres inválidos. Este é o arquivo de metadados que você usa ao configurar a relação de confiança com a AWS. 

1. Crie um provedor de identidade SAML do IAM no console do IAM. O documento de metadados fornecido é o arquivo XML de metadados da federação que você salvou quando configurou o Azure Enterprise Application. Para obter etapas detalhadas, consulte [Criar e gerenciar um provedor de identidade do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) no *Manual do usuário do IAM*. 

1. Crie uma função do IAM para a federação do SAML 2.0 no console do IAM. Para obter etapas detalhadas, consulte [Criar uma função para o SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) no *Manual do usuário do IAM*. 

1. Crie uma política do IAM que você possa anexar à função do IAM criada para a federação do SAML 2.0 no console do IAM. Para obter etapas detalhadas, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) no *Manual do usuário do IAM*. Para obter um exemplo do Azure AD, consulte [Configurar a autenticação única de JDBC ou ODBC](setup-azure-ad-identity-provider.md). 

## Etapa 2: configurar JDBC ou ODBC para autenticação no AD FS
<a name="setup-identity-provider-adfs-auth"></a>

------
#### [ JDBC ]

 O procedimento a seguir descreve como configurar uma relação entre o JDBC e o AD FS. 
+ Configure seu cliente de banco de dados para se conectar ao cluster por meio do JDBC usando a autenticação única do Azure FS. 

  Você pode utilizar qualquer cliente que use um driver JDBC para se conectar usando a autenticação única do AD FS ou usar uma linguagem, como Java, para se conectar por meio de um script. Para obter informações sobre instalação e configuração, consulte [Configurar uma conexão para o driver JDBC versão 2.x para o Amazon Redshift](jdbc20-install.md).

  Por exemplo, você pode usar SQLWorkbench/J como o cliente. Ao configurar o SQLWorkbench/j, a URL do seu banco de dados usa o seguinte formato.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Se você usar o SQLWorkbench/j como o cliente, execute as seguintes etapas:

  1. Inicie o SQL Workbench/J. Na página **Selecionar perfil de conexão**, adicione um **Grupo de perfis**, por exemplo, **ADFS**.

  1. Em **Connection Profile (Perfil de conexão)**, insira o nome do perfil de conexão, por exemplo, **ADFS**.

  1. Escolha **Manage Drivers (Gerenciar drivers)** e escolha **Amazon Redshift**. Escolha o ícone **Open Folder (Abrir pasta)** ao lado de **Library (Biblioteca)**, e escolha o arquivo.jar JDBC apropriado. 

  1. Na página **Select Connection Profile (Selecionar perfil de conexão)**, adicione informações ao perfil de conexão da seguinte maneira:
     + Em **User (Usuário)**, insira o nome de usuário do AD FS. Este é o nome de usuário da conta do usado para o logon único que tem permissão para o cluster que você está tentando autenticar.
     + Em **Password (Senha)**, insira a senha do AD FS.
     + Em **Drivers**, escolha **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + Para **URL**, insira **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Escolha **Propriedades estendidas**. Para **plugin\$1name**, insira **com.amazon.redshift.plugin.AdfsCredentialsProvider**. Esse valor especifica para o driver usar o método de autenticação única do AD FS. 

------
#### [ ODBC ]

**Como configurar o ODBC para autenticação no AD FS**
+ Configure seu cliente de banco de dados para se conectar ao cluster por meio de ODBC usando a autenticação única do AD FS. 

  O Amazon Redshift fornece drivers ODBC para sistemas operacionais Linux, Windows e macOS. Antes de instalar um driver de ODBC, será necessário determinar se a ferramenta do cliente SQL é de 32 ou 64 bits. Instale o driver de ODBC que corresponde aos requisitos da ferramenta de cliente SQL. 

  No Windows, na página **Amazon Redshift ODBC Driver DSN Setup (Configuração do DSN do driver ODBC do Amazon Redshift)**, em **Connection Settings (Configurações de conexão)**, insira as seguintes informações: 
  + Para **Data Source Name (Nome da fonte de dados)**, insira ***your-DSN***. Isto especifica o nome da fonte de dados usado como o nome do perfil de ODBC. 
  + Para o **Tipo de autenticação**, escolha **Provedor de identidade: SAML**. Esse é o método que o driver de ODBC usa para autenticar por meio da autenticação única do AD FS.
  + Para **Cluster ID (ID do cluster)**, insira ***your-cluster-identifier***. 
  + Para **Region (Região)**, insira ***your-cluster-region***.
  + Para **Database (Banco de dados)**, insira ***your-database-name***.
  + Em **User (Usuário)**, insira ***your-adfs-username***. Esse é o nome de usuário da conta do AD FS que está sendo usado para autenticação única que tem permissão para o cluster que você está tentando autenticar. Use isso somente quando **Auth type (Tipo de autenticação)** for **Identity Provider: SAML (Provedor de identidade: SAML)**.
  + Em **Password (Senha)**, insira ***your-adfs-password***. Use isso somente quando **Auth type (Tipo de autenticação)** for **Identity Provider: SAML (Provedor de identidade: SAML)**. 

  No macOS e no Linux, edite o arquivo `odbc.ini` da seguinte forma: 
**nota**  
Nenhuma entrada diferencia letras maiúsculas de minúsculas.
  + Para **clusterid**, insira ***your-cluster-identifier***. Esse é o nome do cluster criado pelo Amazon Redshift.
  + Para **region (região)**, insira ***your-cluster-region***. Esta é a Região da AWS do cluster do Amazon Redshift criado.
  + Para **database (banco de dados)**, insira ***your-database-name***. Este é o nome do banco de dados que você está tentando acessar no cluster do Amazon Redshift.
  + Para **locale (localidade)**, insira **en-us**. Este é o idioma em que as mensagens de erro são exibidas.
  + Para **IAM**, insira **1**. Esse valor especifica ao driver para autenticar usando credenciais do IAM.
  + Em **plugin\$1name**, siga um destes procedimentos:
    + Na configuração de autenticação única do AD FS com MFA, digite **BrowserSAML**. Este é o método de autenticação que o driver ODBC usa para autenticar no AD FS. 
    + Na configuração de autenticação única do AD FS, digite **ADFS**. Esse é o método que o driver de ODBC usa para autenticar por meio da autenticação única do Azure AD. 
  + Em **uid**, insira ***your-adfs-username***. Esse é o nome de usuário da conta do Microsoft Azure que está sendo usado para autenticação única que tem permissão para o cluster que você está tentando autenticar. Use isso somente quando **plugin\$1name** for **ADFS**.
  + Em **pwd**, insira ***your-adfs-password***. Use isso somente quando **plugin\$1name** for **ADFS**. 

  No macOS e no Linux, edite também as configurações de perfil para adicionar as exportações a seguir.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

# Azure
<a name="setup-identity-provider-azure"></a>

Você pode usar o Microsoft Azure AD como um provedor de identidade (IdP) para acessar seu cluster do Amazon Redshift. Este tutorial mostra como usar o Azure como provedor de identidades (IdP) para acessar clusters do Amazon Redshift.

Para saber como federar o acesso do Amazon Redshift com o logon único do Microsoft Azure AD, assista ao vídeo a seguir. 

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/aXs9hEgJCss/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/aXs9hEgJCss)


## Etapa 1: configurar o Azure e sua conta da AWS para que confiem um no outro
<a name="setup-identity-provider-azure-trust"></a>

O procedimento a seguir descreve como configurar uma relação de confiança.

**Para configurar o Azure AD e sua conta da AWS para que confiem um no outro**

1. Crie ou use um cluster existente do Amazon Redshift para os usuários do Azure AD se conectarem. Para configurar a conexão, certas propriedades deste cluster são necessárias, como o identificador de cluster. Para obter mais informações, consulte [Criar um cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Configure grupos e usuários do Diretório Ativo do Azure usados para a AWS no portal do Microsoft Azure.

1. Adicione o Amazon Redshift como uma aplicação empresarial no portal do Microsoft Azure para usar para logon único no AWS Console e logon federado no Amazon Redshift. Escolha **Enterprise application (Aplicativo empresarial)**.

1. Escolha **\$1New application (\$1Novo aplicativo)**. A página Adicionar um aplicativo é exibida.

1. Pesquise **AWS** no campo de pesquisa.

1. Escolha **Amazon Web Services (AWS)** e escolha **Adicionar**. Isso cria a aplicação da AWS.

1. Em **Manage (Gerenciar)**, escolha **Single sign-on (Logon único)**.

1. Escolha **SAML**. O Amazon Web Services (AWS) \$1 A página de logon baseada em SAML é exibida.

1. Escolha **Yes (Sim)** para prosseguir para a página Configurar logon único com SAML. Esta página mostra a lista de atributos pré-configurados relacionados à autenticação única.

1. Em **Basic SAML Configuration (Configuração básica de SAML)**, escolha o ícone de edição e **Save (Salvar)**.

1. Quando você estiver configurando mais de um aplicativo, forneça um valor de identificador. Por exemplo, digite ***https://signin.aws.amazon.com/saml\$12***. Observe que a partir do segundo aplicativo em diante, use esse formato com um sinal \$1 para especificar um valor SPN exclusivo.

1. Na seção **User Attributes and Claims (Atributos de usuário e reivindicações)**, escolha o ícone de edição.

   Por padrão, as reivindicações UID (Unique User Identifier), Role, RoleSessionName e SessionDuration são pré-configuradas.

1. Escolha **\$1 Add new claim (\$1 Adicionar nova reivindicação)** para adicionar uma reivindicação aos usuários do banco de dados.

   Em **Nome**, digite **DbUser**.

   Em **Namespace**, insira **https://redshift.amazon.com/SAML/Attributes**.

   Em **Origem**, escolha **Atributo**.

   Em **Source attribute (Atributo de origem)**, escolha **user.userprincipalname**. Selecione **Salvar**.

1. Escolha **\$1 Add new claim (\$1 Adicionar nova reivindicação)** para adicionar uma reivindicação ao AutoCreate.

   Em **Nome**, digite **AutoCreate**.

   Em **Namespace**, insira **https://redshift.amazon.com/SAML/Attributes**.

   Em **Origem**, escolha **Atributo**.

   Em **Source attribute (Atributo de origem)**, escolha **"true"**. Selecione **Salvar**.

   Aqui, `123456789012` é sua conta da AWS, *`AzureSSO`* é o perfil do IAM que você criou e *`AzureADProvider`* é o provedor do IAM.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/setup-identity-provider-azure.html)

1. Em **Registro de aplicativo > ***your-application-name*** > Autenticação**, adicione **Aplicativo móvel e desktop**. Especifique o URL como http://localhost/redshift/.

1. Na seção **SAML Signing Certificate (Certificado de assinatura SAML)**, escolha **Download (Fazer download)** para fazer download e salvar o arquivo XML de metadados de federação para usar ao criar um provedor de identidade SAML do IAM. Esse arquivo é usado para criar a identidade federada da autenticação única.

1. Crie um provedor de identidade SAML do IAM no console do IAM. O documento de metadados fornecido é o arquivo XML de metadados da federação que você salvou quando configurou o Azure Enterprise Application. Para obter etapas detalhadas, consulte [Criar e gerenciar um provedor de identidade do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) no *Manual do usuário do IAM*. 

1. Crie uma função do IAM para a federação do SAML 2.0 no console do IAM. Para obter etapas detalhadas, consulte [Criar uma função para o SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) no *Manual do usuário do IAM*. 

1. Crie uma política do IAM que você possa anexar à função do IAM criada para a federação do SAML 2.0 no console do IAM. Para obter etapas detalhadas, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) no *Manual do usuário do IAM*.

   Modifique a seguinte política (no formato JSON) para o seu ambiente: 
   + Substitua a região da AWS do seu cluster por `us-west-1`. 
   + Substitua a conta da AWS por *`123456789012`*. 
   + Substitua seu identificador de cluster (ou `*` para todos os clusters) por *`cluster-identifier`*. 
   + Substitua seu banco de dados (ou `*` para todos os bancos de dados) por *`dev`*. 
   + Substitua o identificador exclusivo de sua função do IAM por *`AROAJ2UCCR6DPCEXAMPLE`*. 
   + Substitua o domínio de e-mail do locatário ou da empresa por `example.com`. 
   + Substitua o grupo de banco de dados ao qual você planeja atribuir o usuário por *`my_dbgroup`*. 

   ```
   {
       "Version": "2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "redshift:GetClusterCredentials",
               "Resource": [
                   "arn:aws:redshift:us-west-1:123456789012:dbname:cluster-identifier/dev",
                   "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}",
                   "arn:aws:redshift:us-west-1:123456789012:cluster:cluster-identifier"
               ],
               "Condition": {
                   "StringEquals": {
                       "aws:userid": "AROAJ2UCCR6DPCEXAMPLE:${redshift:DbUser}@example.com"
                   }
               }
           },
           {
               "Effect": "Allow",
               "Action": "redshift:CreateClusterUser",
               "Resource": "arn:aws:redshift:us-west-1:123456789012:dbuser:cluster-identifier/${redshift:DbUser}"
           },
           {
               "Effect": "Allow",
               "Action": "redshift:JoinGroup",
               "Resource": "arn:aws:redshift:us-west-1:123456789012:dbgroup:cluster-identifier/my_dbgroup"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "redshift:DescribeClusters",
                   "iam:ListRoles"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

   Esta política concede permissões da seguinte forma:
   + A primeira seção concede permissão à operação de API do `GetClusterCredentials` para obter credenciais temporárias para o cluster especificado. Neste exemplo, o recurso é `cluster-identifier` com banco de dados *`dev`*, na conta *`123456789012`* e na região da AWS *`us-west-1`*. A cláusula `${redshift:DbUser}` permite que apenas os usuários que correspondam ao valor de `DbUser` especificado no Azure AD se conectem.
   + A cláusula de condição impõe que apenas determinados usuários obtêm credenciais temporárias. Esses são os usuários da função especificada pelo ID exclusivo de função *`AROAJ2UCCR6DPCEXAMPLE`* na conta do IAM identificada por um endereço de e-mail no domínio de e-mail da empresa. Para obter mais informações sobre IDs exclusivos, consulte [IDs exclusivos](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids) no *Manual do usuário do IAM*. 

     Sua configuração com seu IdP (neste caso, Azure AD) determina como a cláusula de condição é gravada. Se o e-mail do seu funcionário for `johndoe@example.com`, primeiro defina `${redshift:DbUser}` para o campo super que corresponde ao nome de usuário do funcionário `johndoe`. Então, para fazer essa condição funcionar, defina o campo `RoleSessionName` do AWS SAML como o supercampo que corresponde ao e-mail do funcionário `johndoe@example.com`. Ao adotar essa abordagem, considere o seguinte:
     + Se você definir `${redshift:DbUser}` para ser o e-mail do funcionário, em seguida, remova o `@example.com` no JSON do exemplo para corresponder com o `RoleSessionName`. 
     + Se você definir o `RoleSessionId` para ser apenas o nome de usuário do funcionário, remova o `@example.com` no exemplo para corresponder ao `RoleSessionName`. 
     + No JSON de exemplo, tanto `${redshift:DbUser}` como `RoleSessionName` são definidos como o e-mail do funcionário. Este exemplo JSON usa o nome de usuário do banco de dados Amazon Redshift com `@example.com` para conectar o usuário para acessar o cluster.
   + A segunda seção concede permissão para criar um nome `dbuser` no cluster especificado. Neste JSON de exemplo, ele restringe a criação de `${redshift:DbUser}`. 
   + A terceira seção concede permissão para especificar a qual `dbgroup` um usuário pode ingressar. Neste JSON de exemplo, um usuário pode ingressar no grupo `my_dbgroup` no cluster especificado. 
   + A quarta seção concede permissão para ações que o usuário pode fazer em todos os recursos. Neste JSON de exemplo, ele permite que os usuários chamem `redshift:DescribeClusters` para obter informações do cluster, como o endpoint do cluster, região da AWS e porta. Também permite que os usuários chamem `iam:ListRoles` para verificar quais funções um usuário pode assumir. 

## Etapa 2: configurar JDBC ou ODBC para autenticação no Azure
<a name="setup-identity-provider-azure-auth"></a>

------
#### [ JDBC ]

**Como configurar o JDBC para autenticação no Microsoft Azure AD**
+ Configure seu cliente de banco de dados para se conectar ao cluster por meio do JDBC usando o logon único do Azure AD. 

  Você pode usar qualquer cliente que use um driver JDBC para se conectar usando o logon único do Azure AD ou usar uma linguagem, como Java, para se conectar usando um script. Para obter informações sobre instalação e configuração, consulte [Configurar uma conexão para o driver JDBC versão 2.x para o Amazon Redshift](jdbc20-install.md).

  Por exemplo, você pode usar SQLWorkbench/J como o cliente. Ao configurar o SQLWorkbench/j, a URL do seu banco de dados usa o seguinte formato.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Se você usar o SQLWorkbench/j como o cliente, execute as seguintes etapas:

  1. Inicie o SQL Workbench/J. Na página **Selecionar perfil de conexão** adicione um **Grupo de perfis** chamado **AzureAuth**.

  1. Em **Connection Profile (Perfil de conexão)**, insira **Azure**.

  1. Escolha **Manage Drivers (Gerenciar drivers)** e escolha **Amazon Redshift**. Escolha o ícone **Open Folder (Abrir pasta)** ao lado de **Library (Biblioteca)**, e escolha o arquivo.jar JDBC apropriado. 

  1. Na página **Select Connection Profile (Selecionar perfil de conexão)**, adicione informações ao perfil de conexão da seguinte maneira:
     + Em **User (Usuário)**, insira seu nome de usuário do Microsoft Azure. Este é o nome de usuário da conta do Microsoft Azure que você está usando para o logon único que tem permissão para o cluster que você está tentando autenticar.
     + Em **Password (Senha)**, digite sua senha do Microsoft Azure.
     + Em **Drivers**, escolha **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + Para **URL**, insira **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Escolha **Extended Properties (Propriedades estendidas)** para adicionar informações adicionais às propriedades de conexão, conforme descrito a seguir.

     Para a configuração de autenticação única do Azure AD, adicione outras informações da seguinte forma:
     + Para **plugin\$1name**, insira **com.amazon.redshift.plugin.AzureCredentialsProvider**. Esse valor especifica para o driver usar o logon único do Azure AD como o método de autenticação. 
     + Para **idp\$1tenant**, insira ***your-idp-tenant***. Usado apenas para o Microsoft Azure AD. Este é o nome do locatário da sua empresa configurado no Azure AD. Esse valor pode ser o nome do locatário ou o ID exclusivo do locatário com hífens.
     + Para **client\$1secret**, insira ***your-azure-redshift-application-client-secret***. Usado apenas para o Microsoft Azure AD. Este é o segredo do seu cliente da aplicação Amazon Redshift que você criou ao definir a configuração do Azure Single Sign-On. Isso só é aplicável ao plug-in com.amazon.redshift.plugin.AzureCredentialsProvider. 
     + Para **client\$1id**, insira ***your-azure-redshift-application-client-id***. Usado apenas para o Microsoft Azure AD. Esta é a ID do cliente (com hifens) da aplicação Amazon Redshift que você criou ao definir sua configuração do Azure Single Sign-On. 

     Para a configuração de autenticação única do Azure AD com MFA, adicione outras informações às propriedades de conexão da seguinte forma:
     + Para **plugin\$1name**, insira **com.amazon.redshift.plugin.BrowserAzureCredentialsProvider**. Isso especifica para o driver usar o método de autenticação única do Azure com MFA. 
     + Para **idp\$1tenant**, insira ***your-idp-tenant***. Usado apenas para o Microsoft Azure AD. Este é o nome do locatário da sua empresa configurado no Azure AD. Esse valor pode ser o nome do locatário ou o ID exclusivo do locatário com hífens.
     + Para **client\$1id**, insira ***your-azure-redshift-application-client-id***. Essa opção é usada apenas para o Microsoft Azure AD. Este é o ID do cliente (com hifens) da aplicação Amazon Redshift que você criou ao definir a configuração de autenticação única do Azure com MFA. 
     + Em **listen\$1port**, insira ***your-listen-port***. Esta é a porta que o servidor local está escutando. O padrão é 7890. 
     + Em **idp\$1response\$1timeout**, insira ***the-number-of-seconds***. Este é o número de segundos a aguardar antes do tempo limite quando o servidor IdP envia de volta uma resposta. O número mínimo de segundos deve ser 10. Se o tempo para estabelecer a conexão for maior do que esse limite, a conexão é cancelada.

------
#### [ ODBC ]

**Como configurar o ODBC para autenticação no Microsoft Azure AD**
+ Configure seu cliente de banco de dados para se conectar ao cluster por meio de ODBC usando seu logon único do Azure AD. 

  O Amazon Redshift fornece drivers ODBC para sistemas operacionais Linux, Windows e macOS. Antes de instalar um driver de ODBC, será necessário determinar se a ferramenta do cliente SQL é de 32 ou 64 bits. Instale o driver de ODBC que corresponde aos requisitos da ferramenta de cliente SQL. 

  No Windows, na página **Amazon Redshift ODBC Driver DSN Setup (Configuração do DSN do driver ODBC do Amazon Redshift)**, em **Connection Settings (Configurações de conexão)**, insira as seguintes informações: 
  + Para **Data Source Name (Nome da fonte de dados)**, insira ***your-DSN***. Isto especifica o nome da fonte de dados usado como o nome do perfil de ODBC. 
  + Em **Auth type** (Tipo de autenticação) para a configuração de autenticação única do Azure AD, escolha **Identity Provider: Azure AD**. Este é o método de autenticação que o driver de ODBC usa para autenticar usando o logon único do Azure.
  + Em **Auth type** (Tipo de autenticação) para a configuração de autenticação única do Azure AD com MFA, escolha **Identity Provider: Browser Azure AD**. Este é o método de autenticação que o driver de ODBC usa para autenticar usando o logon único do Azure com MFA.
  + Para **Cluster ID (ID do cluster)**, insira ***your-cluster-identifier***. 
  + Para **Region (Região)**, insira ***your-cluster-region***.
  + Para **Database (Banco de dados)**, insira ***your-database-name***.
  + Em **User (Usuário)**, insira ***your-azure-username***. Este é o nome de usuário da conta do Microsoft Azure que está sendo usada para logon único que tem permissão para o cluster que você está tentando autenticar. Use isso somente quando **Auth Type (Tipo de autenticação)** for **Identity Provider: Azure AD (Provedor de identidade: Azure AD)**.
  + Em **Password (Senha)**, insira ***your-azure-password***. Use isso somente quando **Auth Type (Tipo de autenticação)** for **Identity Provider: Azure AD (Provedor de identidade: Azure AD)**. 
  + Para **IdP Tenant (Locatário IdP)**, insira ***your-idp-tenant***. Este é o nome do locatário da sua empresa configurado no seu IdP (Azure). Esse valor pode ser o nome do locatário ou o ID exclusivo do locatário com hífens.
  + Para **Azure Client Secret (Segredo do cliente do Azure)**, insira ***your-azure-redshift-application-client-secret***. Este é o segredo do cliente da aplicação Amazon Redshift que você criou ao definir sua configuração de logon único do Azure. 
  + Para **Azure Client ID (ID do cliente do Azure)**, insira ***your-azure-redshift-application-client-id***. Este é o ID do cliente (com hífens) da aplicação Amazon Redshift que você criou ao definir sua configuração do Azure Single Sign-On. 
  + Em **Porta de escuta**, insira ***your-listen-port***. Esta é a porta de escuta padrão que o servidor local está escutando. O padrão é 7890. Isso se aplica somente ao plug-in do Browser Azure AD. 
  + Em **Response Timeout (Tempo limite de resposta)**, insira ***the-number-of-seconds***. Este é o número de segundos a aguardar antes do tempo limite quando o servidor IdP envia de volta uma resposta. O número mínimo de segundos deve ser 10. Se o tempo para estabelecer a conexão for maior do que esse limite, a conexão é cancelada. Esta opção se aplica apenas ao plug-in do Azure AD do navegador.

  No macOS e no Linux, edite o arquivo `odbc.ini` da seguinte forma: 
**nota**  
Nenhuma entrada diferencia letras maiúsculas de minúsculas.
  + Para **clusterid**, insira ***your-cluster-identifier***. Esse é o nome do cluster criado pelo Amazon Redshift.
  + Para **region (região)**, insira ***your-cluster-region***. Esta é a Região da AWS do cluster do Amazon Redshift criado.
  + Para **database (banco de dados)**, insira ***your-database-name***. Este é o nome do banco de dados que você está tentando acessar no cluster do Amazon Redshift.
  + Para **locale (localidade)**, insira **en-us**. Este é o idioma em que as mensagens de erro são exibidas.
  + Para **IAM**, insira **1**. Esse valor especifica ao driver para autenticar usando credenciais do IAM.
  + Em **plugin\$1name** para a configuração de autenticação única do Azure AD, insira **AzureAD**. Isso especifica ao driver para usar o Azure Single Sign-On como o método de autenticação. 
  + Em **plugin\$1name** para a configuração de autenticação única do Azure AD com MFA, insira **BrowserAzureAD**. Isso especifica para o driver usar o logon único do Azure com MFA como o método de autenticação. 
  + Em **uid**, insira ***your-azure-username***. Este é o nome de usuário da conta do Microsoft Azure que você está usando para logon único, que tem permissão para o cluster que você está tentando autenticar. Use isso somente quando **plugin\$1name** for **AzureAD**.
  + Em **pwd**, insira ***your-azure-password***. Use isso somente quando **plugin\$1name** for **AzureAD**. 
  + Para **idp\$1tenant**, insira ***your-idp-tenant***. Este é o nome do locatário da sua empresa configurado no seu IdP (Azure). Esse valor pode ser o nome do locatário ou o ID exclusivo do locatário com hífens.
  + Para **client\$1secret**, insira ***your-azure-redshift-application-client-secret***. Este é o segredo do cliente da aplicação Amazon Redshift que você criou ao definir sua configuração de logon único do Azure. 
  + Para **client\$1id**, insira ***your-azure-redshift-application-client-id***. Este é o ID do cliente (com hífens) da aplicação Amazon Redshift que você criou ao definir sua configuração do Azure Single Sign-On. 
  + Em **listen\$1port**, insira ***your-listen-port***. Esta é a porta que o servidor local está escutando. O padrão é 7890. Isso se aplica ao plug-in do Browser Azure AD.
  + Em **idp\$1response\$1timeout**, insira ***the-number-of-seconds***. Este é o período especificado em segundos para aguardar a resposta do Azure. Esta opção se aplica ao plug-in do Azure AD do navegador.

  No macOS e no Linux, edite também as configurações de perfil para adicionar as exportações a seguir.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

## Solução de problemas
<a name="setup-identity-provider-azure-auth"></a>

Para solucionar problemas com o plug-in Browser Azure AD, considere o seguinte:
+ Para usar o plug-in Browser Azure AD, você deve definir o URL de resposta especificado na solicitação para corresponder ao URL de resposta configurado para seu aplicativo. Navegue até a página **Configurar o logon único com SAML** no portal do Microsoft Azure. Verifique se o **URL de resposta** está definido como http://localhost/redshift/.
+ Se você receber um erro de locatário IdP, verifique se o nome do **Locatário IdP** corresponde ao nome de domínio usado inicialmente para configurar o Active Directory no Microsoft Azure.

  No Windows, navegue até a seção **Configurações de conexão** da página **Configuração do DSN do driver ODBC do Amazon Redshift**. Verifique se o nome do locatário da empresa configurada no seu IdP (Azure) corresponde ao nome de domínio usado inicialmente para configurar o Active Directory no Microsoft Azure.

  No macOS e no Linux, localize o arquivo *odbc.ini*. Verifique se o nome do locatário da empresa configurada no seu IdP (Azure) corresponde ao nome de domínio usado inicialmente para configurar o Active Directory no Microsoft Azure.
+ Se você receber um erro informando que o URL de resposta especificado na solicitação não corresponde aos URLs de resposta configurados para seu aplicativo, verifique se os **URIs de redirecionamento** são os mesmos que o URL de resposta.

  Navegue até a página de **Registro de aplicativo** do seu aplicativo no portal do Microsoft Azure. Verifique se os URIs de redirecionamento correspondem ao URL de resposta.
+ Se receber a resposta inesperada: erro não autorizado, verifique se você concluiu a configuração de **Aplicativos móveis e de desktop**.

  Navegue até a página de **Registro de aplicativo** do seu aplicativo no portal do Microsoft Azure. Navegue até **Autenticação** e verifique se você configurou **Aplicativos móveis e de desktop** para usar http://localhost/redshift/ como URIs de redirecionamento.

# Ping Identity
<a name="setup-identity-provider-ping"></a>

É possível usar o Ping Identity como um provedor de identidade (IdP) para acessar seu cluster do Amazon Redshift. Este tutorial mostra como usar o Ping Identity como provedor de identidades (IdP) para acessar clusters do Amazon Redshift.

## Etapa 1: configurar o Ping Identity e sua conta da AWS para que confiem um no outro
<a name="setup-identity-provider-ping-trust"></a>

O procedimento a seguir descreve como configurar uma relação de confiança usando o portal PingOne.

**Para configurar o Ping Identity e sua conta da AWS para que confiem uma na outra**

1. Crie ou use um cluster existente do Amazon Redshift para que seus usuários de Ping Identity se conectem. Para configurar a conexão, certas propriedades deste cluster são necessárias, como o identificador de cluster. Para obter mais informações, consulte [Criar um cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Adicione o Amazon Redshift como uma nova aplicação SAML no portal PingOne. Para obter etapas detalhadas, consulte a [documentação do Ping Identity](https://docs.pingidentity.com/). 

   1. Acesse **My Applications (Meus aplicativos)**.

   1. Em **Add Application (Adicionar aplicativo)**, escolha **New SAML Application (Novo aplicativo SAML)**.

   1. Em **Application Name (Nome do aplicativo)**, insira **Amazon Redshift**.

   1. Em **Protocol Version (Versão do protocolo)**, escolha **SAML v2.0**.

   1. Em **Category (Categoria)**, escolha ***your-application-category***.

   1. Em **Assertion Consumer Service (ACS)**, digite ***your-redshift-local-host-url***. Este é o host local e a porta para a qual a declaração de SAML redireciona.

   1. Em **Entity ID (ID da entidade)**, insira `urn:amazon:webservices`.

   1. Em **Signing (Assinar)**, escolha **Sign Assertion (Assinar declaração)**.

   1. Na seção **SSO Attribute Mapping (Mapeamento de atributo de SSO)**, crie as reivindicações conforme mostrado na tabela a seguir.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/setup-identity-provider-ping.html)

1. Em **Group Access (Acesso de grupo)**, configure o seguinte acesso de grupo, se necessário:
   + **https://aws.amazon.com/SAML/Attributes/Role**
   + **https://aws.amazon.com/SAML/Attributes/RoleSessionName**
   + **https://redshift.amazon.com/SAML/Attributes/AutoCreate**
   + **https://redshift.amazon.com/SAML/Attributes/DbUser**

1. Revise sua configuração e faça alterações, se necessário. 

1. Use o **Initiate Single Sign-On (SSO) URL (URL de logon único inicial [SSO])** como o URL de login para o plug-in de Browser SAML.

1. Crie um provedor de identidade SAML do IAM no console do IAM. O documento de metadados fornecido é o arquivo XML de metadados da federação que você salvou quando configurou o Ping Identity. Para obter etapas detalhadas, consulte [Criar e gerenciar um provedor de identidade do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) no *Manual do usuário do IAM*.

1. Crie uma função do IAM para a federação do SAML 2.0 no console do IAM. Para obter etapas detalhadas, consulte [Criar uma função para o SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) no *Manual do usuário do IAM*. 

1. Crie uma política do IAM que você possa anexar à função do IAM criada para a federação do SAML 2.0 no console do IAM. Para obter etapas detalhadas, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) no *Manual do usuário do IAM*. Para obter um exemplo do Azure AD, consulte [Configurar a autenticação única de JDBC ou ODBC](setup-azure-ad-identity-provider.md). 

## Etapa 2: configurar JDBC ou ODBC para autenticação no Ping Identity
<a name="setup-identity-provider-ping-auth"></a>

------
#### [ JDBC ]

**Como configurar o JDBC para autenticação para o Ping Identity**
+ Configure seu cliente de banco de dados para se conectar ao cluster por meio do JDBC usando a autenticação única do Ping Identity. 

  Você pode usar qualquer cliente que utilize um driver JDBC para se conectar por meio da autenticação única do Ping Identity ou usar uma linguagem, como Java, para se conectar por meio de um script. Para obter informações sobre instalação e configuração, consulte [Configurar uma conexão para o driver JDBC versão 2.x para o Amazon Redshift](jdbc20-install.md).

  Por exemplo, você pode usar SQLWorkbench/J como o cliente. Ao configurar o SQLWorkbench/j, a URL do seu banco de dados usa o seguinte formato.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Se você usar o SQLWorkbench/j como o cliente, execute as seguintes etapas:

  1. Inicie o SQL Workbench/J. Na página **Selecionar perfil de conexão**, adicione um **Grupo de perfis**, por exemplo, **Ping**.

  1. Em **Connection Profile (Perfil de conexão)**, insira ***your-connection-profile-name***, por exemplo, **Ping**.

  1. Escolha **Manage Drivers (Gerenciar drivers)** e escolha **Amazon Redshift**. Escolha o ícone **Open Folder (Abrir pasta)** ao lado de **Library (Biblioteca)**, e escolha o arquivo.jar JDBC apropriado. 

  1. Na página **Select Connection Profile (Selecionar perfil de conexão)**, adicione informações ao perfil de conexão da seguinte maneira:
     + Em **User (Usuário)**, insira seu nome do usuário do PingOne. Esse é o nome de usuário da conta do PingOne usado para o logon único que tem permissão para o cluster que você está tentando autenticar.
     + Em **Password (Senha)**, insira sua senha do PingOne.
     + Em **Drivers**, escolha **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + Para **URL**, insira **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Escolha **Extended Properties (Propriedades estendidas)** e siga um destes procedimentos:
     + Em **login\$1url**, insira ***your-ping-sso-login-url***. Esse valor especifica ao URL para usar autenticação única para login. 
     + Para o Ping Identity, em **plugin\$1name**, insira **com.amazon.redshift.plugin.PingCredentialsProvider**. Esse valor especifica ao driver para usar a autenticação única do Ping Identity como método. 
     + Para o Ping Identity com autenticação única, em **plugin\$1name**, insira **com.amazon.redshift.plugin.BrowserSamlCredentialsProvider**. Esse valor especifica ao driver para usar a autenticação única do PingOne do Ping Identity como método. 

------
#### [ ODBC ]

**Como configurar o ODBC para autenticação para o Ping Identity**
+ Configure o cliente de banco de dados para se conectar ao cluster por meio do ODBC usando a autenticação única do PingOne do Ping Identity. 

  O Amazon Redshift fornece drivers ODBC para sistemas operacionais Linux, Windows e macOS. Antes de instalar um driver de ODBC, será necessário determinar se a ferramenta do cliente SQL é de 32 ou 64 bits. Instale o driver de ODBC que corresponde aos requisitos da ferramenta de cliente SQL. 

  No Windows, na página **Amazon Redshift ODBC Driver DSN Setup (Configuração do DSN do driver ODBC do Amazon Redshift)**, em **Connection Settings (Configurações de conexão)**, insira as seguintes informações: 
  + Para **Data Source Name (Nome da fonte de dados)**, insira ***your-DSN***. Isto especifica o nome da fonte de dados usado como o nome do perfil de ODBC. 
  + Em **Auth type (Tipo de autenticação)**, siga um destes procedimentos:
    + Para a configuração do Ping Identity, escolha **Provedor de identidade: Ping Federate**. Esse é o método que o driver de ODBC usa para autenticar por meio da autenticação única do Ping Identity.
    + Para a configuração do Ping Identity com autenticação única, escolha **Identity Provider: Browser SAML** (Provedor de identidades: navegador SAML). Esse é o método que o driver de ODBC usa para autenticar por meio do Ping Identity com autenticação única.
  + Para **Cluster ID (ID do cluster)**, insira ***your-cluster-identifier***. 
  + Para **Region (Região)**, insira ***your-cluster-region***.
  + Para **Database (Banco de dados)**, insira ***your-database-name***.
  + Em **User (Usuário)**, insira ***your-ping-username***. Esse é o nome de usuário da conta do PingOne usado para autenticação única que tem permissão para o cluster que você está tentando autenticar. Use isso somente quando **Auth type (Tipo de autenticação)** for **Identity Provider: PingFederate (Provedor de identidade: PingFederate)**.
  + Em **Password (Senha)**, insira ***your-ping-password***. Use isso somente quando **Auth type (Tipo de autenticação)** for **Identity Provider: PingFederate (Provedor de identidade: PingFederate)**. 
  + Em **Porta de escuta**, insira ***your-listen-port***. Esta é a porta que o servidor local está escutando. O padrão é 7890. Isso se aplica somente ao plug-in de Browser SAML. 
  +  Em **Response Timeout (Tempo limite de resposta)**, insira ***the-number-of-seconds***. Este é o número de segundos a aguardar antes do tempo limite quando o servidor IdP envia de volta uma resposta. O número mínimo de segundos deve ser 10. Se o tempo para estabelecer a conexão for maior do que esse limite, a conexão é cancelada. Isso se aplica somente ao plug-in de Browser SAML.
  + Em **Login URL (URL de login)**, insira ***your-login-url***. Isso se aplica somente ao plug-in de Browser SAML.

  No macOS e no Linux, edite o arquivo `odbc.ini` da seguinte forma: 
**nota**  
Nenhuma entrada diferencia letras maiúsculas de minúsculas.
  + Para **clusterid**, insira ***your-cluster-identifier***. Esse é o nome do cluster criado pelo Amazon Redshift.
  + Para **region (região)**, insira ***your-cluster-region***. Esta é a Região da AWS do cluster do Amazon Redshift criado.
  + Para **database (banco de dados)**, insira ***your-database-name***. Este é o nome do banco de dados que você está tentando acessar no cluster do Amazon Redshift.
  + Para **locale (localidade)**, insira **en-us**. Este é o idioma em que as mensagens de erro são exibidas.
  + Para **IAM**, insira **1**. Esse valor especifica ao driver para autenticar usando credenciais do IAM.
  + Em **plugin\$1name**, siga um destes procedimentos:
    + Para a configuração do Ping Identity, insira **BrowserSAML**. Este é o método de autenticação que o driver de ODBC usa para se autenticar no Ping Identity. 
    + Na configuração do Ping Identity com autenticação única, digite **Ping**. Esse é o método que o driver de ODBC usa para autenticar por meio do Ping Identity com autenticação única. 
  + Em **uid**, insira ***your-ping-username***. Este é o nome de usuário da conta do Microsoft Azure que você está usando para logon único, que tem permissão para o cluster que você está tentando autenticar. Use isso somente quando **plugin\$1name** for **Ping**.
  + Em **pwd**, insira ***your-ping-password***. Use isso somente quando **plugin\$1name** for **Ping**. 
  + Em **login\$1url**, insira ***your-login-url***. Esse é o URL de autenticação única inicial que retorna a resposta de SAML. Isso se aplica somente ao plug-in de Browser SAML.
  + Em **idp\$1response\$1timeout**, insira ***the-number-of-seconds***. Esse é o período especificado em segundos para aguardar a resposta do PingOne Identity. Isso se aplica somente ao plug-in de Browser SAML.
  + Em **listen\$1port**, insira ***your-listen-port***. Esta é a porta que o servidor local está escutando. O padrão é 7890. Isso se aplica somente ao plug-in de Browser SAML.

  No macOS e no Linux, edite também as configurações de perfil para adicionar as exportações a seguir.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------

# Okta
<a name="setup-identity-provider-okta"></a>

É possível usar o Okta como um provedor de identidade (IdP) para acessar seu cluster do Amazon Redshift. Este tutorial mostra como usar o Okta como provedor de identidades (IdP) para acessar clusters do Amazon Redshift.

## Etapa 1: configurar o Okta e sua conta da AWS para que confiem um no outro
<a name="setup-identity-provider-okta-trust"></a>

O procedimento a seguir descreve como configurar uma relação de confiança.

**Para configurar o Okta e sua conta da AWS para que confiem um no outro**

1. Crie ou use um cluster existente do Amazon Redshift para os usuários do Okta se conectarem. Para configurar a conexão, certas propriedades deste cluster são necessárias, como o identificador de cluster. Para obter mais informações, consulte [Criar um cluster](https://docs.aws.amazon.com/redshift/latest/mgmt/create-cluster.html).

1. Adicione o Amazon Redshift como uma nova aplicação no portal Okta. Para obter etapas detalhadas, consulte a [Documentação do Okta](https://developer.okta.com/docs/). 
   + Escolha **Add Application (Adicionar aplicativo)**.
   + Em **Add Application (Adicionar aplicativo)**, escolha **Create New App (Criar novo aplicativo)**.
   + Na página **Create a New Add Application Integration (Criar uma nova integração de aplicativos de adição)**, em **Platform (Plataforma)**, escolha **Web**.
   + Em **Sign on method (Método de logon)**, escolha **SAML v2.0**.
   + Na página **General Settings (Configurações gerais)**, em **App name (Nome do aplicativo)**, insira ***your-redshift-saml-sso-name***. Esse é o nome do seu aplicativo.
   + Na página **Configurações de SAML**, em **URL de logon único**, insira ***your-redshift-local-host-url***. Este é o host local e a porta para os quais a declaração de SAML redireciona, por exemplo `http://localhost:7890/redshift/`.

1. Use o valor **URL de logon único** como o **URL do destinatário** e o **URL de destino**.

1. Em **Signing (Assinar)**, escolha **Sign Assertion (Assinar declaração)**.

1. Para **URI de público (ID da entidade SP)**, insira **urn:amazon:webservices** para as declarações, conforme mostrado na tabela a seguir. 

1. Na seção **Configurações avançadas**, em **ID do emissor SAML**, insira ***your-Identity-Provider-Issuer-ID***, que você encontra na seção **Visualizar instruções de configuração**.

1. Na seção **Attribute Statements (Declarações de atributo)**, crie as reivindicações conforme mostrado na tabela a seguir.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/redshift/latest/mgmt/setup-identity-provider-okta.html)

1. Na seção **App Embed Link (Link de incorporação de aplicativo)** localize o URL que você pode usar como o URL de login do plug-in SAML do navegador.

1. Crie um provedor de identidade SAML do IAM no console do IAM. O documento de metadados fornecido é o arquivo XML de metadados da federação que você salvou quando configurou o Okta. Para obter etapas detalhadas, consulte [Criar e gerenciar um provedor de identidade do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_saml.html#idp-manage-identityprovider-console) no *Manual do usuário do IAM*. 

1. Crie uma função do IAM para a federação do SAML 2.0 no console do IAM. Para obter etapas detalhadas, consulte [Criar uma função para o SAML](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-idp_saml.html#idp_saml_Create) no *Manual do usuário do IAM*. 

1. Crie uma política do IAM que você possa anexar à função do IAM criada para a federação do SAML 2.0 no console do IAM. Para obter etapas detalhadas, consulte [Criar políticas do IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-start) no *Manual do usuário do IAM*. Para obter um exemplo do Azure AD, consulte [Configurar a autenticação única de JDBC ou ODBC](setup-azure-ad-identity-provider.md). 

## Etapa 2: configurar JDBC ou ODBC para autenticação no Okta
<a name="setup-identity-provider-okta-auth"></a>

------
#### [ JDBC ]

**Como configurar o JDBC para autenticação no Okta**
+ Configure seu cliente de banco de dados para se conectar ao cluster por meio do JDBC usando a autenticação única do Okta.

  Você pode usar qualquer cliente que utilize um driver JDBC para se conectar por meio da autenticação única do Okta ou usar uma linguagem, como Java, para se conectar por meio de um script. Para obter informações sobre instalação e configuração, consulte [Configurar uma conexão para o driver JDBC versão 2.x para o Amazon Redshift](jdbc20-install.md).

  Por exemplo, você pode usar SQLWorkbench/J como o cliente. Ao configurar o SQLWorkbench/j, a URL do seu banco de dados usa o seguinte formato.

  ```
  jdbc:redshift:iam://cluster-identifier:us-west-1/dev
  ```

  Se você usar o SQLWorkbench/j como o cliente, execute as seguintes etapas:

  1. Inicie o SQL Workbench/J. Na página **Selecionar perfil de conexão**, adicione um **Grupo de perfis**, por exemplo, **Okta**.

  1. Em **Connection Profile (Perfil de conexão)**, insira ***your-connection-profile-name***, por exemplo, **Okta**.

  1. Escolha **Manage Drivers (Gerenciar drivers)** e escolha **Amazon Redshift**. Escolha o ícone **Open Folder (Abrir pasta)** ao lado de **Library (Biblioteca)**, e escolha o arquivo.jar JDBC apropriado. 

  1. Na página **Select Connection Profile (Selecionar perfil de conexão)**, adicione informações ao perfil de conexão da seguinte maneira:
     + Em **User (Usuário)**, insira o nome de usuário do Okta. Este é o nome de usuário da conta do Okta que está sendo usado para o logon único que tem permissão para o cluster que você está tentando autenticar.
     + Em **Password (Senha)**, insira sua senha do Okta.
     + Em **Drivers**, escolha **Amazon Redshift (com.amazon.redshift.jdbc.Driver)**.
     + Para **URL**, insira **jdbc:redshift:iam://*your-cluster-identifier*:*your-cluster-region*/*your-database-name***.

  1. Escolha **Extended Properties (Propriedades estendidas)** e siga um destes procedimentos:
     + Em **login\$1url**, insira ***your-okta-sso-login-url***. Esse valor especifica ao URL para usar autenticação única para login no Okta. 
     + Para autenticação única do Okta, em **plugin\$1name**, insira **com.amazon.redshift.plugin.OktaCredentialsProvider**. Esse valor especifica ao driver para usar a autenticação única do Okta como método. 
     + Para autenticação única do Okta com MFA, em **plugin\$1name**, insira **com.amazon.redshift.plugin.BrowserSamlCredentialsProvider**. Isso especifica para o driver usar o método de autenticação única do Okta com MFA. 

------
#### [ ODBC ]

**Como configurar o ODBC para autenticação no Okta**
+ Configure seu cliente de banco de dados para se conectar ao cluster por meio do ODBC usando a autenticação única do Okta. 

  O Amazon Redshift fornece drivers ODBC para sistemas operacionais Linux, Windows e macOS. Antes de instalar um driver de ODBC, será necessário determinar se a ferramenta do cliente SQL é de 32 ou 64 bits. Instale o driver de ODBC que corresponde aos requisitos da ferramenta de cliente SQL. 

  No Windows, na página **Amazon Redshift ODBC Driver DSN Setup (Configuração do DSN do driver ODBC do Amazon Redshift)**, em **Connection Settings (Configurações de conexão)**, insira as seguintes informações: 
  + Para **Data Source Name (Nome da fonte de dados)**, insira ***your-DSN***. Isto especifica o nome da fonte de dados usado como o nome do perfil de ODBC. 
  + Em **Auth type (Tipo de autenticação)**, siga um destes procedimentos:
    + Para a configuração de autenticação única do Okta, escolha **Identity Provider: Okta**. Esse é o método que o driver de ODBC usa para autenticar por meio da autenticação única do Okta.
    + Para a configuração de autenticação única do Okta com MFA, escolha **Identity Provider: Browser SAML**. Esse é o método que o driver de ODBC usa para autenticar por meio da autenticação única do Okta com MFA.
  + Para **Cluster ID (ID do cluster)**, insira ***your-cluster-identifier***. 
  + Para **Region (Região)**, insira ***your-cluster-region***.
  + Para **Database (Banco de dados)**, insira ***your-database-name***.
  + Em **User (Usuário)**, insira ***your-okta-username***. Esse é o nome de usuário da conta do Okta usado para autenticação única que tem permissão para o cluster que você está tentando autenticar. Use isso somente quando **Auth type (Tipo de autenticação)** for **Identity Provider: Okta (Provedor de identidade: Okta)**.
  + Em **Password (Senha)**, insira ***your-okta-password***. Use isso somente quando **Auth type (Tipo de autenticação)** for **Identity Provider: Okta (Provedor de identidade: Okta)**. 

  No macOS e no Linux, edite o arquivo `odbc.ini` da seguinte forma: 
**nota**  
Nenhuma entrada diferencia letras maiúsculas de minúsculas.
  + Para **clusterid**, insira ***your-cluster-identifier***. Esse é o nome do cluster criado pelo Amazon Redshift.
  + Para **region (região)**, insira ***your-cluster-region***. Esta é a Região da AWS do cluster do Amazon Redshift criado.
  + Para **database (banco de dados)**, insira ***your-database-name***. Este é o nome do banco de dados que você está tentando acessar no cluster do Amazon Redshift.
  + Para **locale (localidade)**, insira **en-us**. Este é o idioma em que as mensagens de erro são exibidas.
  + Para **IAM**, insira **1**. Esse valor especifica ao driver para autenticar usando credenciais do IAM.
  + Em **plugin\$1name**, siga um destes procedimentos:
    + Na configuração de autenticação única do Okta com MFA, digite **BrowserSAML**. Esse é o método que o driver de ODBC usa para autenticar por meio da autenticação única do Okta com MFA. 
    + Na configuração de autenticação única do Okta, digite **Okta**. Esse é o método que o driver de ODBC usa para autenticar por meio da autenticação única do Okta. 
  + Em **uid**, insira ***your-okta-username***. Esse é o nome de usuário da conta do Okta usado para autenticação única que tem permissão para o cluster no qual você está tentando autenticar. Use isso somente quando **plugin\$1name** for **Okta**.
  + Em **pwd**, insira ***your-okta-password***. Use isso somente quando **plugin\$1name** for **Okta**. 
  + Em **login\$1url**, insira ***your-login-url***. Esse é o URL de autenticação única inicial que retorna a resposta de SAML. Isso se aplica somente ao plug-in de Browser SAML.
  + Em **idp\$1response\$1timeout**, insira ***the-number-of-seconds***. Esse é o período especificado em segundos para aguardar a resposta do PingOne. Isso se aplica somente ao plug-in de Browser SAML.
  + Em **listen\$1port**, insira ***your-listen-port***. Esta é a porta que o servidor local está escutando. O padrão é 7890. Isso se aplica somente ao plug-in de Browser SAML.

  No macOS e no Linux, edite também as configurações de perfil para adicionar as exportações a seguir.

  ```
  export ODBCINI=/opt/amazon/redshift/Setup/odbc.ini
  ```

  ```
  export ODBCINSTINI=/opt/amazon/redshift/Setup/odbcinst.ini
  ```

------