Configurar a autenticação do IAM para o RDS Proxy - Amazon Aurora

Configurar a autenticação do IAM para o RDS Proxy

Para configurar a autenticação do AWS Identity and Access Management (IAM) para o RDS Proxy no Amazon RDS, crie e configure uma política do IAM que conceda as permissões necessárias. O RDS Proxy usa o AWS Secrets Manager para gerenciar as credenciais do banco de dados com segurança, o que permite que as aplicações se autentiquem por meio do proxy sem lidar diretamente com as credenciais.

Este tópico apresenta as etapas para configurar a autenticação do IAM para o RDS Proxy, bem como para criar a política do IAM necessária e anexá-la a um perfil do IAM.

dica

Este procedimento só é necessário se você quiser criar seu próprio perfil do IAM. Caso contrário, o RDS pode criar automaticamente o perfil necessário ao configurar o proxy, para que você possa pular essas etapas.

Pré-requisitos

Antes de configurar a autenticação do IAM para o RDS Proxy, você deve ter o seguinte:

  • AWS Secrets Manager: pelo menos um segredo armazenado que contenha as credenciais do banco de dados. Para obter instruções sobre como criar esses segredos, consulte Configurar credenciais de banco de dados no AWS Secrets Manager para RDS Proxy.

  • Permissões do IAM: um perfil ou usuário do IAM com permissões para criar e gerenciar políticas, perfis e segredos do IAM no AWS Secrets Manager.

Criar uma política do IAM para acesso ao Secrets Manager

Para permitir que o RDS Proxy recupere as credenciais do banco de dados do Secrets Manager, crie um perfil do IAM com uma política que conceda as permissões necessárias.

Como criar um perfil para acessar segredos e usá-los com o proxy
  1. Faça login no AWS Management Console e abra o console do IAM, em https://console.aws.amazon.com/iam/.

  2. Crie uma política de permissões para o perfil. Para ver as etapas gerais, consulte Criar políticas do IAM (console).

    Cole essa política no editor de JSON e faça as seguintes alterações:

    • Substitua o ID da sua própria conta.

    • Substitua us-east-2 pela região onde o proxy residirá.

    • Substitua os nomes dos segredos pelos que você criou. Para ter mais informações, consulte Specifying KMS keys in IAM policy statements.

    • Substitua o ID da chave do KMS pelo que você usou para criptografar os segredos do Secrets Manager, seja a chave padrão ou sua própria chave.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }
  3. Crie o perfil e anexe a política de permissões a ele. Para ver as etapas gerais, consulte Criar um perfil para delegar permissões a um serviço da AWS.

    Em Tipo de entidade confiável, escolha Serviço da AWS. Em Caso de uso, selecione RDS e escolha RDS - Adicionar perfil ao banco de dados para o caso de uso.

  4. Em Políticas de permissões, escolha a política que você criou.

  5. Em Selecionar entidades confiáveis, insira a seguinte política de confiança para o perfil:

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

Para criar o perfil usando a AWS CLI, envie a seguinte solicitação:

aws iam create-role \ --role-name my_role_name \ --assume-role-policy-document '{"Version":"2012-10-17","Statement":[{"Effect":"Allow","Principal":{"Service":["rds.amazonaws.com"]},"Action":"sts:AssumeRole"}]}'

Depois, anexe a política ao perfil:

aws iam put-role-policy \ --role-name my_role_name \ --policy-name secret_reader_policy \ --policy-document '{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "secretsmanager:GetSecretValue", "Resource": [ "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_1", "arn:aws:secretsmanager:us-east-2:account_id:secret:secret_name_2" ] }, { "Sid": "VisualEditor1", "Effect": "Allow", "Action": "kms:Decrypt", "Resource": "arn:aws:kms:us-east-2:account_id:key/key_id", "Condition": { "StringEquals": { "kms:ViaService": "secretsmanager.us-east-2.amazonaws.com" } } } ] }'

Com o perfil e as permissões do IAM configurados, agora você pode criar um proxy e associá-lo a esse perfil. Isso permite que o proxy recupere seguramente as credenciais do banco de dados por meio do AWS Secrets Manager e habilite a autenticação do IAM para suas aplicações. Para obter instruções, consulte Criar um proxy para o Amazon Aurora.