Arquivo de chave privada do Firebase como variável de ambiente

Arquivo de chave privada do Firebase como variável de ambiente

Sou muito novo no Ubuntu e estou desenvolvendo um projeto baseado no banco de dados firebase firestore. Tentando executar serviços no servidor Ubuntu 22.04. Posso conectar o banco de dados Firestore (no Windows também posso fazer isso usando variáveis ​​de ambiente) com um arquivo de chave privada e quero manter esse arquivo em segredo. Para conseguir isso, criei um arquivo com segredo e referenciei-o em meu arquivo de configuração de serviço assim.

[Unit]
Description=myservice

[Service]
Type=simple
Restart=always
RestartSec=5sec
EnvironmetnFile=/etc/mysecrets/mysecret

[Install]
WantedBy=multi-user.target

Está funcionando para pequenas variáveis ​​como

MYSECRET=111111

Mas não trabalhando em um arquivo como o seguinte

    MYSECRET= {
  "type": "service_account",
  "project_id": "my-project-id",
  "private_key_id": "1234567890abcdef",
  "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDzq3MW0BWT4skj\n6pSG0ZXl...U6XyUrhRz\n-----END PRIVATE KEY-----\n",
  "client_email": "[email protected]",
  "client_id": "1234567890abcdef",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-project-id%40my-project-id.iam.gserviceaccount.com"
}

private_key terá mais de 1700 caracteres com \ncaracteres.

Como posso criar um arquivo secreto seguro com informações tão grandes no servidor Ubuntu? Qualquer ideia?

PS: Este não é um arquivo de chave privada real ou válido

Responder1

Comomurudito no comentário acima, a cota única resolveu meu problema. Acabei de digitar segredo assim e agora funciona perfeitamente.

Esseresponderresolveu meu problema.

MYSECRET= '{
  "type": "service_account",
  "project_id": "my-project-id",
  "private_key_id": "1234567890abcdef",
  "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDzq3MW0BWT4skj\n6pSG0ZXl...U6XyUrhRz\n-----END PRIVATE KEY-----\n",
  "client_email": "[email protected]",
  "client_id": "1234567890abcdef",
  "auth_uri": "https://accounts.google.com/o/oauth2/auth",
  "token_uri": "https://oauth2.googleapis.com/token",
  "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
  "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/my-project-id%40my-project-id.iam.gserviceaccount.com"
}'

informação relacionada