Skip to main content

Asserções SAML criptografadas

O que são asserções SAML?

SAML assertions are structured messages exchanged between an Identity Provider (IdP) and a Service Provider (SP) to convey user authentication details. They securely confirm the user’s identity, include relevant attributes (such as name or email), and define the user’s permissions or entitlements. The Service Provider’s Assertion Consumer Service (ACS) endpoint receives the SAML response from the IdP and validates it, ensuring the assertion’s authenticity and integrity before granting the user access to the requested resource.

O serviço do consumidor de declaração (ACS) do provedor de serviços recebe e valida a resposta SAML do IDP. Essa validação garante a integridade e a autenticidade da asserção antes de conceder ao usuário acesso ao serviço solicitado.

Exemplos de asserções

As asserções SAML geralmente contêm os seguintes elementos:

  • Atributos: informações sobre o usuário, como nome, sobrenome e endereço de e-mail.

  • Certificado X509: usado para assinatura digital e criptografia para proteger a asserção.

  • Condições: o período de validade da resposta SAML, como os horários de início e de vencimento.

Using a Certificate Authority (CA)–signed certificate allows us to encrypt and sign these values, safeguard sensitive data from exposure in diagnostic tools (such as Fiddler or SAML Tracer), and provide an additional layer of security.

O par de chaves pública/privada é usado para:

  • Criptografar o conteúdo da asserção no lado do IdP.

  • Descriptografar a asserção no lado do PS antes de ser analisada pelo serviço do consumidor de declaração (ACS) para autenticação e autorização.

A seguir está um exemplo típico de uma resposta SAML do Azure que inclui todos os valores de asserção. Observe os elementos realçados que representam asserções e atributos do usuário.

<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                ID="_b3056067-2c4e-4986-a339-f3e72f7561f7"
                Version="2.0"
                IssueInstant="2025-05-20T11:19:16.579Z"
                Destination="https://win-8a4sosipqnt.ayx.ayx/webapi/Saml2/Acs"
                InResponseTo="ide3c324bff3394b07b01bb3b05a72ef4f">
    <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion"><Sign in to your account 
    samlp:Status
        <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
    </samlp:Status>
    <Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion"
               ID="_d0455c45-8e67-4251-bcdb-a28a3d980100"
               IssueInstant="2025-05-20T11:19:16.575Z"
               Version="2.0">
        <Issuer><Sign in to your account 
        <Signature xmlns="XML-Signature Syntax and Processing ">
            <SignedInfo>
                <CanonicalizationMethod Algorithm="Exclusive XML Canonicalization Version 1.0 " />
                <SignatureMethod Algorithm="xmldsig-more namespace " />
                <Reference URI="#_d0455c45-8e67-4251-bcdb-a28a3d980100">
                    <Transforms>
                        <Transform Algorithm="XML-Signature Syntax and Processing " />
                        <Transform Algorithm="Exclusive XML Canonicalization Version 1.0 " />
                    </Transforms>
                    <DigestMethod Algorithm="XML Encryption Syntax and Processing " />
                    <DigestValue>nifYJfcwJS9/12BHIQIRTkxYfiacs0VuFCKse3BB8/o=</DigestValue>
                </Reference>
            </SignedInfo>
            <SignatureValue>G91wI5pAmYfDmPgiJXsgHIyZBnZu11g6MM4cBUs/FsI...DA==</SignatureValue>										   
            <KeyInfo>
                <X509Data>
                    <X509Certificate>MIIC8DCCAdigAwIBAgIQd2yxlloAdYxGgD7846TzgTANBgkqhkiG9w0BAQsFAD0MTIwDVQQDEylNaWNyb3NvZnQgQXp1cmUgRmVkZXJhdGVkIFNTTyBDZXJ0aW...</X509Certificate>
                </X509Data>					
            </KeyInfo>
        </Signature>
        <Subject>
            <NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">john.doe@alteryx.com</NameID>
            <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
                <SubjectConfirmationData InResponseTo="ide3c324bff3394b07b01bb3b05a72ef4f"
                                         NotOnOrAfter="2025-05-20T12:19:16.288Z"
                                         Recipient="https://win-8a4sosipqnt.ayx.ayx/webapi/Saml2/Acs"/>
            </SubjectConfirmation>
        </Subject>
        <Conditions NotBefore="2025-05-20T11:14:16.288Z"
                    NotOnOrAfter="2025-05-20T12:19:16.288Z">
            <AudienceRestriction>
                <Audience><https://win-8a4sosipqnt.ayx.ayx/webapi/Saml2</Audience>>
            </AudienceRestriction>
        </Conditions>
        <AttributeStatement>
            <Attribute Name="http://schemas.microsoft.com/identity/claims/tenantid">
                <AttributeValue>30f6e3b6-e2ba-458d-bc44-60528bee0bd0</AttributeValue>
            </Attribute>
            <Attribute Name="http://schemas.microsoft.com/identity/claims/objectidentifier">
                <AttributeValue>b64ff4ee-5aef-43be-b767-34a5916d8c03</AttributeValue>
            </Attribute>
            <Attribute Name="http://schemas.microsoft.com/identity/claims/identityprovider">
                <AttributeValue><Sign in to your account </AttributeValue>
            </Attribute>
            <Attribute Name="http://schemas.microsoft.com/claims/authnmethodsreferences">
                <AttributeValue><http://schemas.microsoft.com/ws/2008/06/identity/authenticationmethod/password</AttributeValue>>
            </Attribute>
            <Attribute Name="firstName">
                <AttributeValue>John</AttributeValue>
            </Attribute>
            <Attribute Name="lastName">
                <AttributeValue>Doe</AttributeValue>
            </Attribute>
            <Attribute Name="email">
                <AttributeValue>john.doe@alteryx.com</AttributeValue>
            </Attribute>
        </AttributeStatement>
        <AuthnStatement AuthnInstant="2025-05-20T11:15:44.607Z"
                        SessionIndex="_d0455c45-8e67-4251-bcdb-a28a3d980100">
            <AuthnContext>
                <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
            </AuthnContext>
        </AuthnStatement>
    </Assertion>
</samlp:Response>

O exemplo a seguir mostra como a estrutura de uma resposta SAML muda quando a criptografia é aplicada.

<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
                ID="_1d0164cc-d888-4bbe-a592-9691d593ef51"
                Version="2.0"
                IssueInstant="2025-05-20T11:46:54.689Z"
                Destination="https://win-8a4sosipqnt.ayx.ayx/webapi/Saml2/Acs"
                InResponseTo="id0f8b097a777c4000b671df3a24735c2b">
    <Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion"><Sign in to your account 
    samlp:Status
        <samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
    </samlp:Status>
    <EncryptedAssertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
        <xenc:EncryptedData xmlns:xenc="XML Encryption Syntax and Processing "
                            Type="XML Encryption Syntax and Processing ">
            <xenc:EncryptionMethod Algorithm="<XML Encryption Syntax and Processing >" />
            <KeyInfo xmlns="<XML-Signature Syntax and Processing >">
                <e:EncryptedKey xmlns:e="<<XML Encryption Syntax and Processing >>">
                    <e:EncryptionMethod Algorithm="<<XML Encryption Syntax and Processing >>">
                        <DigestMethod Algorithm="<<<XML-Signature Syntax and Processing >>>" />
                    </e:EncryptionMethod>
                    <KeyInfo>
                        <o:SecurityTokenReference xmlns:o="<<<http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd>>>">
                            <X509Data>
                                <X509IssuerSerial>
                                    <X509IssuerName>E=john.doe@alteryx.com, CN=WIN-8A4SOSIPQNT.ayx.ayx, OU=Alteryx, O=Alteryx, L=London, S=uk, C=UK</X509IssuerName>
                                    <X509SerialNumber>705589322655184988706920421358426712185360904869</X509SerialNumber>
                                </X509IssuerSerial>
                            </X509Data>
                        </o:SecurityTokenReference>
                    </KeyInfo>
                    <e:CipherData>
                        <e:CipherValue>LjVyAs89Cw+beqHwM3FxpReIw2cJNIhtBDw0td80Bms8LzzJkW3fc9jg7EQXzfnY0zDOxqpQ6kqxWDV12ypE6v8QnuE0XBaoteQ5XUJfhVAZHlOVRUYdgBVQE10V9uWS+l08lekKVsE8VxGjcSHv8tHiYBiL/EPY2zGSsN9Z8TjHdgLX3uwc0yS1ALAPNK0anvw2yTAvqGEiGrzEy+hvJnxcLHG2paDVJKS5vg7sq1559Tys3oOJOTFSbQNPsHLgXuR/17jcYjT/o8JUcMi8sbjTI/+qs78s6Qar+vVpamHaK15X7Tzq+oegYllJnnxEMeLsEP/7yvcLg0si/D3Z9A==</e:CipherValue>
                    </e:CipherData>
                </e:EncryptedKey>
            </KeyInfo>
            xenc:CipherData
                xenc:CipherValue7ZEiVBzl8oJG65n5v+13NgxYEGcA6h9mXN3trIfYaabWhdEMA3/syn3tHaSIpTwBMK5fJNvdx2A2wDLpimYyL62E5ZUv6TM9M940ZZhVNxoJMw4jq44Gi2FFP31m6eGx7VdvnNUEkS4KqUXUfEpJ0xU4FvacNL0xjqHHyzymZKDEE2HOx7HfumXyBrTDCvhNS4LsuyvGfWzI347VFfYY5AeQoecjl7iz86yYQEJy1v4hkKQM8cW7B73XSXtQ==</xenc:CipherValue>
            </xenc:CipherData>
        </xenc:EncryptedData>
    </EncryptedAssertion>
</samlp:Response>

The following is a typical example of an Okta SAML response.

<saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
                 xmlns:xs="http://www.w3.org/2001/XMLSchema"
                 Destination="https://pod-7257817.ayxayx.com/webapi/Saml2/acs"
                 ID="id50965160074357029521100546197"
                 InResponseTo="idc87287cb7e35455ebf9489f80841519b"
                 IssueInstant="2025-06-20T09:52:54.867Z"
                 Version="2.0"
                 >
    <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                  Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
                  >http://www.okta.com/trk2ecrfpfp987hz50h8</saml2:Issuer>
    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:SignedInfo>
            <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
            <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
            <ds:Reference URI="#id50965160074357029521100546197">
                <ds:Transforms>
                    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                        <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
                                                PrefixList="xs"
                                                />
                    </ds:Transform>
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                <ds:DigestValue>BMc14bBldK4P1iAqLtP56Bot7P0E2S0VHup3HzrtsYM=</ds:DigestValue>
            </ds:Reference>
        </ds:SignedInfo>
        <ds:SignatureValue>Fy0VgnTxgCEen8Sg492m6DRC...FYg==</ds:SignatureValue>
        <ds:KeyInfo>
            <ds:X509Data>
                <ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAZbqA94nMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEG
A1UECAwKQ...</ds:X509Certificate>
            </ds:X509Data>
        </ds:KeyInfo>
    </ds:Signature>
    <saml2p:Status xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
        <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
    </saml2p:Status>
    <saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                     xmlns:xs="http://www.w3.org/2001/XMLSchema"
                     ID="id44750929955808200281100824502"
                     IssueInstant="2025-06-20T09:52:54.867Z"
                     Version="2.0"
                     >
        <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                      Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
                      >http://www.okta.com/exk2ecrfpfpXRPhz50h8</saml2:Issuer>
        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
            <ds:SignedInfo>
                <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
                <ds:Reference URI="#id44750929955808200281100824502">
                    <ds:Transforms>
                        <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                        <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                            <ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"
                                                    PrefixList="xs"
                                                    />
                        </ds:Transform>
                    </ds:Transforms>
                    <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                    <ds:DigestValue>nGexU5jGle1QoI05VtK5166L/+MGOStNLYvzE6+DDOQ=</ds:DigestValue>
                </ds:Reference>
            </ds:SignedInfo>
            <ds:SignatureValue>s1edTWDthoPsd3GW40sYg/q5fekNt+O...Ag==</ds:SignatureValue>
            <ds:KeyInfo>
                <ds:X509Data>
                    <ds:X509Certificate>MIIDpDCCAoygAwAgIGAZbqA94nMA0GCSqGSIb3DQEBAMIGSMQswCQYDVQQGEwJVUzETMBEG
AUECAwKQ...</ds:X509Certificate>
                </ds:X509Data>
            </ds:KeyInfo>
        </ds:Signature>
        <saml2:Subject xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
            <saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">john.doe@alteryx.com</saml2:NameID>
            <saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
                <saml2:SubjectConfirmationData InResponseTo="idc87287cb7e35455ebf9489f80841519b"
                                               NotOnOrAfter="2025-06-20T09:57:54.867Z"
                                               Recipient="https://pod-7257817.ayxayx.com/webapi/Saml2/acs"
                                               />
            </saml2:SubjectConfirmation>
        </saml2:Subject>
        <saml2:Conditions xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                          NotBefore="2025-06-20T09:47:54.867Z"
                          NotOnOrAfter="2025-06-20T09:57:54.867Z"
                          >
            <saml2:AudienceRestriction>
                <saml2:Audience>https://pod-7257817.ayxayx.com/webapi/Saml2</saml2:Audience>
            </saml2:AudienceRestriction>
        </saml2:Conditions>
        <saml2:AuthnStatement xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                              AuthnInstant="2025-06-20T09:36:02.556Z"
                              SessionIndex="idc87287cb7e35455ebf9489f80841519b"
                              >
            <saml2:AuthnContext>
                <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef>
            </saml2:AuthnContext>
        </saml2:AuthnStatement>
        <saml2:AttributeStatement xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
            <saml2:Attribute Name="email"
                             NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
                             >
                <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
                                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                      xsi:type="xs:string"
                                      >john.doe@alteryx.com</saml2:AttributeValue>
            </saml2:Attribute>
            <saml2:Attribute Name="firstName"
                             NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
                             >
                <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
                                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                      xsi:type="xs:string"
                                      >John</saml2:AttributeValue>
            </saml2:Attribute>
            <saml2:Attribute Name="lastName"
                             NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified"
                             >
                <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema"
                                      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                      xsi:type="xs:string"
                                      >Doe</saml2:AttributeValue>
            </saml2:Attribute>
        </saml2:AttributeStatement>
    </saml2:Assertion>
</saml2p:Response>

The following example shows how the structure of a SAML response changes when encryption is applied.

https://pod-7257817.ayxayx.com/gallery/api/apps/packages/?location=myFiles&offset=0&limit=10&search=&sortField=WorkflowName&direction=asc&packageType=&engineType=&v=1750412946383
<saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
                 Destination="https://pod-7257817.ayxayx.com/webapi/Saml2/acs"
                 ID="id-9097293882340198061719617948"
                 InResponseTo="idc2aa4cac47b94800ac3c828ebe932b6e"
                 IssueInstant="2025-06-20T09:48:57.609Z"
                 Version="2.0"
                 >
    <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                  Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
                  >http://www.okta.com/trk2ecrfpff33RPhz50h8</saml2:Issuer>
    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:SignedInfo>
            <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
            <ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
            <ds:Reference URI="#id-9097293882340198061719617948">
                <ds:Transforms>
                    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
                    <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
                </ds:Transforms>
                <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
                <ds:DigestValue>NPm+7AusftaL5NkgOiqZLM2zD6WttP+chxxcJsTjdAU=</ds:DigestValue>
            </ds:Reference>
        </ds:SignedInfo>
        <ds:SignatureValue>vPn1UPpRFAFV1x/f0J1KHQCrf1hT08CO5mCbC...h7w==</ds:SignatureValue>
        <ds:KeyInfo>
            <ds:X509Data>
                <ds:X509Certificate>MIIDpDCCAoygAwIBAgIGAZbqA94nMA0GCSqGSIb3DQEBCwUAMIGSMQswCQYDVQQGEwJVUzETMBEG
A1UECAwKQ2FsaWZvcm5...</ds:X509Certificate>
            </ds:X509Data>
        </ds:KeyInfo>
    </ds:Signature>
    <saml2p:Status xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
        <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" />
    </saml2p:Status>
    <saml2:EncryptedAssertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
        <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
                            Id="_3baec3e9550a5a64750429fa91b8c573"
                            Type="http://www.w3.org/2001/04/xmlenc#Element"
                            >
            <xenc:EncryptionMethod xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
                                   Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"
                                   />
            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                <ds:RetrievalMethod Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"
                                    URI="#_e1e7d46469c3dd081df5dfd8b6533708"
                                    />
            </ds:KeyInfo>
            <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
                <xenc:CipherValue>CDruFnE+82tzQjgeNrYwDNQsio8/mH/1ASiZlOpRbxe25ZWTZaJ7ieVOgmf4lrdy1gmLo9DP2kvTOfQNxX79FoJo6c1TAHIuiqGNuHOIK5PQry...z67cng=</xenc:CipherValue>
            </xenc:CipherData>
        </xenc:EncryptedData>
        <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
                           Id="_e1e7d46469c3dd081df5dfd8b6533708"
                           >
            <xenc:EncryptionMethod xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
                                   Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
                                   >
                <ds:DigestMethod xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
                                 Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
                                 />
            </xenc:EncryptionMethod>
            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                <ds:X509Data>
                    <ds:X509Certificate>MIIEYzCCA0ugAwIBAgIUeM2hjmWesJsjW7w9cBgchlyAfDcwDQYJKoZIhvcNAQELBQAwgaQxCzAJ
BgNVBAYTAnVrMQswCQYDVQQIDAJ1azE...</ds:X509Certificate>
                </ds:X509Data>
            </ds:KeyInfo>
            <xenc:CipherData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
                <xenc:CipherValue>TsauMNORZBMHoAt5PxQVfK6d6hc+WLrvxWvzzhVWhJWvKjwWFMYXMJpe1B9VkSD0pnHZ4d7xK2rGQHTqIXhBPOK6lhLbWhtHQ0nLONiIR2/TgaxIA6RGlxBs65jt3B/6J8o4dPWdr9dx5On/HZ/l8LQz7mv0tmlnTb7KnNucDurEb2RlNeTWDTBR77YZzZTav9nyUexyXW/cN1TTQJNcfPTJrwq0zyG/Cwryg3NDJiAdEBnS2ubc8p3xuvEYRK8G/wJz7Xe2NfmzHZeKk8EEIDK/O2DXwil6fnSRHCDCiDb9tYDdYhZAVUbRYPjU15MO/GbmNm8CG2O+o1Uh3GPEXQ==</xenc:CipherValue>
            </xenc:CipherData>
            <xenc:ReferenceList>
                <xenc:DataReference URI="#_3baec3e9550a5a64750429fa91b8c573" />
            </xenc:ReferenceList>
        </xenc:EncryptedKey>
    </saml2:EncryptedAssertion>
</saml2p:Response>

Configurar a criptografia de token SAML para asserções criptografadas no Azure

Nota

Esta seção pressupõe que os seguintes pré-requisitos já estejam em vigor:

  • A configuração básica do SAML está concluída no Azure e nas "Configurações do sistema" do Alteryx.

  • Um certificado pré-configurado com uma chave privada está disponível, emitido por uma Autoridade Certificadora (AC) válida.

Para configurar a criptografia de token SAML para asserções criptografadas no Azure...

  1. Faça login no Portal do Azure.

  2. Vá para Microsoft Entra ID > aplicativo Enterprise.

  3. Procure e selecione seu aplicativo SAML.

  4. Selecione Criptografia de token.

  5. Para importar seu certificado, selecione Importar certificado. Em seguida, carregue seu arquivo de certificado público (CRT) no Azure.

  6. Após o carregamento, clique no menu de três pontos ao lado do certificado e selecione Ativar certificado de criptografia de token.

  7. Certifique-se de que a chave privada associada esteja instalada no Repositório de Certificados do Windows no Alteryx Server. Confirme também se a cadeia de certificados e as dependências estão localizadas corretamente em sua máquina.

  8. Abra as "Configurações do sistema" do Alteryx no Server.

  9. Acesse IU do Server > Autenticação.

  10. Para habilitar a criptografia, selecione Criptografar asserções.

  11. No campo Hash do certificado de descriptografia, digite a impressão digital da chave privada do certificado instalado.

  12. Para concluir a configuração, clique em Próximo nos prompts restantes e em Concluir.

  13. Se for bem-sucedido, o Alteryx Service será reiniciado automaticamente. Quando a autenticação SAML é acionada, as asserções e atributos SAML aparecem criptografados nas ferramentas de rastreamento SAML.

Configurar a criptografia de token SAML para asserções criptografadas no Okta

Nota

Esta seção pressupõe que os seguintes pré-requisitos já estejam em vigor:

  • A configuração básica do SAML está concluída no Okta e nas "Configurações do sistema" do Alteryx.

  • Um certificado pré-configurado com uma chave privada está disponível, emitido por uma Autoridade Certificadora (AC) válida.

Para configurar a criptografia de token SAML para asserções criptografadas no Okta...

  1. Faça login no Portal do Okta.

  2. No painel de navegação esquerdo, selecione Aplicativos.

  3. Use a barra de pesquisa para localizar e selecionar seu aplicativo SAML.

  4. Selecione Geral. Em Configurações de SAML, selecione Editar. Para continuar, clique em Próximo.

  5. Em "Configurações de SAML", selecione Mostrar configurações avançadas.

  6. Em Criptografia de asserção, defina o menu suspenso como Criptografada. Você pode deixar os algoritmos padrão selecionados.

  7. Em Certificado de criptografia, selecione Navegar e carregue seu arquivo de certificado público (CRT).

  8. Para concluir a configuração, clique em Próximo e em Concluir.

  9. Certifique-se de que a chave privada associada esteja instalada no Repositório de Certificados do Windows no Alteryx Server. Confirme também se a cadeia de certificados e as dependências estão localizadas corretamente em sua máquina.

  10. Abra as "Configurações do sistema" do Alteryx no Server.

  11. Acesse IU do Server > Autenticação.

  12. Para habilitar a criptografia, selecione Criptografar asserções.

  13. No campo Hash do certificado de descriptografia, digite a impressão digital da chave privada do certificado instalado.

Solução de problemas

O que acontece se um hash do certificado de descriptografia for inserido incorretamente?

Se o hash do certificado de descriptografia for inserido incorretamente nas "Configurações do sistema" do Alteryx:

  • O Alteryx Service falha ao iniciar.

  • Os logs de SSO contêm erros semelhantes aos seguintes:

    ERROR,1,AlteryxServerWebApiHost,ssoLogger,ConfigureSamlIdentityProvider,,,,WIN-8A4SOSIPQNT,,,,,,
    Exception thrown when configuring SSO IdP.,
    "System.Exception: Certificate with thumbprint '76634fd5bc020d515fd8218cc7206c9bcb47c91' not found in LocalMachine/Personal store
       at Alteryx.Server.WebApiHost.Services.Impl.Saml2Service.GetX509Certificate2(String certHash)
       at Alteryx.Server.WebApiHost.Services.Impl.Saml2Service.ConfigureSamlIdentityProvider(ILogger ssoLogger, Saml2AuthenticationOptions saml2options)"

E se o certificado PKI não estiver disponível no Repositório de Certificados do Windows?

Se o certificado de infraestrutura de chave privada (PKI) estiver ausente do Repositório de Certificados do Windows, vários problemas podem ocorrer ao validar a configuração de SAML:

  • Você pode encontrar o seguinte erro ao tentar verificar o provedor de identidade (IdP):

    Falha ao verificar com o IdP. Verifique suas configurações novamente.

  • Após uma tentativa de login bem-sucedida, o navegador pode retornar:

    Page Not Found
    The page you are trying to reach does not exist
  • Em alguns casos, o Alteryx Service pode não iniciar.

    Para solucionar os problemas, verifique os logs de SSO para obter mais detalhes. Os logs estão normalmente localizados em C:\ProgramData\Alteryx\logs.

    ERROR,1,AlteryxServerWebApiHost,ssoLogger,ConfigureSamlIdentityProvider,,,,WIN-8A4SOSIPQNT,,,,,,
    Exception thrown when configuring SSO IdP.,
    "System.Exception: Certificate with thumbprint '76634fd5bc020d515fd8218cc7206c9bcb47c91' not found in LocalMachine/Personal store
       at Alteryx.Server.WebApiHost.Services.Impl.Saml2Service.GetX509Certificate2(String certHash)
       at Alteryx.Server.WebApiHost.Services.Impl.Saml2Service.ConfigureSamlIdentityProvider(ILogger ssoLogger, Saml2AuthenticationOptions saml2options)"

E se "Criptografar asserções" estiver habilitado no IdP, mas não no Alteryx?

Se o provedor de identidade (IdP) estiver configurado para criptografar asserções SAML, mas Criptografar asserções não estiver habilitado nas "Configurações do sistema" do Alteryx, o Alteryx não poderá validar as asserções, pois elas estão criptografadas com uma chave pública.

Mensagens de erro que você pode encontrar:

  • Falha ao verificar com o IdP. Verifique suas configurações novamente.

  • Page Not Found
    The page you are trying to reach does not exist

Defeito conhecido

Defeito estético da interface de usuário (IU) ao redimensionar a janela "Configurações do sistema" do Alteryx.

TCPE-1590 (GCSE-3302): tanto o hash de certificado SSL/TLS quanto o hash de certificado de descriptografia se sobrepõem ao redimensionar a janela "Configurações do sistema" do Alteryx.