1.0.0 • Published 11 months ago

serverless-create-ssm-secrets-plugin v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
11 months ago

serverless-create-ssm-secrets-plugin

npm license downloads

Descrição

serverless-create-ssm-secrets-plugin é um plugin para o Serverless Framework que facilita a criação e atualização de secrets no AWS SSM (Systems Manager Parameter Store). O plugin permite a configuração de secrets diretamente no arquivo serverless.yml, com suporte para valores criptografados usando o algoritmo AES-192-CBC.

Instalação

Você pode instalar o plugin via npm:

npm install serverless-create-ssm-secrets-plugin --save-dev

Uso

Adicione o plugin ao seu arquivo serverless.yml:

service: my-service

plugins:
  - serverless-create-ssm-secrets-plugin

custom:
  createSsmSecrets: 
    decryptionKey: "<aes-key>"
    prefix: /my-service/api/
    secrets: 
      secret_key_1: 
        encrypted: true
        value: "encrypted-text-secret"
      secret_key_2:
        encrypted: false 
        value: "plain-text-secret"

Configurações

  • decryptionKey (opcional): Chave de criptografia de 192 bits (48 caracteres hexadecimais) utilizada para descriptografar secrets marcadas como encrypted: true.
  • prefix (opcional): Prefixo que será adicionado ao nome de cada secret no SSM.
  • secrets (obrigatório): Um objeto que contém os secrets a serem criados ou atualizados no SSM.

Exemplo de Uso

Se você definir o serverless.yml da seguinte forma:

custom:
  createSsmSecrets: 
    decryptionKey: "c95334e0aed31bd815a129ce226d93e15a443e69dce96c2d"
    prefix: /my-service/api/
    secrets: 
      database_password: 
        encrypted: true
        value: "51b76fce4cdc1e65da3a403dcbc04e73:c36865779fac550ea258850d304dd3d709b036cefdb1a96e21b427e54fb211dc3b6bdf5a603c4ce7bd0834425ab9d90b"
      api_key:
        encrypted: false 
        value: "plain-text-api-key"

O plugin criará ou atualizará os seguintes parâmetros no AWS SSM:

  • /my-service/api/database_password (descriptografado)
  • /my-service/api/api_key (em texto simples)

Requisitos

  • O plugin espera que as seguintes variáveis de ambiente estejam configuradas:
    • AWS_ACCESS_KEY_ID
    • AWS_SECRET_ACCESS_KEY
    • AWS_REGION
    • AWS_ENDPOINT (necessário se você estiver usando LocalStack)

Avisos

  • Chave de Criptografia: Se qualquer secret estiver marcado como encrypted: true, o campo decryptionKey deve ser fornecido.
  • Permissões do IAM: Certifique-se de que as credenciais AWS fornecidas tenham permissões adequadas para acessar e modificar os parâmetros no SSM.

Contribuição

Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests para melhorias ou correções.

Licença

Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para mais detalhes.

1.0.0

11 months ago