Аудитивность в SAML 2.0 - PullRequest
0 голосов
/ 17 марта 2020

Может ли SAML 2.0 хранить всех пользователей, которые обращаются к моему API-REST, и таким образом я могу отслеживать людей, которые входят в мой API? Например, если я хочу знать, кто вчера получил доступ к моему API.

1 Ответ

0 голосов
/ 17 марта 2020

SAML - это только формат, в котором поступает информация ваших пользователей. Например, используя в примерах , ниже показано, как пользователь может быть представлен в 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. Последняя схема здесь .

...