Private Firebase-Schlüsseldatei als Umgebungsvariable

Private Firebase-Schlüsseldatei als Umgebungsvariable

Ich bin ein Neuling bei Ubuntu und entwickle ein Projekt basierend auf der Firebase Firestore-Datenbank. Ich versuche, Dienste auf Ubuntu Server 22.04 auszuführen. Ich kann die Firestore-Datenbank (unter Windows kann ich das auch mithilfe von Umgebungsvariablen tun) mit einer privaten Schlüsseldatei verbinden und ich möchte diese Datei geheim halten. Um dies zu erreichen, habe ich eine Datei mit einem geheimen Schlüssel erstellt und sie in meiner Dienstkonfigurationsdatei wie folgt referenziert.

[Unit]
Description=myservice

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

[Install]
WantedBy=multi-user.target

Es funktioniert für kleine Variablen wie

MYSECRET=111111

Aber eine Datei wie die folgende funktioniert nicht

    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 wird über 1700 Zeichen lang sein \n.

Wie kann ich mit so vielen Informationen eine sichere geheime Datei auf einem Ubuntu-Server erstellen? Irgendeine Idee?

PS: Dies ist keine echte oder gültige private Schlüsseldatei

Antwort1

WieMuruWie im obigen Kommentar erwähnt, hat eine einzelne Quote mein Problem gelöst. Ich habe einfach secret so eingegeben und jetzt funktioniert es wie am Schnürchen.

DasAntworthat mein Problem gelöst.

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

verwandte Informationen