Halaman ini menjelaskan resolusi untuk error workload identity federation umum.
Google Cloud API tidak menerima kredensial yang diterbitkan dari SecurityTokenService
Jika mengalami error berikut, Anda mungkin mencoba mengakses
Google Cloud API secara langsung menggunakan kredensial yang diterbitkan dari
SecurityTokenService
, bukan menukarnya dengan kredensial akun layanan terlebih
dahulu.
{
"error": {
"code": 401,
"message": "Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project.",
"status": "UNAUTHENTICATED",
}
}
Untuk mengatasi error ini, tukarkan kredensial yang dibuat dari
SecurityTokenService
dengan token akun layanan dengan memanggil
GenerateAccessToken
.
Untuk informasi selengkapnya, lihat Memperoleh kredensial berjangka pendek dengan federasi
identitas.
Mengizinkan penyedia identitas untuk digunakan dengan workload identity federation
Jika Anda mencoba mengonfigurasi penyedia identitas yang tidak diizinkan sebagai penyedia workload identity pool, Anda akan mengalami error berikut:
FAILED_PRECONDITION: Precondition check failed.
- '@type': type.googleapis.com/google.rpc.PreconditionFailure
violations:
- description: "Org Policy violated for value: '{PROVIDER}'."
subject: orgpolicy:projects/{PROJECT}/locations/global/workloadIdentityPools/{POOL}
type: constraints/iam.workloadIdentityPoolProviders
Untuk mengatasi masalah ini, ikuti petunjuk tentang Membatasi konfigurasi penyedia identitas guna mengizinkan penyedia identitas untuk digunakan dengan workload identity federation.
Terjadi error saat menghubungkan ke penerbit kredensial yang diberikan
Jika Anda menerima error berikut, mungkin karena Google Cloud tidak dapat mengambil dokumen metadata OIDC atau JWKS IdP Anda:
{
"error": "invalid_grant",
"error_description":"Error connecting to the given credential's issuer."
}
Error ini biasanya terjadi karena endpoint tidak dikonfigurasi agar dapat dijangkau dari internet publik. Untuk mengatasi error ini, pastikan endpoint OIDC tersedia untuk publik dan sesuai dengan spesifikasi OIDC. Untuk informasi selengkapnya, lihat Menyiapkan penyedia identitas eksternal.
Jika Anda masih menerima error, periksa apakah penerbit token, yang mengklaim iss
dalam
token sudah benar.