【问题标题】:Auditability in SAML 2.0SAML 2.0 中的可审计性
【发布时间】:2020-06-28 08:48:33
【问题描述】:

SAML 2.0 是否能够存储所有访问我的 API-REST 的用户,并且这样我可以跟踪进入我的 API 的人? 例如,如果我想知道昨天谁访问了我的 Api。

【问题讨论】:

    标签: saml saml-2.0 onelogin


    【解决方案1】:

    SAML 只是您的用户信息到达的格式。例如使用the examples,以下是用户在SAML 中的表示方式:

    <saml:AttributeStatement>
          <saml:Attribute Name="uid" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
            <saml:AttributeValue xsi:type="xs:string">test</saml:AttributeValue>
          </saml:Attribute>
          <saml:Attribute Name="mail" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
            <saml:AttributeValue xsi:type="xs:string">test@example.com</saml:AttributeValue>
          </saml:Attribute>
          <saml:Attribute Name="eduPersonAffiliation" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
            <saml:AttributeValue xsi:type="xs:string">users</saml:AttributeValue>
            <saml:AttributeValue xsi:type="xs:string">examplerole1</saml:AttributeValue>
          </saml:Attribute>
        </saml:AttributeStatement>
    

    uid 属性将是他们的用户名以及mail 属性中的电子邮件地址。 eduPersonAffiliation 表示他们与组织的关系。在这种情况下,他们是自己组织中具有 examplerole1 角色的用户。

    SAML 除了将其传递到您的 API 之外,不会记录此内容。您可以自行提取这些属性并从中创建自己的审计系统。

    很多SAML 身份提供者 (IdP) 发布了 eduPerson 属性。最新的架构是here

    【讨论】:

    • 在你的回答中,@codebrane,我认为你已经超出了 OP 的需求,这混淆了答案。我认为答案就在那里,您只是将其隐藏在 OP 不需要的信息中。
    • 基本上,答案是“没有 saml 不提供审计”,但这是您可以自己使用的东西
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多