Archivo de clave privada de Firebase como variable de entorno

Archivo de clave privada de Firebase como variable de entorno

Soy muy nuevo en Ubuntu y estoy desarrollando un proyecto basado en la base de datos Firebase Firestore. Intentando ejecutar servicios en el servidor ubuntu 22.04. Puedo conectar la base de datos de Firestore (en Windows también puedo hacer esto usando variables de entorno) con un archivo de clave privada y quiero mantener este archivo en secreto. Para lograr esto, creé un archivo con secreto y lo mencioné en mi archivo de configuración de servicio como este.

[Unit]
Description=myservice

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

[Install]
WantedBy=multi-user.target

Está funcionando para pequeñas variables como

MYSECRET=111111

Pero no funciona un archivo como el siguiente

    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"
}

La clave privada tendrá más de 1700 caracteres \n.

¿Cómo puedo crear un archivo secreto seguro con tanta información en el servidor Ubuntu? ¿Alguna idea?

PD: este no es un archivo de clave privada real o válido

Respuesta1

ComomuruDicho comentario anterior, la cuota única resolvió mi problema. Acabo de escribir un secreto como este y ahora funciona de maravilla.

Esterespuestaresolvió mi 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"
}'

información relacionada