#google-cloud-platform #service-accounts #stackdriver #google-cloud-stackdriver #google-cloud-iam
#google-cloud-platform #сервисные учетные записи #stackdriver #google-cloud-stackdriver #google-cloud-iam
Вопрос:
У меня есть проект GCP. Я создал учетную запись службы с двумя ключами JSON (идентификаторами ключей). Для краткости давайте назовем их Key A
и Key B
.
Когда ключи созданы, я вижу в файле JSON, что каждый из них обладает уникальным private_key_id
свойством. Оба ключа имеют одинаковое значение client_email
очевидно, например foo@project-id-here.iam.gserviceaccount.com
В Stackdriver logging я вижу, client_email
используется учетная запись службы. Однако журналы аудита не делают различий между ключами, прикрепленными к реальной учетной записи службы. Другими словами, все, что я вижу в журналах (в этом примере показан доступ к BigQuery):
..authenticationInfo: {
principalEmail: "foo@project-id-here.iam.gserviceaccount.com"
}
authorizationInfo: [
0: {
granted: true
permission: "bigquery.jobs.create"
resource: "projects/project-id-here"
}
1: {
granted: true
permission: "bigquery.jobs.create"
resource: "projects/project-id-here"
}
]..
Как я могу узнать, какой ключ для учетной записи службы был фактически использован, т.е. Key A
или Key B
?
Комментарии:
1. Это хороший вопрос. Я никогда не видел идентификатор закрытого ключа, регистрируемый Stackdriver. Я думаю, что это будет хорошим запросом функции из-за аудита использования ключа.
2. Это также поднимает вопрос, когда учетная запись службы используется службой, ключ фактически не был сгенерирован для службы, которую мы можем видеть. Что в этом случае следует регистрировать для идентификатора закрытого ключа?
Ответ №1:
Разумный запрос, но в настоящее время это (как правило) невозможно.
Я рекомендую вам подать запрос на отслеживание проблем Google для ведения журнала: https://issuetracker.google.com/issues/new?component=187203amp;template=1162662