Halaman ini berlaku untuk Apigee, tetapi tidak untuk Apigee Hybrid.
Lihat dokumentasi Apigee Edge.
Ringkasan
VerifyIAM adalah bagian dari metode berbasis IAM Google Cloud untuk mengelola autentikasi dan otorisasi untuk akses API, mirip dengan kebijakan OAuthv2. Untuk informasi tentang cara menyertakan VerifyIAM dalam solusi kontrol akses berbasis IAM, lihat Ringkasan autentikasi API berbasis IAM.
Kebijakan ini adalah Kebijakan standar dan dapat di-deploy ke jenis lingkungan apa pun. Untuk mengetahui informasi tentang jenis kebijakan dan ketersediaan dengan setiap jenis lingkungan, lihat Jenis kebijakan.
Referensi elemen
Referensi ini menunjukkan elemen dan atribut kebijakan VerifyIAM.
<VerifyIAM async="false" continueOnError="false" enabled="true" name="MyVerifyIAMPolicy"> <DisplayName>Custom label used in UI</DisplayName> <CredentialSource>flow_variable_name_containing_credential_value</CredentialSource> </VerifyIAM>
Atribut <VerifyIAM>
<VerifyIAM async="false" continueOnError="false" enabled="true" name="MyVerifyIAMPolicy">
Tabel berikut menjelaskan atribut yang umum untuk semua elemen induk kebijakan:
Atribut | Deskripsi | Default | Kehadiran |
---|---|---|---|
name |
Nama internal kebijakan. Nilai atribut Secara opsional, gunakan elemen |
T/A | Wajib |
continueOnError |
Tetapkan ke Tetapkan ke |
false | Opsional |
enabled |
Tetapkan ke Tetapkan ke |
benar | Opsional |
async |
Atribut ini tidak digunakan lagi. |
false | Tidak digunakan lagi |
Elemen <DisplayName>
Gunakan selain atribut name
untuk melabeli kebijakan di editor proxy UI pengelolaan dengan nama bahasa alami yang berbeda.
<DisplayName>Policy Display Name</DisplayName>
Default |
T/A Jika Anda menghapus elemen ini, nilai atribut |
---|---|
Kehadiran | Opsional |
Jenis | String |
Elemen <CredentialSource>
<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>
Elemen ini menentukan variabel alur yang berisi nilai kredensial, dan memiliki karakteristik berikut:
- Biasanya, klien mengirim nilai dalam parameter kueri, header HTTP, atau parameter
formulir. String harus menentukan variabel alur yang sesuai dalam bentuk
request.queryparam.token
. - Saat dibaca dari referensi, nilai langsung diharapkan. Misalnya, 'Bearer' tidak boleh ada sebagai awalan.
- Jika dihilangkan, eksekusi kebijakan mengasumsikan nilai tersebut berada dalam header otorisasi dan dalam format standar "Bearer xyz".
Default | T/A |
---|---|
Kehadiran | Opsional |
Jenis | Variabel flow |
Contoh:
<VerifyIAM async="false" continueOnError="false" enabled="true" name="Verify-IAM-Permissions-1"> <DisplayName>VerifyIAM policy for flow 1</DisplayName> <CredentialSource>request.queryparam.token</CredentialSource> </VerifyIAM>
Referensi error
Bagian ini menjelaskan kode error dan pesan error yang ditampilkan serta variabel error yang ditetapkan oleh Apigee saat kebijakan ini memicu error. Informasi ini penting untuk diketahui jika Anda mengembangkan aturan error untuk menangani error. Untuk mempelajari lebih lanjut, lihat Yang perlu Anda ketahui tentang error kebijakan dan Menangani error.
Error runtime
Error ini dapat terjadi saat kebijakan dieksekusi.
Kode kerusakan | Status HTTP | Penyebab |
---|---|---|
steps.verifyiam.CredentialSourceRefUnresolved |
400 |
Variabel alur yang disediakan di dalam sumber kredensial tidak dapat di-resolve. |
steps.verifyiam.CredentialValueNotProvided |
400 |
Kredensial tidak ditemukan. Jika referensi sumber kredensial tidak diberikan, kita akan melihat tempat default seperti header otorisasi. |
steps.verifyiam.Forbidden |
403 |
Permintaan tidak dapat diteruskan karena tidak memiliki izin yang memadai atau tidak memiliki cakupan akses atau masalah terkait lainnya. |
steps.verifyiam.MiscellaneousAuthorizationConfigurationError |
500 |
Masalah dengan permintaan autentikasi ke IAM. Produsen API perlu memperbaiki error ini berdasarkan detail dalam respons error. |
steps.verifyiam.Unauthorized |
401 |
Masalah dengan kredensial, seperti nilai yang tidak valid atau sudah tidak berlaku. |
steps.verifyiam.UnexpectedAuthorizationInfrastructureError |
500 |
Error internal. |
Error saat deployment
Kebijakan ini tidak menampilkan error deployment khusus kebijakan.
Variabel error
Variabel ini ditetapkan saat kebijakan ini memicu error saat runtime.
Variabel | Dari mana | Contoh |
---|---|---|
fault.name="fault_name" |
fault_name adalah nama error, seperti yang tercantum dalam tabel Runtime errors di atas. Nama error adalah bagian terakhir dari kode error. | fault.name="Unauthorized" |
verifyiam.policy_name.failed |
policy_name adalah nama kebijakan yang ditentukan pengguna yang menampilkan error. | verifyiam.Verify-IAMToken.failed = true |