Criar um segredo e uma função do IAM para usar consultas federadas
As etapas a seguir mostram como criar um segredo e uma função do IAM para usar com consultas federadas.
Pré-requisitos
Certifique-se de ter os seguintes pré-requisitos para criar um segredo e uma função do IAM para usar com consultas federadas:
Uma instância de banco de dados do RDS PostgreSQL, Aurora PostgreSQL, do RDS MySQL ou do Aurora com autenticação por nome de usuário e senha.
Um cluster do Amazon Redshift com uma versão de manutenção de cluster que oferece suporte a consultas federadas.
Como criar um segredo (nome de usuário e senha) com o AWS Secrets Manager
Faça login no console do Secrets Manager com a conta que possui a instância do cluster de banco de dados do RDS ou Aurora.
Selecione Armazenar um novo segredo.
Escolha o bloco Credentials for RDS database (Credenciais para banco de dados do RDS). Em User name (Nome de usuário) e Password (Senha), insira valores para a instância. Confirme ou escolha um valor para Encryption key (Chave de criptografia). Em seguida, escolha o banco de dados do RDS que seu segredo acessará.
nota
Recomendamos usar a chave de criptografia padrão (
DefaultEncryptionKey
). Se você usar uma chave de criptografia personalizada, a função do IAM usada para acessar o segredo deverá ser adicionada como um usuário da chave.Insira um nome para o segredo, siga as etapas de criação com as opções padrão e escolha Store (Armazenar).
Visualize o segredo e observe o valor de Secret ARN (ARN secreto) que você criou para identificar o segredo.
Como criar uma política de segurança usando o segredo
Faça login no AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/
. Crie uma política com JSON semelhante às informações a seguir.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AccessSecret", "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:
us-west-2
:123456789012
:secret:my-rds-secret-VNenFy" }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": [ "secretsmanager:GetRandomPassword", "secretsmanager:ListSecrets" ], "Resource": "*" } ] }Para recuperar o segredo, são necessárias ações de listagem e leitura. Recomendamos que você restrinja o recurso ao segredo específico criado. Para fazer isso, use o nome de recurso da Amazon (ARN) do segredo para limitar o recurso. Você também pode especificar as permissões e os recursos usando o editor visual no console do IAM.
Dê um nome à política e termine de criá-la.
-
Navegue até IAM roles (Funções do IAM).
Crie uma função do IAM para Redshift - Customizable (Redshift - Personalizável).
Anexe a política do IAM que você acabou de criar a uma função do IAM existente ou crie uma nova função do IAM e anexe a política a ela.
Na guia Trust relationships (Relações de confiança) da função do IAM, confirme se a função contém a entidade de confiança
redshift.amazonaws.com
.Anote o Role ARN (ARN da função) que você criou. Este ARN tem acesso ao segredo.
Para anexar a função do IAM ao seu cluster do Amazon Redshift
Faça login no AWS Management Console e abra o console do Amazon Redshift em https://console.aws.amazon.com/redshiftv2/
. No menu de navegação, escolha Clusters. Os clusters de sua conta na região atual da AWS são listados.
Escolha o nome do cluster na lista para visualizar mais detalhes sobre o cluster.
-
Em Actions (Ações), escolha Manage IAM roles (Gerenciar funções do IAM). A página Manage IAM roles (Gerenciar funções do IAM) é exibida.
Adicione a função do IAM ao cluster.