Halaman ini berlaku untuk Apigee dan Apigee hybrid.
Lihat dokumentasi
Apigee Edge.
Kebijakan GenerateSAMLAssertion memungkinkan proxy API melampirkan pernyataan SAML ke permintaan XML keluar. Pernyataan tersebut kemudian tersedia untuk layanan backend guna menerapkan pemrosesan keamanan lebih lanjut untuk autentikasi dan otorisasi. Lihat Ringkasan kebijakan SAML untuk mengetahui informasi selengkapnya.
Kebijakan ini adalah Kebijakan yang dapat diperluas dan penggunaan kebijakan ini mungkin memiliki implikasi biaya atau penggunaan, bergantung pada lisensi Apigee Anda. Untuk mengetahui informasi tentang jenis kebijakan dan implikasi penggunaannya, lihat Jenis kebijakan.
Sampel
<GenerateSAMLAssertion name="SAML" ignoreContentType="false"> <CanonicalizationAlgorithm /> <Issuer ref="reference">Issuer name</Issuer> <KeyStore> <Name ref="reference">keystorename</Name> <Alias ref="reference">alias</Alias> </KeyStore> <OutputVariable> <FlowVariable>assertion.content</FlowVariable> <Message name="request"> <Namespaces> <Namespace prefix="soap">http://schemas.xmlsoap.org/soap/envelope/</Namespace> <Namespace prefix='wsse'>http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd</Namespace> </Namespaces> <XPath>/soap:Envelope/soap:Header/wsse:Security</XPath> </Message> </OutputVariable> <SignatureAlgorithm /> <Subject ref="reference">Subject name</Subject> <Template ignoreUnresolvedVariables="false"> <!-- A lot of XML goes here, within CDATA, with {} around each variable --> </Template> </GenerateSAMLAssertion>
Referensi elemen
Bagian ini mencantumkan elemen dan atribut kebijakan GenerateSAMLAssertion.
Atribut yang diterapkan ke elemen tingkat teratas
<GenerateSAMLAssertion name="SAML-A1" continueOnError="false" enabled="true" async="false">
Atribut berikut umum untuk semua elemen induk kebijakan.
| Atribut | Deskripsi | Default | Kehadiran |
|---|---|---|---|
| nama |
Nama internal kebijakan. Karakter yang dapat Anda gunakan dalam nama dibatasi menjadi:
A-Z0-9._\-$ %. Namun, UI Apigee menerapkan batasan tambahan, seperti menghapus karakter yang bukan alfanumerik secara otomatis.
Secara opsional, gunakan elemen |
T/A | Wajib |
| diaktifkan |
Setel ke true untuk menerapkan kebijakan.
Setel ke |
true | Opsional |
Elemen dan atribut untuk pembuatan pernyataan SAML
| Nama Kolom | Deskripsi | ||
|---|---|---|---|
Atribut ignoreContentType |
Nilai boolean yang dapat ditetapkan ke true atau false. Secara default, pernyataan tidak akan dibuat jika jenis konten pesan bukan Jenis Konten XML. Jika disetel ke true, pesan akan diperlakukan sebagai XML
terlepas dari Content-type. |
||
Issuer |
ID unik penyedia identitas. Jika atribut
ref
opsional ada, nilai Penerbit akan ditetapkan saat runtime berdasarkan
variabel yang ditentukan. Jika atribut ref opsional tidak ada, nilai Penerbit akan digunakan.
|
||
KeyStore |
Nama KeyStore yang berisi kunci pribadi dan alias kunci pribadi yang digunakan untuk menandatangani pernyataan SAML secara digital.
|
||
OutputVariable |
Menentukan tempat pernyataan SAML yang dihasilkan akan ditempatkan. Pernyataan dapat disimpan
dalam variabel alur atau dimasukkan ke dalam pesan yang ada.
|
||
FlowVariable |
Menentukan nama variabel alur tempat konten pernyataan SAML yang dihasilkan akan disimpan.
Ini adalah alternatif untuk menggunakan elemen
<Message> guna menyisipkan pernyataan
ke dalam pesan XML yang ada.
|
||
Message |
Target kebijakan. Nilai yang valid adalah message, request,
dan response. Jika disetel ke message, kebijakan akan mengambil
objek pesan secara bersyarat berdasarkan titik lampiran kebijakan. Jika dilampirkan ke
Flow permintaan, kebijakan akan me-resolve message ke permintaan, dan jika dilampirkan ke
Flow respons, kebijakan akan me-resolve message ke respons. |
||
XPath |
Ekspresi XPath yang menunjukkan elemen pada dokumen XML keluar yang kebijakannya akan melampirkan pernyataan SAML. | ||
SignatureAlgorithm |
SHA1 atau SHA256 | ||
Subject |
ID unik subjek pernyataan SAML. Jika atribut
ref opsional ada, nilai Subjek akan ditetapkan saat
runtime berdasarkan variabel yang ditentukan. Jika atribut ref opsional tidak ada, nilai Subjek akan digunakan.
|
||
Template |
Jika ada, pernyataan akan dibuat dengan menjalankan template ini, mengganti
semua yang ditandai
{} dengan variabel yang sesuai, lalu menandatangani
hasilnya secara digital. Template diproses sesuai dengan aturan kebijakan AssignMessage.
Lihat kebijakan AssignMessage.
|
||
Catatan penggunaan
Pemrosesan kebijakan:
- Jika pesan bukan XML, dan
ignoreContentTypetidak ditetapkan ketrue, maka munculkan kesalahan. - Jika
Templatedisetel, proses template seperti yang dijelaskan untuk kebijakan AssignMessage. Jika ada variabel yang tidak ada danignoreUnresolvedVariablestidak ditetapkan, maka akan memunculkan kesalahan. - Jika
Templatetidak ditetapkan, buat pernyataan yang menyertakan nilai parameter Subjek dan Penerbit atau referensinya. - Menandatangani pernyataan menggunakan kunci yang ditentukan.
- Tambahkan pernyataan ke pesan di XPath yang ditentukan.
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 saat deployment
Error ini dapat terjadi saat Anda men-deploy proxy yang berisi kebijakan ini.
| Nama error | Penyebab | Perbaiki |
|---|---|---|
SourceNotConfigured |
Satu atau beberapa elemen berikut dari kebijakan ValidateSAMLAssertion
tidak ditentukan atau kosong: <Source>, <XPath>,
<Namespaces>, <Namespace>.
|
build |
TrustStoreNotConfigured |
Jika elemen <TrustStore> kosong atau tidak ditentukan dalam kebijakan ValidateSAMLAssertion, deployment proxy API akan gagal.
Truststore yang valid diperlukan.
|
build |
NullKeyStoreAlias |
Jika elemen turunan <Alias> kosong atau tidak ditentukan dalam elemen <Keystore>
kebijakan GenerateSAMLAssertion, deployment proxy
API akan gagal. Alias keystore yang valid wajib diisi.
|
build |
NullKeyStore |
Jika elemen turunan <Name> kosong atau tidak ditentukan dalam elemen <Keystore>
kebijakan GenerateSAMLAssertion, deployment proxy
API akan gagal. Nama keystore yang valid wajib diisi.
|
build |
NullIssuer |
Jika elemen <Issuer> kosong atau tidak ditentukan dalam kebijakan GenerateSAMLAssertion, deployment proxy API akan gagal. Nilai
<Issuer> yang valid diperlukan.
|
build |
Variabel error
Variabel ini ditetapkan saat error runtime terjadi. Untuk mengetahui informasi selengkapnya, lihat Yang perlu Anda ketahui tentang error kebijakan.
| Variabel | Dari mana | Contoh |
|---|---|---|
fault.name="fault_name" |
fault_name adalah nama error. Nama error adalah bagian terakhir dari kode error. | fault.name = "InvalidMediaTpe" |
GenerateSAMLAssertion.failed |
Untuk konfigurasi kebijakan pernyataan SAML yang valid, awalan error-nya adalah
ValidateSAMLAssertion. |
GenerateSAMLAssertion.failed = true |
Contoh respons error
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Contoh aturan error
<FaultRules>
<FaultRule name="invalid_saml_rule">
<Step>
<Name>invalid-saml</Name>
</Step>
<Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
</FaultRule>
</FaultRules>Topik terkait
Mengekstrak variabel: Kebijakan Extract Variables policy