Работа с заголовками FIWARE не является проблемой для Authzforce , просто это не стандартное поведение PEP Proxy.
Authzforce — это полностью общий PDP, если вы предоставите правильный набор политик XACML и отправите соответствующие данные, он вынесет решение за вас. Следующие <Rule>
получат permit
полный доступ к /v2/entities
, когда fiware-header = "smartgondor"
<?xml version="1.0" encoding="UTF-8"?>
<Rule RuleId="ccxsx-xs-xsx-xsxs-xs" Effect="Permit">
<Description>Context Broker Access with Header=SmartGondor</Description>
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:3.0:function:string-starts-with">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">/v2/entities</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="urn:thales:xacml:2.0:resource:sub-resource-id" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true" />
</Match>
</AllOf>
</AnyOf>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">smartgondor</AttributeValue>
<AttributeDesignator Category="urn:oasis:names:tc:xacml:3.0:attribute-category:resource" AttributeId="fiware-header" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true" />
</Match>
</AllOf>
</AnyOf>
</Target>
</Rule>
К сожалению, проблема в том, что по умолчанию прокси-сервер PEP code при выполнении запроса к Authzforce передает только следующие стандартные значения:
- роли
- действие
- URL-адрес ресурса
- идентификатор приложения
Как видите, по по умолчанию никакая информация заголовка не передается.
Включить информацию о заголовках FIWARE. Вам придется изменить файл, чтобы прочитать заголовки из запроса, отправленного на прокси-сервер PEP, и добавить еще один атрибут, отправленный с запросом в Authzforce. Более простой пример такого пользовательского запроса можно найти в Руководство по администрированию XACML
Сотрудники службы безопасности могут звонить в тревожный звонок только до 9 утра или после 17:00, за исключением Чарли, который может звонить в любое время.
Пользовательский код для отправки запроса в Authzforce можно найти в файле учебная кодовая база — имя пользователя Чарли включено в запрос.
person
Jason Fox
schedule
15.02.2019