Ошибка соответствия запроса Balana с новым AttributeDesignator
У меня есть два магазина Policies. Одним из них является Простое хранилище политик (SPS), а другим - Административное хранилище политик (APS). Простой запрос доступа к политикам доступа работает должным образом. Однако, когда я оцениваю административный запрос по следующей политике (APS).... (я показал только одну политику компонента);
<Target>
<AnyOf>
<AllOf>
<Match MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal">
<AttributeValue DataType="http://www.w3.org/2001/XMLSchema#string">shibli</AttributeValue>
<AttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" Category="urn:oasis:names:tc:xacml:3.0:attribute-category:delegate" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>
</Match>
</AllOf>
</AnyOf>
</Target>
тогда это сгенерирует следующую ошибку;
<Response xmlns="urn:oasis:names:tc:xacml:3.0:core:schema:wd-17"><Result><Decision>Indeterminate</Decision><Status><StatusCode Value="urn:oasis:names:tc:xacml:1.0:status:missing-attribute"/><StatusMessage>Couldn't find AttributeDesignator attribute</StatusMessage><StatusDetail>
<MissingAttributeDetail AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="http://www.w3.org/2001/XMLSchema#string" Category="urn:oasis:names:tc:xacml:1.0:subject-category:access-subject" ></MissingAttributeDetail>
</StatusDetail></Status></Result></Response>.
ОБНОВЛЕНИЕ: И вот моя просьба;
"<Attributes Category=\"urn:oasis:names:tc:xacml:3.0:attribute-category:delegate\">\n"+
"<Attribute AttributeId=\"urn:oasis:names:tc:xacml:1.0:subject:subject-id\" IncludeInResult=\"false\">\n"+
"<AttributeValue DataType=\"http://www.w3.org/2001/XMLSchema#string\">"+issuer+"</AttributeValue>\n"+
"</Attribute>\n"+
"</Attributes>\n"+
Любой может направить меня!
заранее спасибо
С уважением,
2 ответа
Ошибка нормальная. Ваша политика ожидает следующий атрибут:
- идентификатор атрибута: урна: оазис: имена:tc:xacml:1.0: тема: идентификатор темы
- тип данных: http://www.w3.org/2001/XMLSchema
- категория: урна: оазис: имена:tc:xacml:3.0: категория атрибута:делегат
Флаг MustBePresent
установлен в true
Это означает, что если атрибут отсутствует (т. е. нет значений), то Indeterminate
будет возвращен.
Ответ на ваш запрос содержит:
- идентификатор атрибута: урна: оазис: имена:tc:xacml:1.0: тема: идентификатор темы
- тип данных: http://www.w3.org/2001/XMLSchema
- категория: урна: оазис: имена:tc:xacml:1.0: тема-категория:тема доступа
Обратите внимание, как значения категорий отличаются. Это означает, что вы на самом деле не оцениваете политику, которую вы показали нам в первом фрагменте, или, если это так, он также содержит раздел с обязательным атрибутом субъектного идентификатора.
Для продолжения было бы полезно показать отправленный вами запрос. Также убедитесь, что у вас установлена правильная политика.
Я решил это, поместив административные политики и политики доступа в две разные папки. Я думаю, что Балана не может читать различные типы политик, которые находятся в одних и тех же папках.