2012-09-04 126 views
0

我已经下载了新版本的API Manager 1.0.0 GA。Wso2 API MANAGER WSDL安全性

我对发布WSDL感到困惑,因为它没有相关的API KEY,每个人都可以访问它。

由于这个原因,我试图从ESB添加访问令牌,但这不会验证API管理器的用户(如Apisubscriber)只有ESB内的用户(即使我为APIManager和AP​​Manager配置了外部JDBC数据库) ESB user-mgt.xml)。

那么,有没有办法从API管理器为WSDL创建API密钥?或者如何控制对API存储中发布的WSDL的访问?

非常感谢


编辑:

从ESB我已经通过使用内置的安全方案,在我来说,我曾用“UsernameToken的增加安全性的服务”。这根据ESB“admin/everyone ...”中定义的角色对用户进行身份验证,并且只接受在ESB的用户存储“admin/admin”(以及您可能创建的其他用户存储)中定义的用户。

我ESB和我配置为共享相同的MySQLdb的为用户存储,但是,这并不在我的安全方案之前描述的工作:如果我创建内部AP用户“apicreator”和创建“usertest”内ESB,它们将用户存储在相同的MySQL数据库中,但在不同的“帐户”下,即“apicreator”不是在我的安全场景(UsernameToken)中进行身份验证的有效用户。我希望这个描述有助于澄清问题。谢谢

回答

1

使用WSO2 API管理器,您无法控制对API Store中发布的WSDL的访问权限。目前无法从API Manager创建WSDL的API密钥。但是必须完成控制通过您的后端服务。但是,从WSO2 API Manager创建API时,将Wsdl url作为输入不是必填字段,而是可选字段。

除此之外,我不清楚您的以下短语。“出于这个原因,我试图从ESB添加访问令牌,但这不会验证API管理器的用户(如Apisubscriber)只有ESB内的用户“你可以通过”从ESB添加访问令牌“来解释一下你的意思吗?

谢谢;

/Lalaji

+0

从ESB我已经通过使用内置的安全方案,在我的情况我已经使用“用户名令牌”增加安全性的服务。这根据ESB“admin/everyone ...”中定义的角色对用户进行身份验证,并且只接受在ESB的用户存储“admin/admin”(以及您可能创建的其他用户存储)中定义的用户。 – nuvio

+0

我将ESB和AM配置为共享用于用户存储的相同mysqlDB,但在我以前描述的安全场景中不起作用:如果我在AP内部创建用户“apicreator”,并在ESB内部创建“usertest”,他们将存储用户在同一个MySQL数据库中,但在不同的“帐号”下,即“apicreator”不是在我的安全场景(UsernameToken)中进行身份验证的有效用户。我希望这个描述有助于澄清问题。谢谢 – nuvio