Я пытаюсь получить доступ к безопасному облачному сервису. Если я попробую с моей машины с SDK, он будет работать нормально:
curl --header "Authorization: Bearer $(gcloud auth print-identity-token)"
Однако я не могу заставить его работать, используя API Python, используя ту же учетную запись службы, я Я пытался использовать google-auth для получения токена доступа, но это дает мне ошибку 401 аутентификации. Вот код, который я использую, чтобы попытаться получить токен:
import google.auth
import google.auth.transport.requests
scopes = ['https://www.googleapis.com/auth/cloud-platform']
creds, projects = google.auth.default(scopes=scopes)
auth_req = google.auth.transport.requests.Request()
creds.refresh(auth_req)
# then using creds.token
Глядя на документы: https://cloud.google.com/run/docs/authenticating/service-to-service#calling_from_outside_gcp здесь сказано следовать примеру кода: https://cloud.google.com/iap/docs/authentication-howto#iap_make_request - python Кажется, я не могу следовать руководству, так как в нем говорится о том, чтобы включить IAP, но кажется, что IAP предназначен только для ядра приложения, а не для работы в облаке?
Кто-нибудь go любой совет по этому поводу?
Спасибо