Kebijakan VerifyIAM

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 name dapat berisi huruf, angka, spasi, tanda hubung, garis bawah, dan titik. Nilai ini tidak boleh melebihi 255 karakter.

Secara opsional, gunakan elemen <DisplayName> untuk memberi label pada kebijakan di editor proxy UI pengelolaan dengan nama bahasa alami yang berbeda.

T/A Wajib
continueOnError

Tetapkan ke false untuk menampilkan error saat kebijakan gagal. Perilaku ini wajar terjadi untuk sebagian besar kebijakan.

Tetapkan ke true agar eksekusi alur berlanjut meskipun setelah kebijakan gagal. Lihat juga:

false Opsional
enabled

Tetapkan ke true untuk menerapkan kebijakan.

Tetapkan ke false untuk menonaktifkan kebijakan. Kebijakan tidak akan diterapkan meskipun tetap terlampir ke alur.

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 name kebijakan akan digunakan.

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