Apigee Edge belgelerini görüntülüyorsunuz.
.
  Git:
     Apigee X belgeleri. bilgi
 
  Ne?
- Gelen kimlik doğrulaması ve yetkilendirme: SAML Onaylama İşlemini Doğrulama
    politika
 SAML politika türü, API proxy'lerinin gelen SOAP istekleri. SAML politikası, aşağıdakileri içeren gelen iletileri doğrular. dijital olarak imzalanmış SAML onayı işlemi, geçersizlerse bunları reddeder ve bilgileri daha da doğrulamak için ek politikalara veya arka uç hizmetlerinin kendisine izin verme söz konusu e-postadır.
- Giden jeton oluşturma: SAML Onaylama politikası oluşturma
 SAML politika türü, API proxy'lerinin SAML onayları giden XML isteklerine ekleyebilmesini sağlar. Bu onaylar, daha fazla güvenlik uygulamak amacıyla arka uç hizmetlerinin etkinleştirilmesi için kullanılabilir kimlik doğrulama ve yetkilendirme için işleniyor.
Örnekler
SAML onayı oluştur
<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="test">http://www.example.com/test</Namespace> </Namespaces> <XPath>/envelope/header</XPath> </Message> </OutputVariable> <SignatureAlgorithm /> <Subject ref="reference">Subject name</Subject> <Template ignoreUnresolvedVariables="false"> <!-- A lot of XML goes here, in CDATA, with {} around each variable --> </Template> </GenerateSAMLAssertion>
SAML onayı oluşturma
SAML onayını doğrulama
<ValidateSAMLAssertion name="SAML" ignoreContentType="false"> <Source 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> <Namespace prefix='saml'>urn:oasis:names:tc:SAML:2.0:assertion</Namespace> </Namespaces> <AssertionXPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</AssertionXPath> <SignedElementXPath>/soap:Envelope/soap:Header/wsse:Security/saml:Assertion</SignedElementXPath> </Source> <TrustStore>TrustStoreName</TrustStore> <RemoveAssertion>false</RemoveAssertion> </ValidateSAMLAssertion>
SAML onayı doğrulama
Öğe referansı
SAML Onayı Oluştur
| Alan adı | Açıklama | ||
|---|---|---|---|
| nameözellik | Politika örneğinin adı. Ad,
        kurum içinde tutmaktır. Adda kullanabileceğiniz karakterler şununla sınırlıdır: A-Z0-9._\-$
        %. Ancak Yönetim Kullanıcı Arayüzünde aşağıdakiler gibi ek kısıtlamalar uygulanır:
        Alfanümerik olmayan karakterler otomatik olarak kaldırılır. | ||
| ignoreContentTypeözellik | trueveyafalseolarak ayarlanabilen bir boole değeri. Varsayılan olarak
        Mesajın içerik türü XML değilse onay işlemi oluşturulmaz
        İçerik Türü.truedeğerine ayarlanırsa mesaj XML olarak işlenir.
        her ne olursa olsun. | ||
| Issuer | 
            Kimlik sağlayıcının benzersiz tanımlayıcısı. İsteğe bağlı  refözelliği mevcutsa, düzenleyen kurumun değeri, Veriye Dayalı İlişkilendirme'ye göre
            belirtilen değişken. İsteğe bağlırefözelliği yoksa
            Veren'in değeri kullanılır. | ||
| KeyStore | 
            Özel anahtarı ve özel anahtarın takma adını içeren KeyStore'un adı
            SAML onaylarını dijital olarak imzalamak için kullanılır.
           | ||
| OutputVariable | |||
| FlowVariable | |||
| Message | Politikanın hedefi. Geçerli değerler message,request,
        veresponse.messagedeğerine ayarlanırsa politika koşullu olarak
        Politikanın ek noktasına göre ileti nesnesini alır. Şuna eklendiğinde:
        İstek Akışı'na eklendiğinde, politika, istekte bulunmak üzeremessagepolitikasını çözümler ve
        yanıt Akışı'nı ihlal ederse politika,messageyanıtı yanıtını verir. | ||
| XPath | Giden XML dokümanında yer alan öğeyi belirten XPath ifadesi bu politika, SAML onayını ekler. | ||
| SignatureAlgorithm | SHA1 veya SHA256 | ||
| Subject | 
            SAML onayının konusunun benzersiz tanımlayıcısı. İsteğe bağlı
             refözelliği mevcutsa Konu değeri
            çalışma zamanını ayarlayabilirsiniz. İsteğe bağlırefözelliği
            Subject (Konu) değeri kullanılır. | ||
| Template | 
            Bu kod varsa onay, bu şablonu çalıştırarak üretilir ve
             {}ile gösterilen her şey karşılık gelen değişkenle, sonra da dijital olarak
            ve sonucu imzalamasıdır. Şablon,assignMessage politika kurallarına göre işlenir.
            Bkz. Ödev
            Mesaj politikası | ||
SAML Onaylama İşlemini Doğrulama
| Alan adı | Açıklama | 
|---|---|
| nameözellik | 
            Politika örneğinin adı. Ad, kuruluşta benzersiz olmalıdır.
            Adda kullanabileceğiniz karakterler şununla sınırlıdır:  A-Z0-9._\-$ %.
            Ancak Yönetim Kullanıcı Arayüzü'nde, otomatik olarak izleme gibi
            Alfanümerik olmayan karakterleri kaldırmalıdır. | 
| ignoreContentTypeözellik | trueveyafalseolarak ayarlanabilen bir boole değeri. Varsayılan olarak
        Mesajın içerik türü XML değilse onay işlemi oluşturulmaz
        İçerik Türü.truedeğerine ayarlanırsa mesaj XML olarak işlenir.
        her ne olursa olsun. | 
| Source | Politikanın hedefi. Geçerli değerler message,request,
        veresponse.messagedeğerine ayarlanırsa politika koşullu olarak
        Politikanın ek noktasına göre ileti nesnesini alır. Şuna eklendiğinde:
        İstek Akışı'na eklendiğinde, politika, istekte bulunmak üzeremessagepolitikasını çözümler ve
        yanıt Akışı'nı ihlal ederse politika,messageyanıtı yanıtını verir. | 
| XPath | 
            Kullanımdan kaldırıldı.  Sourcealt öğesi. Tekliflerinizi otomatikleştirmek ve optimize etmek içinAssertionXPathveSignedElementXPath. | 
| AssertionXPath | Sourcealt öğesi. Öğeyi
            Politikanın, SAML onayını çıkarabileceği gelen XML belgesidir. | 
| SignedElementXPath | Sourcealt öğesi. Öğeyi
            gelen XML dokümanıdır. BuAssertionXPathöğesinin XPath'inden farklı veya aynı olabilir. | 
| TrustStore | 
            Doğrulama için kullanılan güvenilir X.509 sertifikalarını içeren TrustStore'un adı
            dijital imzaları kullandığınızdan emin olun.
           | 
| RemoveAssertion | trueveyafalseolarak ayarlanabilen bir boole değeri. Zamantrue, SAML onayı, istek mesajından önce kaldırılacak.
            Mesaj arka uç hizmetine yönlendirilir. | 
Kullanım notları
Güvenlik Onayı Biçimlendirme Dili (SAML) spesifikasyonu, uygulamaların kimlik doğrulama için XML biçimli bilgiler alışverişinde bulunmasını ve yetkilendirme.
"Güvenlik onayı" bir uygulamanın, uygulama kullanıcılarının özelliğini açıklayan güvenilir jetondur. başka bir katılımcıyı etkilemez. Güvenlik onayları, iki kullanıcı tarafından yönetilir ve kullanılır. Varlık türleri:
- Kimlik sağlayıcılar: Katılımcılar adına güvenlik onayı oluşturma
- Servis sağlayıcılar: Kimlikle güvenilir ilişkilerle güvenlik onaylarını doğrulama sağlayıcılar
API platformu, kimlik sağlayıcı ve servis sağlayıcı işlevi görebilir. Görev onaylayarak ve bunları istek mesajlarına ekleyerek, onayları arka uç hizmetleri tarafından işlenmek üzere kullanılabilir. Servis sağlayıcı rolünü üstlenen gelen istek mesajlarındaki onayları doğrulama.
SAML politikası türü, SAML Core'un 2.0 sürümüyle eşleşen SAML onaylarını destekler WS Güvenliği SAML Jeton Profili spesifikasyonunun 1.0 Sürümü ve Özelliği.
SAML Onayı Oluştur
Politika işleme:
- Mesaj XML değilse ve YoksayContentType trueolarak ayarlanmamışsa bir hata oluştu.
- "Şablon" ayarlandıktan sonra şablonu Ataması politikasında açıklandığı şekilde işleyin. Eksik değişken varsa ve YoksayUnresolvedVariables ayarlanmamışsa bir hata kaydı oluşturun.
- "Şablon" ayarlanmazsa Konu ve Düzenleyen parametreleri veya referansları.
- Belirtilen anahtarı kullanarak onaylamayı imzalayın.
- Onaylamayı, belirtilen XPath'deki iletiye ekleyin.
SAML Onaylama İşlemini Doğrulama
Politika işleme:
- Politika, istek medya türünün XML olduğunu doğrulamak için gelen iletiyi kontrol eder.
      içerik türünün şu formatlara uygun olup olmadığını kontrol ederek: text/(.*+)?xmlveyaapplication/(.*+)?xml. Medya türü XML değilse ve<IgnoreContentType>ayarlanmazsa politika hata verir.
- Politika, XML'i ayrıştırır. Ayrıştırma işlemi başarısız olursa bir hata oluşur.
- Politika, ilgili XPath'leri kullanarak imzalı öğeyi ve onay işlemini ayıklar 
        belirtilmiş (<SignedElementXPath>ve<AssertionXPath>). Bu yollardan herhangi biri bir öğe döndürmezse politika bir hata verir.
- Politika, Onaylama işleminin imzalı öğe ile aynı olduğunu doğrular veya imzalı öğenin bir alt öğesidir. Bu doğru değilse politika bir hata oluşturur.
- <NotBefore>veya- <NotOnOrAfter>öğesi varsa politika, mevcut zaman damgasını aşağıdaki adımları uygulayın: SAML Core bölümü 2.5.1'de açıklandığı gibi.
- Politika, "Koşullar"ın işlenmesi için tüm ek kuralları uygular açıklandığı gibi SAML Core bölümü 2.5.1.1'de mevcuttur.
- Bu politika XML dijital imzasını doğrulamak için
        <TrustStore>ve<ValidateSigner>(yukarıda açıklandığı gibi). Doğrulama başarısız olursa politika bir hata oluşturur.
Politika hata bildirmeden tamamlandıktan sonra proxy'nin geliştiricisi, şunlardan biri:
- Onaylamadaki dijital imza geçerli ve güvenilir bir CA tarafından imzalandı
- Onaylama, mevcut dönem için geçerlidir
- Onaylamanın konusu ve yayıncısı çıkartılacak ve akış değişkenlerinde ayarlanacaktır. Evet Bu değerlerin ek kimlik doğrulama için kullanılması konusunda diğer politikaların sorumluluğunda (örneğin, veya doğrulama için konu adının geçerli olup olmadığını kontrol etmek ya da bir hedef sisteme iletmek.
Onaylamanın ham XML'sini ayrıştırmak için ExtractVariables gibi diğer politikalar kullanılabilir kullanabilirsiniz.
Akış değişkenleri
SAML onayında belirtilebilecek birçok bilgi vardır. SAML onayın kendisi ExtractVariables politikası ve diğer mekanizmaları hakkında daha karmaşık doğrulamalar yapabilirsiniz.
| Değişken | Açıklama | 
|---|---|
| saml.id | SAML onay kimliği | 
| saml.issuer | "Düzenleyen" yerel XML türünden bir dizeye dönüştürülen onayın | 
| saml.subject | "Konu" yerel XML türünden bir dizeye dönüştürülen onayın | 
| saml.valid | Geçerlilik kontrolünün sonucuna göre doğru veya yanlış değerini döndürür | 
| saml.issueInstant | IssueInstant | 
| saml.subjectFormat | Konu biçimi | 
| saml.scmethod | Konu onay yöntemi | 
| saml.scdaddress | Konunun onay veri adresi | 
| saml.scdinresponse | Yanıttaki konu onay verileri | 
| saml.scdrcpt | Konu onayı verisi alıcısı | 
| saml.authnSnooa | AuthnStatement Oturumu NotOnOrAfter | 
| saml.authnContextClassRef | AuthnStatement AuthnContextClassRef | 
| saml.authnInstant | AuthnStatement AuthInstant | 
| saml.authnSessionIndex | AuthnStatement Oturum Dizini | 
Hata referansı
Bu bölümde, döndürülen hata kodları ve hata mesajları açıklanmaktadır ve bu politika bir hatayı tetiklediğinde Edge tarafından ayarlanan hata değişkenleri. Hata kuralları geliştirirken bu bilgilerin farkında olmanız önemlidir. hoşuma gitmesi için bir fırsattır. Daha fazla bilgi için Bilmeniz gerekenler Politika hataları ve Kullanım sorun.
Dağıtım hataları
Bu politikayı içeren bir proxy dağıttığınızda bu hatalar oluşabilir.
| Hata adı | Neden | Düzelt | 
|---|---|---|
| SourceNotConfigured | Aşağıdaki "SAML Onay Doğrulaması" öğelerinden biri veya daha fazlası
          politika tanımlanmadı veya boş: <Source>,<XPath>,<Namespaces>,<Namespace>. | build | 
| TrustStoreNotConfigured | <TrustStore>öğesi boşsa veya
          ValidateSAMLAssertion politikasını kontrol ederseniz API proxy'sinin dağıtımı başarısız olur.
          Geçerli bir Trust Store gerekli. | build | 
| NullKeyStoreAlias | <Alias>alt öğesi boşsa veya<Keystore>içinde belirtilmemişse
          öğesi oluşturun, ardından API'nin dağıtımına
          proxy başarısız olur. Geçerli bir Anahtar Deposu takma adı gerekir. | build | 
| NullKeyStore | <Name>alt öğesi boşsa veya<Keystore>içinde belirtilmemişse
          öğesi oluşturmak, ardından API dağıtımının
          proxy başarısız olur. Geçerli bir Anahtar Deposu adı gerekli. | build | 
| NullIssuer | <Issuer>öğesi boşsa veya SAML Oluştur bölümünde belirtilmemişse
          Onay politikası yoksa API proxy'sinin dağıtımı başarısız olur. CEVAP
          geçerli<Issuer>değeri gereklidir. | build | 
Hata değişkenleri
Bu değişkenler, çalışma zamanı hatası oluştuğunda ayarlanır. Daha fazla bilgi için Bilmeniz gerekenler hakkında daha fazla bilgi edinin.
| Değişkenler | Konum | Örnek | 
|---|---|---|
| fault.name="fault_name" | fault_name, hatanın adıdır. Hata adı, hata kodunun son kısmıdır. | fault.name = "InvalidMediaTpe" | 
| GenerateSAMLAssertion.failed | Doğrulama SAML onay politikası yapılandırması için hata öneki ValidateSAMLAssertion | GenerateSAMLAssertion.failed = true | 
Örnek hata yanıtı
{ "fault": { "faultstring": "GenerateSAMLAssertion[GenSAMLAssert]: Invalid media type", "detail": { "errorcode": "steps.saml.generate.InvalidMediaTpe" } } }
Örnek hata kuralı
<FaultRules>
    <FaultRule name="invalid_saml_rule">
        <Step>
            <Name>invalid-saml</Name>
        </Step>
        <Condition>(GenerateSAMLAssertion.failed = "true")</Condition>
    </FaultRule>
</FaultRules>İlgili konular
Değişkenleri ayıklama: Değişkenleri Çıkarın politika