Como utilizar o Kubernetes External Secrets Operator com o Secret Manager
Descubra como configurar o External Secrets Operator para armazenar os segredos Kubernetes no Secret Manager da OVHcloud
Objetivo
Este manual explica como configurar o External Secrets Operator do Kubernetes para utilizar o Secret Manager da OVHcloud como fornecedor.
Este manual descreve a utilização do External Secrets Operator com o fornecedor HashiCorp Vault para aceder ao Secret Manager da OVHcloud através da API compatível com HashiCorp Vault KV2.
A OVHcloud disponibiliza agora um fornecedor External Secrets Operator nativo. Recomendamos a sua utilização para novas implementações. Consulte a documentação do fornecedor OVHcloud.
Requisitos
- Uma conta de cliente OVHcloud.
- Ter encomendado um domínio OKMS ou criado um primeiro segredo.
- Ter configurado um método de autenticação para o plano de dados OKMS (este manual utiliza um token de acesso pessoal).
- Ter um cluster Managed Kubernetes Service.
Instruções
Configuração do Secret Manager
Para permitir o acesso ao Secret Manager, irá precisar de um token, da region e do okms-id do seu Secret Manager.
Criação das credenciais
Crie um utilizador local IAM com direitos de acesso ao seu domínio, ou utilize uma conta de serviço. Consulte Métodos de autenticação OKMS para obter a configuração completa e os modelos de políticas IAM.
O utilizador deve pertencer a um grupo com a função ADMIN ou, caso utilize políticas IAM, deve ter pelo menos os seguintes direitos sobre o domínio OKMS:
okms:apikms:secret/createokms:apikms:secret/version/getDataokms:apikms:secret/getokms:apiovh:secret/get
Também é possível criar um utilizador com a CLI OVHcloud:
Em seguida, crie um token de acesso pessoal (Personal Access Token ou PAT) user_pat:
Utilize a seguinte chamada à API:
Com o seguinte payload (preencha-o com os seus valores):
A API responderá com:
Guarde o valor do campo token, pois não será apresentado novamente e será utilizado para se autenticar no Secret Manager como user_pat.
Informações do Secret Manager
Irá também precisar da region e do okms-id do domínio OKMS que pretende utilizar. Este ID e esta região podem ser encontrados no ou através da CLI OVHcloud:
Configuração do Secret Provider no Kubernetes
Instalação do External Secrets Operator (ESO) no seu cluster Kubernetes
Verifique se o ESO está em execução:
Criação de um segredo que contém o PAT
Comece por codificar o seu user_pat em base 64 para que possa ser armazenado num segredo Kubernetes.
Ou, se o user_pat estiver armazenado numa variável de ambiente:
Em seguida, crie um ficheiro secret.yaml:
E aplique o recurso ao cluster com o comando kubectl apply -f secret.yaml.
Ou, se utilizar uma variável de ambiente:
O segredo deverá ter sido criado:
Configuração do External Secrets Operator
Em primeiro lugar, configure um ClusterSecretStore responsável pela sincronização com o Secret Manager.
Configuramos o SecretStore utilizando o HashiCorp Vault com autenticação por token e o endpoint OKMS como backend.
Adicione o user_pat como segredo para poder utilizá-lo nos charts.
Para definir um novo recurso ClusterSecretStore, crie um ficheiro clustersecretstore.yaml com o seguinte conteúdo:
Apenas é suportada a autenticação por token.
Esta integração também funciona com um SecretStore.
O nome da região pode ser obtido a partir da localização da sua região utilizando:
Por exemplo, para Europe (France - Paris), o endpoint OKMS é eu-west-par.okms.ovh.net.
Implemente o recurso no seu cluster:
Utilização do External Secrets Operator
Depois de configurado o ClusterSecretStore, pode definir os ExternalSecret provenientes do Secret Manager.
Crie um ficheiro externalsecret.yaml com o seguinte conteúdo:
Aplique o recurso no seu cluster:
Isto irá criar um objeto Secret do Kubernetes.
Para mais informações sobre a gestão do External Secrets Operator, consulte a documentação dedicada, utilizando o fornecedor HashiCorp Vault: https://external-secrets.io/latest/.
Quer saber mais?
Utilizar o Secret Manager com a API REST
Fale com a nossa comunidade de utilizadores.