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 \n
caracteres.
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"
}'