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