Prisma Cloud 計算:SAMLリクエストとレスポンス

Prisma Cloud 計算:SAMLリクエストとレスポンス

11550
Created On 11/18/19 19:32 PM - Last Modified 03/02/23 02:43 AM


Symptom


SAML 当事者間、特に ID プロバイダーとサービス プロバイダー間で認証および承認データを交換するためのオープン スタンダードです。
  • サービスプロバイダー (SP ) = ツイストロック コンソール UI
  • IdentityProvider (IdP) = SiteMinder、ADFS 、Okta、AzureAD、PINGフェデレート、シボレスなど
SAML フェデレーションは以下に基づいていますHTTPリダイレクト。 これは、Twistlock コンソールなどのブラウザー ベースのアプリケーションに使用されます。UI .

のSAML仕様はここにあります: http://docs.oasis-open.org/security/saml/v2.0/saml-core-2.0-os.pdf

この記事では、例の概要を説明しますSAML認証リクエストとSAMLそれぞれで何を探すべきかについて詳細に説明します。 目的は、トラブルシューティングのガイドラインを提供することです。SAML Twistlock に関連する問題。


Environment


  • SaaS
  • セルフホスト 19.11 以降


Resolution


例SAMLTwistlock から に送信された認証要求ADFSIdP
<サンプル:認証リクエスト
AssertionConsumerServiceURL="https://console.lab.twistlock.com/api/v1/authenticate"
Destination="https://saml-adfs.ad.lab.twistlock.com/adfs/ls"
ID ="_56f9f278-c1b1-ed6d-ecc8-c3ce057b2a09" IssueInstant="2019-04-15T20:19:12Z"
ProtocolBinding="urn:oasis:names:tc:SAML :2.0:バインディング:HTTP-POST " バージョン="2.0"
xmlns:saml="urn:oasis:names:tc:SAML :2.0:アサーション"
xmlns:samlp="urn:oasis:names:tc:SAML :2.0:プロトコル">
<saml:Issuer>pfox-twistlock</saml:Issuer>
<samlp:RequestedAuthnContext Comparison="exact" xmlns:samlp="urn:oasis:names:tc:SAML :2.0:プロトコル">
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML :2.0:assertion">urn:oasis:names:tc:SAML :2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML :2.0:assertion">urn:federation:authentication:windows</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>
</samlp:認証リクエスト>

AuthnRequest で探すべきもの

AssertionConsumerServiceURL
AssertionConsumerServiceURL="https://console.twistlock.com/api/v1/authenticate"

これは、IdP がユーザーのブラウザーを Twistlock にリダイレクトするために使用するエンドポイントです。 この値は、管理>認証>SAML > "コンソールURL"設定。 Twistlock コンソールが次のようなプロキシの背後にある場合、この値を設定するのが一般的です。 OpenShift 外部ルーターまたはIstio イングレス コントローラー. Twistlock コードは、フィールドに入力した値に「/api/v1/authenticate」を追加します。 この値が設定されていない場合、Twistlock コードは自動的にこの値を生成します。 この値は IdP の Twistlock と一致する必要がありますSP構成

発行者
<saml:Issuer>console-twistlock</saml:Issuer>

Twistlock コンソールの識別子。 毎日SAMLIdP には、すべての SP に対して一意の識別子が必要です。 デフォルトでは、Twistlock はツイストロック発行者。 この値は、観客Twistlock コンソールの値SAML設定。

AuthnContextClassRef
<samlp:RequestedAuthnContext Comparison="exact" xmlns:samlp="urn:oasis:names:tc:SAML :2.0:プロトコル">
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML :2.0:assertion">urn:oasis:names:tc:SAML :2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
<saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML :2.0:assertion">urn:federation:authentication:windows</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>

IdP で発生する認証方法を要求します。 urn:フェデレーション:認証:WindowsですADFSWindows 統合認証をサポートする IdP。 一部の IdP は、これらの値を処理する方法を知りません。 例えば、CA SiteMinder は、SAML応答:
<StatusMessage>AuthnContexts を使用した AuthnRequest はサポートされていません!</StatusMessage>

この場合、AuthnContextClassRef 値を無視するように SiteMinder IdP を構成する必要があります。


例SAMLからの応答ADFSIdP からツイストロックへ
<samlp:Response Consent="urn:oasis:names:tc:SAML :2.0:同意:未指定"
Destination="https://console.lab.twistlock.com/api/v1/authenticate"
ID ="_3ac05c43-11b8-4fac-9063-0b0a5f83707f" InResponseTo="_56f9f278-c1b1-ed6d-ecc8-c3ce057b2a09"
IssueInstant="2019-04-15T20:21:59.095Z" バージョン="2.0"
xmlns:samlp="urn:oasis:names:tc:SAML :2.0:プロトコル">
<発行者 xmlns="urn:oasis:names:tc:SAML :2.0:assertion">http://console.lab.twistlock.com/adfs/services/trust</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:リファレンスURI="#_3ac05c43-11b8-4fac-9063-0b0a5f83707f">
<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>ppj1biegltD2D701NL9Of+xDctgdChV166ja9E2DqtQ=</ds:DigestValue>
</ds:参照>
</ds:SignedInfo>
<ds:SignatureValue>Mh9dAnyo2CY0kz+cah8KVwwu7ZSWXO6ubyPOBk7CjD6CVHPfR2OFJ2S3fM695/usCWYud2CwQsdd1DVCDsnnAqifkGZiabHH38bBa9Jdv3YdWs3hoz4nqQbFesdQGV5QjL54Ip19FxFWUAxt4bKpundfP2h8OikRjkoi24QLVzSIcvuH/vkvz/DP7vF6e+YCbzu6BJDPWXf3TzvO6Og1mx4URDw2kycy83CHsB0mMJm3cfvb39DSLlnE6EvR+msUqoTWuLw==</ds:SignatureValue>
<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<ds:X509Data>
<ds:X509Certificate></ds:X509Certificate>
</ds:X509データ>
</キー情報>
</ds:署名>
<samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML :2.0:status:成功"/></samlp:Status>
<アサーションID="_d6029da5-a589" IssueInstant="2019-04-15T20:21:59.095Z"
Version="2.0" xmlns="urn:oasis:names:tc:SAML :2.0:アサーション">
<発行者>http://saml-adfs.ad.lab.twistlock.com/adfs/services/trust</発行者>
<件名>
<NameID>pfox</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML :2.0:cm:bearer"><SubjectConfirmationData InResponseTo="_56f9f278-c1b1-ed6d-ecc8-c3ce057b2a09"
NotOnOrAfter="2019-04-15T20:26:59.095Z"
Recipient="https://console.lab.twistlock.com/api/v1/authenticate"/></SubjectConfirmation>
</件名>
<条件 NotBefore="2019-04-15T20:21:59.095Z" NotOnOrAfter="2019-04-15T21:21:59.095Z">
<視聴制限>
<Audience>コンソールツイストロック</Audience>
</AudienceRestriction>
</条件>
<属性ステートメント>
<属性名="グループ">
<AttributeValue>ドメイン管理者</AttributeValue>
<AttributeValue>ドメイン ユーザー</AttributeValue>
<AttributeValue>TLAdmins</AttributeValue>
</属性>
</属性ステートメント>
<AuthnStatement AuthnInstant="2019-04-15T20:21:59.032Z"
SessionIndex="_d6029da5-a589-4559-beaf-b734f45fd452">
<認証コンテキスト>
<AuthnContextClassRef>urn:oasis:names:tc:SAML :2.0:ac:classes:PasswordProtectedTransport</AuthnContextClassRef>
</認証コンテキスト>
</認証ステートメント>
</アサーション>
</samlp:応答>

応答で探すべきこと

発行者

<発行者>http://saml-adfs.ad.lab.twistlock.com/adfs/services/trust</発行者>

レスポンストークン発行者値がID プロバイダーの発行者の値SAMLの設定ADFSIdP

ds:署名

のSAML応答トークンは次のいずれかでなければなりません署名付き応答また署名付き応答 + アサーションIdP の署名証明書は、IdP の Twistlock 設定にロードする必要があります。X .509証明書Base64 形式のフィールド。

グループ
<属性ステートメント>
<属性名="グループ">
<AttributeValue>ドメイン管理者</AttributeValue>
<AttributeValue>ドメイン ユーザー</AttributeValue>
<AttributeValue>TLAdmins</AttributeValue>
</属性>
</属性ステートメント>

グループ マッピングには、SAMLトークンには、グループ請求。 これにはグループ名の配列を含めることができ、グループ名と比較されます。SAMLで定義されたグループ管理>認証>グループ. これには、カスタムクレーム.

名前ID
<件名>
<NameID>pfox</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML :2.0:cm:bearer"><SubjectConfirmationData InResponseTo="_56f9f278-c1b1-ed6d"
NotOnOrAfter="2019-04-15T20:26:59.095Z"
Recipient="https://console.lab.twistlock.com/api/v1/authenticate"/></SubjectConfirmation>
</件名>

nameid 属性が存在し、Twistlock と一致する必要がありますSAMLグループ関連付けを使用しない場合はユーザー名。


Actions
  • Print
  • Copy Link

    https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000PNXQCA4&lang=ja&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

Choose Language