Se você é um usuário regular do F5 NGINX Plus , é provável que esteja criando contêineres para testar novos recursos ou funcionalidades. E ao criar contêineres NGINX Plus, muitas vezes você acaba armazenando informações confidenciais, como o certificado e a chave do repositório NGINX, no seu sistema de arquivos local. Embora seja simples adicionar arquivos confidenciais a um arquivo de repositório .gitignore
, esse processo não é ideal nem seguro. Na verdade, há muitos exemplos em que engenheiros acidentalmente enviam informações confidenciais para um repositório.
Um método melhor é usar uma solução de gerenciamento de segredos. Pessoalmente, sou fã de longa data do 1Password e recentemente descobri sua ferramenta CLI . Esta ferramenta facilita a interação de desenvolvedores e engenheiros de plataforma com segredos em seu fluxo de trabalho diário.
Nesta postagem do blog, descrevemos como usar o 1Password CLI para criar com segurança um contêiner NGINX Plus. Este exemplo pressupõe que você tenha uma assinatura NGINX Plus , uma assinatura 1Password com a ferramenta CLI instalada , acesso a um ambiente com um shell (Bash ou Zsh) e o Docker instalado.
O primeiro passo é armazenar seus segredos no 1Password, que suporta vários tipos de segredos, como credenciais de API, arquivos, notas e senhas. Neste caso de uso do NGINX Plus, aproveitamos o recurso de arquivo seguro do 1Password.
Você pode obter seu certificado e chave do repositório NGINX no portal MyF5 . Siga a documentação do 1Password para criar um documento seguro para o certificado e a chave do repositório NGINX. Depois de criar os dois documentos seguros, siga os passos para coletar a referência secreta do 1Password .
Observação : No momento em que este artigo foi escrito, o 1Password não suportava vários arquivos no mesmo registro.
Agora é hora de criar o contêiner NGINX Plus, usando seus arquivos seguros e seus URIs secretos de referência. Nesta etapa, usamos o Dockerfile de exemplo do Guia de administração do NGINX Plus.
de construção do docker
Depois de salvar o Dockerfile em um novo diretório, prepare o processo de compilação do docker
. Para passar seus segredos do 1Password para o docker build
, primeiro armazene cada URI de referência secreta em uma variável de ambiente. Em seguida, abra um novo terminal Bash no diretório onde você salvou seu Dockerfile.
Digite estes comandos no terminal Bash:
exportar NGINX_CRT="op://Work/nginx-repo-crt/nginx-repo.crt"exportar NGINX_KEY="op://Work/nginx-repo-key/nginx-repo.key"
O comando op run
permite que sua CLI do 1Password substitua URIs de referência secreta em variáveis de ambiente pelo valor do segredo. Você pode aproveitar isso no seu comando docker build
para passar o certificado e a chave do repositório NGINX para o contêiner de compilação.
Para terminar de construir seu contêiner, execute os seguintes comandos no mesmo terminal usado na etapa anterior:
op run -- docker build --no-cache --secret id=nginx-key,env=NGINX_KEY --secret id=nginx-crt,env=NGINX_CRT -t nginxplus --load .
Neste comando, op run
executa o comando docker build
e detecta duas referências de variáveis de ambiente ( NGINX_CRT
e NGINX_KEY
) com os URIs de referência secreta do 1Password. O comando op
substitui o URI pelo valor real do segredo.
Seguindo os passos simples e usando o 1Password CLI , você pode criar contêineres NGINX Plus no repositório NGINX Plus sem armazenar o certificado e a chave no seu sistema de arquivos local, criando um ambiente para melhor segurança.
Se você é novo no NGINX Plus, pode começar seu teste gratuito de 30 dias hoje mesmo ou entrar em contato conosco para discutir seus casos de uso .
"Esta postagem do blog pode fazer referência a produtos que não estão mais disponíveis e/ou não têm mais suporte. Para obter as informações mais atualizadas sobre os produtos e soluções F5 NGINX disponíveis, explore nossa família de produtos NGINX . O NGINX agora faz parte do F5. Todos os links anteriores do NGINX.com redirecionarão para conteúdo semelhante do NGINX no F5.com."