Я пытаюсь получить доступ к секрету, хранящемуся в Google Secret Manager из задания по обучению на платформе AI, которое выполняется в пользовательском контейнере. Я использую следующий код Python для получения секретов:
# Standard library imports
import os
# Import the Secret Manager client library.
from google.cloud import secretmanager
def access_secret_version(secret_id, version_id, project_id=os.environ.get("GCP_PROJECT")):
# Create the Secret Manager client.
client = secretmanager.SecretManagerServiceClient()
# Build the resource name of the secret version.
name = client.secret_version_path(project_id, secret_id, version_id)
# Access the secret version.
response = client.access_secret_version(name)
# Return the secret payload.
return response.payload.data.decode("UTF-8")
Я добавил роль Secret Manager Secret Accessor
в учетную запись службы Cloud ML по умолчанию (service-XXX@cloud-ml.google.com.iam.gserviceaccount.com
), но доступ по-прежнему запрещен:
google.api_core.exceptions.PermissionDenied: 403 Request had insufficient authentication scopes.
Предоставил ли я правильную роль правильной учетной записи службы или мне не хватает чего-то еще?