Okta - Amazon Redshift

Okta

É 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

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.

  2. Adicione o Amazon Redshift como uma nova aplicação no portal Okta. Para obter etapas detalhadas, consulte a Documentação do Okta.

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

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

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

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

  6. Na seção Advanced Settings (Configurações avançadas), em SAML Issuer ID (ID do emissor SAML), insira your-Identity-Provider-Issuer-ID, que você encontra na seção View Setup Instructions (Visualizar instruções de configuração).

  7. Na seção Attribute Statements (Declarações de atributo), crie as reivindicações conforme mostrado na tabela a seguir.

    Nome da reivindicação Valor

    https://aws.amazon.com/SAML/Attributes/Role

    arn:aws:iam::123456789012:role/Okta,arn:aws:iam::123456789012:saml-provider/Okta

    https://aws.amazon.com/SAML/Attributes/RoleSessionName

    user.email

    https://redshift.amazon.com/SAML/Attributes/AutoCreate

    "true"

    https://redshift.amazon.com/SAML/Attributes/DbUser

    user.email

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

  9. 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) no Manual do usuário do IAM.

  10. 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 no Manual do usuário do IAM.

  11. 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) no Manual do usuário do IAM. Para obter um exemplo do Azure AD, consulte Configurar a autenticação única de JDBC ou ODBC.

Etapa 2: configurar JDBC ou ODBC para autenticação no Okta

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.1 para o Amazon Redshift.

    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.

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

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

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

    5. Escolha Extended Properties (Propriedades estendidas) e siga um destes procedimentos:

      • Em login_url, 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_name, 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_name, 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_name, 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_name for Okta.

    • Em pwd, insira your-okta-password. Use isso somente quando plugin_name for Okta.

    • Em login_url, 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_response_timeout, 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_port, 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