환경 변수인 Firebase 개인 키 파일

환경 변수인 Firebase 개인 키 파일

저는 Ubuntu를 처음 접했고 Firebase Firestore 데이터베이스를 기반으로 프로젝트를 개발하고 있습니다. 우분투 서버 22.04에서 서비스를 실행하려고 합니다. Firestore 데이터베이스(Windows에서는 환경 변수를 사용하여 이 작업을 수행할 수도 있음)를 개인 키 파일과 연결할 수 있으며 이 파일을 비밀로 유지하고 싶습니다. 이를 달성하려면 비밀이 포함된 파일을 만들고 이를 내 서비스 구성 파일에서 이와 같이 참조했습니다.

[Unit]
Description=myservice

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

[Install]
WantedBy=multi-user.target

다음과 같은 작은 변수에 대해 작동합니다.

MYSECRET=111111

하지만 다음과 같은 파일은 작동하지 않습니다.

    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는 1700자 이상의 문자입니다 \n.

Ubuntu 서버에서 이렇게 큰 정보가 포함된 안전한 비밀 파일을 어떻게 만들 수 있나요? 어떤 아이디어?

추신: 이것은 실제 또는 유효한 개인 키 파일이 아닙니다.

답변1

좋다무루위의 의견에 따르면 단일 할당량이 내 문제를 해결했습니다. 방금 이와 같이 비밀글을 입력했는데 이제 매력처럼 작동합니다.

이것답변내 문제를 해결했습니다.

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

관련 정보