我使用docker compose部署了Orion, Cygnus, Keyrock and PEP proxy,正如您在存储库中看到的那样。但实施的安全级别并非理想。
keystone_url = "http://localhost:5000"
keyrock_url = "http://localhost:8000"
orion = "http://localhost"
def test_authzforce(create=0,usuario="idm",nombre="",password="idm",correo=""):
if(create != 0):
ktoken=get_token(keystone_url)
create_user(keystone_url, ktoken,usuario,nombre,password,correo)
token = get_access_token(keyrock_url,usuario,password)
entities = get_all_entities(orion,token)
print("""
user:\t\t{}
token:\t\t{}
result:\t\t{}
""".format(usuario,token,entities))
test_authzforce()
test_authzforce(1,"test1","test1","test1","tes1t@test.com")
使用此Python package,在函数的第一次调用中,它使用admin用户获取令牌,稍后获取Orion上的所有实体。但是在第二次调用中,函数在keyrock应用程序中创建了一个没有任何授权的新用户,尽管这可以获得实体。
user: idm
token: ggeWahMo3x7gV7IAkg3hzzoRshEd6Y
result: []
user: test1
token: zDTCiE7GkEFujQSGRjYs76SqL6hkad
result: []
[Finished in 2.1s]
然后,尝试实施Authzforce on this docker compose file,得到了这些结果,而没有向同一个管理员授予访问权限:
user: idm
token: DZKTmiV289FPclWKwceiTi7JhvuIUq
result: User token not authorized
user: test1
token: nPH8fdLQeDdJg6Bi1riJfRYybqITud
result: User token not authorized
[Finished in 2.0s]
在控制台上出现此错误
这里有你所有的authzforce配置:
Local_Settings GE Access control