SAML 加密断言
什么是 SAML 断言?
SAML 断言是身份提供商 (IdP) 和服务提供商 (SP) 之间交换的结构化消息,用于传达用户身份验证详细信息。它们安全地确认用户身份,包含相关属性(例如姓名或邮件),并定义用户的权限或授权。服务提供商的断言消费者服务 (ACS) 端点接收来自 IdP 的 SAML 响应并进行验证,确保断言的真实性和完整性,然后再授予用户对请求资源的访问权限。
服务提供商的断言使用者服务 (ACS) 接收并验证来自 IdP 的 SAML 响应。此验证可确保在授予用户访问所请求服务之前,断言的完整性和真实性。
断言示例
SAML 断言通常包含以下元素:
属性:用户信息,例如名字、姓氏和邮件地址。
X509 证书:用于数字签名和加密以保障声明的安全性。
条件:SAML 响应的有效期,例如开始和过期时间。
使用证书颁发机构 (CA) 签名的证书使我们能够加密和签名这些值,保护敏感数据免遭诊断工具(例如 Fiddler 或 SAML Tracer)的泄露,并提供额外的安全保障。
公钥/私钥对用于:
加密 IdP 端的断言内容。
在 SP 端由断言使用者服务 (ACS) 解析并用于身份验证和授权之前,先解密该断言。
以下是 Azure SAML 响应(包括所有断言值)的典型示例。注意代表断言和用户属性的突出显示元素。
<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>
以下示例显示了应用加密后 SAML 响应的结构如何发生变化。
<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>
以下是 Okta SAML 响应的典型示例。
<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>
以下示例显示了应用加密后 SAML 响应的结构如何发生变化。
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>
为 Azure 中的加密断言设置 SAML 令牌加密
注意
本节假定已具备以下先决条件:
在 Azure 和 Alteryx 系统设置中已完成基本 SAML 配置。
具有私钥的预配置证书已可用,由有效的证书颁发机构 (CA) 颁发。
为 Azure 中的加密断言设置 SAML 令牌加密...
登录 Azure 门户。
转至 Microsoft Entra ID > 企业应用。
搜索并选择您的 SAML 应用程序。
选择令牌加密。
要导入证书,请选择导入证书。然后将您的公共证书 (CRT) 文件上传到 Azure。
上传后,选择证书旁边的三点菜单,然后选择激活令牌加密证书。
确保关联的私钥安装在 Alteryx Server 上的 Windows 证书存储中。同时确认证书链和依赖项是否正确位于您的计算机上。
打开 Server 上的 Alteryx 系统设置。
转至 Server UI > Authentication(身份验证)。
要启用加密,请选择 Encrypt Assertions(加密断言)。
在 Decryption Certificate Hash(解密证书哈希)字段中,输入已安装证书私钥的指纹。
要完成设置,请在其余提示中依次选择 Next(下一步),然后选择 Finish(完成)。
如果成功,AlteryxService 将自动重启。当触发 SAML 身份验证时,SAML 断言和属性将在 SAML 跟踪工具中以加密形式显示。
在 Okta 中为加密断言设置 SAML 令牌加密
注意
本节假定已具备以下先决条件:
在 Okta 和 Alteryx 系统设置中已完成基本 SAML 配置。
具有私钥的预配置证书已可用,由有效的证书颁发机构 (CA) 颁发。
要在 Okta 中为加密断言设置 SAML 令牌加密...
登录 Okta 门户。
从左侧导航窗格中,选择应用程序。
使用搜索栏查找并选择您的 SAML 应用程序。
选择常规。在SAML 设置下,选择编辑。要继续,请选择下一步。
在 SAML 设置下,选择显示高级设置。
在断言加密下,将下拉菜单设置为已加密。您可以保持默认算法为选中状态。
在加密证书下,选择浏览并上传您的公共证书 (CRT) 文件。
要完成配置,请选择下一步,然后选择完成。
确保关联的私钥安装在 Alteryx Server 上的 Windows 证书存储中。同时确认证书链和依赖项是否正确位于您的计算机上。
打开 Server 上的 Alteryx 系统设置。
转至 Server UI > Authentication(身份验证)。
要启用加密,请选择 Encrypt Assertions(加密断言)。
在 Decryption Certificate Hash(解密证书哈希)字段中,输入已安装证书私钥的指纹。
故障排除
如果解密证书哈希输入错误,会发生什么情况?
如果在 Alteryx 系统设置中输入的解密证书哈希不正确:
AlteryxService 无法启动。
SSO 日志包含类似于以下内容的错误:
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)"
如果 PKI 证书在 Windows 证书存储中不可用,会发生什么情况?
如果 Windows 证书存储中缺少私钥基础架构 (PKI) 证书,则在验证 SAML 配置时可能会出现以下几个问题:
尝试验证身份提供商 (IdP) 时可能会遇到以下错误:
未能通过 IdP 验证。请再次检查您的设置。
在成功的登录尝试后,浏览器可能会返回:
Page Not Found The page you are trying to reach does not exist
在某些情况下,AlteryxService 可能无法启动。
要进行故障排除,请检查 SSO 日志以了解更多详细信息。日志通常位于
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)"
如果在 IdP 上启用了“加密断言”,但在 Alteryx 中未启用,会发生什么情况?
如果将身份提供商 (IdP) 配置为加密 SAML 断言,但在 Alteryx 系统设置中未启用 Encrypt Assertions(加密断言),Alteryx 将无法验证断言,因为这些断言是使用公钥加密的。
您可能会遇到以下错误消息:
未能通过 IdP 验证。请再次检查您的设置。
Page Not Found The page you are trying to reach does not exist
已知缺陷
调整 Alteryx 系统设置窗口大小时出现外观 UI 缺陷。
TCPE-1590 (GCSE-3302):当调整 Alteryx 系统设置窗口大小时,SSL/TLS 证书哈希和解密证书哈希出现重叠。