WSO2 API管理器1.8-尝试XACML-创建策略时出错

WSO2 API管理器1.8-尝试XACML-创建策略时出错,wso2,wso2-am,Wso2,Wso2 Am,我试图了解如何将XACML与API管理器结合使用,以控制对某些资源的访问。我关注了这里的博客帖子 我还试着从下面的链接中再看一篇帖子, 另外,我已经讨论了关于这个主题的大部分问题。以下是我的问题, “XACML(4.2.2)”和“XACML中介(4.2.2)”的版本是否与API Manager 1.8兼容 我尝试创建策略时出错。我在“添加新策略”页面中使用简单策略编辑器,并遵循第一个博客链接中给出的相同说明 UI中显示的错误是 "Error while adding entitlement

我试图了解如何将XACML与API管理器结合使用,以控制对某些资源的访问。我关注了这里的博客帖子

我还试着从下面的链接中再看一篇帖子,

另外,我已经讨论了关于这个主题的大部分问题。以下是我的问题,

  • “XACML(4.2.2)”和“XACML中介(4.2.2)”的版本是否与API Manager 1.8兼容
  • 我尝试创建策略时出错。我在“添加新策略”页面中使用简单策略编辑器,并遵循第一个博客链接中给出的相同说明 UI中显示的错误是

    "Error while adding entitlement policy. Invalid Entitlement Policy. Policy is not valid according to XACML schema"
    
    并且日志有以下错误:

    ERROR - EntitlementUtil XACML policy is not valid according to the schema :cvc-complex-type.2.4.a: Invalid content was found starting with element 'Description'. One of '{"urn:oasis:names:tc:xacml:3.0:core:schema:wd-17":Description, "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17":PolicyIssuer, "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17":PolicyDefaults, "urn:oasis:names:tc:xacml:3.0:core:schema:wd-17":Target}' is expected.
    

    由于我不是手动编辑策略,也不是使用简单的策略编辑器并输入所有必需的字段,所以我没有料到会出现此错误。你知道这是真的错误还是由于版本不匹配吗?

    我想你已经在APIM中安装了XACML功能。问题一定是由于APIM 1.8.0中包含的OSGI捆绑包和您安装的XACML功能中的版本不匹配造成的。在APIM中安装XACML特性后,我发现有很多问题。因为APIM 1.8.0和IS 5.0.0没有同时发布。因此,存在一些版本不匹配问题。您可以下载IS 5.0.0并尝试创建策略,查看是否产生了问题


    然而,如果您选择正确的部署,我认为上面文章中的内容是不正确的。通常,XACML引擎必须外部化并作为单独的实体运行。它不能位于API网关内。因此,最好使用不同的服务器来运行XACML引擎。您可以从中找到更多详细信息。同样在上面的文章中,它只是在APIM中安装了XACML特性。。但是您可以使用
    权利中介调用WSO2IS
    。您只需要在中介配置中为它提供正确的url。建议使用WSO2IS并试用上述文章。您可以通过使用WSO2IS XACML编辑器找到有关创建XACML策略的更多详细信息。

    您可以共享您的策略吗?我将能够用Axiomatics策略服务器验证它。之前在WSO2上也有类似的错误报告,所以我并不感到惊讶。我还没有编写此策略。我正在使用WSO2管理控制台中的UI创建此策略。另外,我是XACML的新手,因此我无法提供我试图使用UIT创建的策略的XML版本。策略本身的创建失败,因此我找不到任何关于它正在内部创建和验证的策略的参考。您可以使用其他创作工具吗,例如,Eclipse的ALFA插件吗?嗨,Asela,在bolg中,它使用的是宣誓授权服务器,但是如果我们只想使用API管理器作为PEP,使用Wso2身份服务器作为PDP呢?对于SSO和其他东西,我们可以使用IS的功能。是否可能?如何配置API管理器以充当PEP?是。。这也是可能的。然后您可以在APIM中使用授权中介。。。但我想首选的方法是使用WSO2IS作为密钥管理器。请参阅本文件。。。。。然后,WSO2IS将是授权服务器/SAML2 IDP/PDP,也作为在授权服务器(WSO2IS)中验证的令牌。WSO2IS也将是PEP。。。。您可以使用博客中提到的作用域处理程序与PDP对话以验证令牌。。。因此,范围处理程序将是实际的Pepasela…我将尝试它。