Можно ли использовать GKE Workload Identity с делегированием всего домена?
Мы использовали Google Directory API для получения профилей наших пользователей во внутреннем приложении. Когда мы аутентифицируемся, мы используем ключевой файл json для службы и
google-auth-library
JWT
учебный класс. У служебной учетной записи есть широкое делегирование домена для использования этой конечной точки. Таким образом, токен доступа должен иметь свой
subject
установить администратора рабочей области.
const jwt = new JWT({
email: key.client_email,
key: key.private_key,
subject: '<admin-email-address>',
scopes: 'https://www.googleapis.com/auth/admin.directory.user.readonly',
})
const accessToken = await jwt.getAccessToken()
Наша организация пытается отказаться от использования файлов ключей для учетных записей служб и перейти к идентификации рабочей нагрузки GKE. Мы можем аутентифицироваться, используя учетные данные приложения по умолчанию, установив тему в
clientOptions
.
const auth = new GoogleAuth({
scopes: 'https://www.googleapis.com/auth/admin.directory.user.readonly',
clientOptions: {
subject: '<admin-email-address>'
}
})
const accessToken = await auth.getAccessToken()
Однако для созданного маркера доступа не задана тема. Это означает, что токен не может получить доступ к API каталога.
Есть ли способ создать токен, который мог бы использовать Workload Identity?