Я создал учетную запись службы и получил обратно файл учетных данных в формате JSON, который выглядит следующим образом.
{
"type": "service_account",
"project_id": "myproject",
"private_key_id": "db0cd27ba7d2acad610b854c04f0aa8ad67ad5fc",
"private_key": "REDACTED",
"client_email": "gitlab-ci@myproject.iam.gserviceaccount.com",
"client_id": "558691835510594518717",
"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/gitlab-ci%40myproject.iam.gserviceaccount.com"
}
Затем я могу активировать эту учетную запись службы следующим образом
# gcloud auth activate-service-account --key-file myproject-5ddb0cd20b85.json
Activated service account credentials for: [gitlab-ci@myproject.iam.gserviceaccount.com]
Посколькуфайл JSON включает project_id
, я ожидал, что это будет установлено в активной конфигурации, но это не так.
# gcloud config configurations list
NAME IS_ACTIVE ACCOUNT PROJECT DEFAULT_ZONE DEFAULT_REGION
default True gitlab-ci@myproject.iam.gserviceaccount.com
Есть ли какой-нибудь способ установить проект из файла JSON при активацииучетная запись службы?