Como posso configurar o AWS Client VPN usando funções IAM para autenticação?

Como posso configurar o AWS Client VPN usando funções IAM para autenticação?

Contexto: estou tentando configurar o Postgres RDS em uma sub-rede private_isolated de um VPC. Quero usar o pgAdmin para trabalhar nele, o que significa que preciso de um bastião ou de uma conexão VPN. Um bastião requer uma instância do EC2 de longa duração e atualmente não tenho nenhum EC2 em execução. Gostaria de configurar a conexão VPN, pois isso parece mais direto. Porém, não temos AD ou provedor SAML - temos usuários IAM e SSO para iniciar uma sessão AWS. ATUALIZAÇÃO: percebi que o IAM pode ser usado no nível RDS para permitir logins de sessão.https://aws.amazon.com/premiumsupport/knowledge-center/users-connect-rds-iam/Portanto, isso cobre pelo menos um problema relacionado.

O cliente VPN parece ser normalmente configurado usando AD ou um provedor SAML, ou manualmente com autenticação mútua usando certificados criados manualmente. As primeiras opções parecem um exagero - somos uma empresa pequena e não precisamos de AD ou de um provedor SAML separado. Enquanto os certificados manuais, por outro lado, parecem propensos a erros humanos, pois é necessário muito para configurar a CA ou para que cada usuário carregue um certificado de cliente.

Eu sou um n00b em coisas de administrador de sistemas. Existe um motivo pelo qual não posso usar o SSO do IAM para criar um segredo que me permita acesso VPN por uma hora, exatamente como faço para fazer login no Management Console ou usar a CLI? Isso é possível com a opção SAML? Estou fazendo as perguntas erradas?

Obrigado!

Responder1

Considerando que você deseja seu banco de dados em uma sub-rede privada, a única maneira de conectar-se é através de VPN ou DirectConnect (caro), ou através de uma instância EC2 com acesso ao banco de dados (bastião) (Ver documentoshttps://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Scenarios.html#USER_VPC.Scenario3).

A maneira mais econômica é usar uma instância EC2. Em vez de usar SSH e se complicar com chaves, você pode configurar o agente SSM em sua instância e permitir que seus usuários acessem por meio do console. Aqui estão os documentos:https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html

Responder2

Até agora, cheguei à conclusão de que “você não pode” é a resposta curta. Provavelmente existe alguma maneira indireta em um script bash de usar usuários IAM para acessar algum certificado que é usado para conectar-se à VPN.

Em vez disso, alternativas como a mencionada por @palvarez podem ser a melhor solução para alguém com um problema semelhante.

informação relacionada