Я пытаюсь использовать HTTP-запросы Cloud Tasks для доступа к конечной точке Kubernetes за балансировщиком нагрузки HTTPS, защищенным Cloud IAP.
Конечная точка работает, используя любую учетную запись компании Gsuite, как и должно быть, но когда выполняется облачная задача, это журнал Cloud Audit - Data Access (отображаются только важные части)
authenticationInfo: {
}
authorizationInfo: [
0: {
permission: "iap.webServiceVersions.accessViaIAP"
resource: "projects/<PROJECT_NUMBER>/iap_web/compute/services/<SERVICE_NUMBER>/versions/bs_0"
resourceAttributes: {
service: "iap.googleapis.com"
type: "iap.googleapis.com/WebServiceVersion"
}
}
]
status: {
code: 7
message: "PERMISSION_DENIED"
}
Я использую учетную запись службы вычислительного механизма для создания задачи, поэтому я предоставил этой учетной записи соответствующие разрешения:
Когда я создаю задачу, я добавляю адрес электронной почты соответствующей учетной записи службы OIDC в HTTP-запрос.
'oidc_token': {'service_account_email': <PROJECT_NUMBER>[email protected]}}
Я также проверил HTTP-запрос Cloud Tasks на другой конечной точке, и токен носителя аутентификации присутствует.
Я действительно понятия не имею, как заставить это работать. Спасибо за помощь