Memecahkan masalah error otorisasi
Halaman ini adalah bagian dari Mempersiapkan perubahan otorisasi mendatang. Halaman ini menjelaskan error yang mungkin Anda lihat dan cara memperbaikinya.
Tindakan yang ditolak memiliki salah satu dari dua penyebab, dan keduanya perlu dibedakan:
- Akun layanan run-as — Anda tidak dapat bertindak sebagai akun layanan tersebut, atau akun layanan tersebut tidak dapat mengakses apa yang dibutuhkan tugas. Lihat Error akun layanan run-as.
- Peran IAM Anda sendiri — Anda tidak diizinkan melakukan tindakan sama sekali. Lihat Error peran IAM.
Kedua pemeriksaan berlaku, jadi memperbaiki salah satunya tidak akan memperbaiki yang lainnya.
Error akun layanan run-as
Beberapa pemeriksaan ini masih diluncurkan, sehingga Anda mungkin belum melihat setiap error. Dalam
pesan, PRINCIPAL adalah akun yang diperiksa. Akun tersebut akan menampilkan
The caller jika akun tidak dapat diberi nama.
| Situasi | Yang akan Anda lihat | Yang harus dilakukan |
|---|---|---|
| Seseorang, otomatisasi, atau pemicu memulai integrasi, tetapi tidak dapat bertindak sebagai akun layanan run-as | Eksekusi ditolak dengan error berikut:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to run this integration.
|
Berikan Service Account User kepada siapa pun yang memulainya. Untuk pemicu, akun layanan pemicu. |
| Integrasi yang dibuat pada atau setelah 15 Oktober 2026, dengan pemicu selain API atau Pribadi, tidak memiliki akun layanan run-as. | Publikasi dan pengujian gagal dengan error berikut:
Set a run-as service account. These triggers run with no caller:
TRIGGERS. Required for integrations created on or after October 15,
2026 (UTC). |
Menetapkan akun layanan run-as |
| Run tanpa kredensial pengguna tidak memiliki akun layanan run-as. | Jika tata kelola integrasi diaktifkan untuk wilayah tersebut, publikasi dan pengujian akan gagal
dengan error berikut, apa pun tanggal pembuatan integrasi:
Your project requires a run-as service account. Set one before publish or
test.
Tata kelola adalah setelan Aktifkan tata kelola yang dijelaskan di
Mengedit
wilayah.
Untuk wilayah tanpa tata kelola, sistem tidak menolak eksekusi ini mulai
15 Oktober 2026. Namun, berikut ini direncanakan akan gagal dalam rilis mendatang:
|
Menetapkan akun layanan run-as |
| Tugas Integrasi Panggilan tidak dapat memulai sub-integrasinya | Tugas Integrasi Panggilan integrasi panggilan gagal karena salah satu
alasan berikut:
|
Tetapkan akun layanan run-as di sub-integrasi, atau panggil secara sinkron. Kemudian berikan Service Account User di akun tersebut. |
| Seseorang memublikasikan atau menguji integrasi yang menggunakan profil autentikasi yang akun layanannya tidak dapat ia gunakan, atau run mencapai tugas yang menggunakan profil tersebut | Publikasi atau pengujian gagal, atau tugas gagal, dengan error berikut:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to use auth config
"AUTH_PROFILE_NAME". Apakah sisa proses berjalan akan dilanjutkan
bergantung pada cara tugas menangani error. |
Berikan Service Account User di akun yang namanya tercantum dalam profil |
| Seseorang membuat atau mengedit profil autentikasi Akun layanan atau Token OIDC tanpa izin untuk bertindak sebagai akun layanannya | Penyimpanan profil gagal dengan error berikut:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to save this auth config. |
Berikan Service Account User di akun yang disebutkan dalam profil kepada siapa pun yang mengelolanya |
| Pemberi persetujuan tidak dapat bertindak sebagai akun layanan run-as | Persetujuan atau kelanjutan eksekusi gagal dengan error berikut:
PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to resume this execution.
Eksekusi tetap dijeda hingga berakhir, sehingga persetujuan tampaknya berhenti
berfungsi |
Berikan Pengguna Akun Layanan kepada semua orang yang mungkin menyetujui |
| Seseorang memublikasikan atau menguji integrasi tanpa izin untuk bertindak sebagai akun layanan run-as-nya | PRINCIPAL needs roles/iam.serviceAccountUser on
SERVICE_ACCOUNT (or its project) to publish or test this
integration. Apa pun yang sudah dipublikasikan akan terus berjalan. Jika otomatisasi
memublikasikan untuk Anda, hal ini akan muncul di pipeline deployment, bukan di
konsol |
Memberikan Service Account User kepada penayang, penguji, dan otomatisasi |
| Tugas berjalan sebagai orang yang memicunya, dan orang tersebut tidak dapat mengakses resource. Dalam integrasi baru, dan mulai 15 Oktober 2026, dalam pengujian integrasi apa pun, JavaScript, Skrip Transformer Data, dan Pemetaan Data dijalankan dengan cara ini | Run dimulai secara normal, lalu satu tugas gagal memberi nama resource, meskipun tidak ada yang berubah dalam integrasi | Beri orang tersebut akses ke resource, atau pindahkan integrasi ke akun layanan jalankan sebagai yang sudah memilikinya — biasanya jawaban yang lebih baik, karena menghentikan akses integrasi yang bervariasi dengan siapa pun yang menjalankannya |
Untuk mengetahui daftar lengkap kode error Application Integration, lihat Kode error.
Error peran IAM
Selain akun layanan run-as, Application Integration memverifikasi izin IAM pengguna Anda untuk setiap tindakan. Jika Anda mengalami error
PERMISSION_DENIED saat berinteraksi dengan integrasi, atau jika
log eksekusi gagal dimuat, pastikan Anda memiliki peran yang memberikan izin yang diperlukan:
| Untuk melakukannya | Anda memerlukan salah satu peran ini |
|---|---|
| Melihat dan membuka integrasi | roles/integrations.integrationViewer |
| Melihat log dan detail eksekusi | roles/integrations.integrationViewer atau
roles/integrations.integrationInvoker |
| Menjalankan integrasi | roles/integrations.integrationInvoker atau
roles/integrations.integrationEditor |
| Membuat dan mengedit integrasi | roles/integrations.integrationEditor |
| Memublikasikan integrasi | roles/integrations.integrationDeployer atau
roles/integrations.integrationEditor |
| Menyetujui atau melanjutkan eksekusi yang ditangguhkan | roles/integrations.suspensionResolver atau
roles/integrations.integrationAdmin |
| Akses penuh ke semua integrasi | roles/integrations.integrationAdmin |
Untuk memberikan peran, jalankan perintah berikut:
gcloud projects add-iam-policy-binding PROJECT_ID \
--member='user:PRINCIPAL' \
--role='ROLE'
Untuk informasi selengkapnya, lihat referensi berikut:
- Peran IAM yang telah ditetapkan, untuk mengetahui daftar lengkap peran dan izin yang dimiliki setiap peran.
- Kontrol akses, untuk cara Application Integration menggunakan IAM.
Pemberian izin tidak memperbaiki error
- Hibah diberikan untuk project yang salah. Permintaan harus dibuat di project yang memiliki akun layanan, yang tidak harus merupakan project yang memiliki integrasi.
- Perubahan belum berlaku. Tunggu beberapa menit. Keputusan otorisasi di-cache sebentar, di samping penundaan propagasi IAM normal.
- Ada akun layanan kedua yang terlibat. Akun layanan jalankan sebagai Anda, akun layanan setiap profil autentikasi, dan akun layanan jalankan sebagai setiap sub-integrasi terpisah, dan masing-masing memerlukan pemberiannya sendiri.
- Pemberian akses diberikan ke akun utama yang salah. Untuk pemicu peristiwa Cloud Scheduler, Cloud Pub/Sub, Eventarc, atau Integration Connectors, prinsipal yang memerlukan pemberian adalah akun layanan pemicu, bukan Anda. Lihat Siapa yang memerlukan peran Pengguna Akun Layanan.
- Blokir adalah peran Anda sendiri, bukan akun layanan. Pengguna Akun Layanan adalah tentang apakah Anda dapat bertindak sebagai akun layanan run-as; peran IAM terpisah mengatur apakah Anda diizinkan untuk melakukan tindakan. Lihat Error peran IAM.