Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [hono-dev] Qpid Dispatch Router policies

On Do, 2016-09-01 at 10:52 -0400, Chuck Rolke wrote:
> Hi,
> 
> The policies are completely manageable using the normal qdmanage
> channels. The policy self tests unfortunately do not illustrate how
> to create or to update a policy object through application code. One
> half the the equation, using qdmanage to get a policy object, is
> shown in tests/system_tests_policy.py
> test_verify_policies_are_loaded()
> 
>         rulesets = json.loads(self.run_qdmanage('query --
> type=vhost'))
>         self.assertEqual(len(rulesets), 5)
> 
> The run_qdmanage function returns a json string that holds the object
> in question. The string may be modified as desired and sent back to
> the router as a management request. I will create a self test that
> does just that.

Thanks for clarifying, Chuck. My understanding is that this update
would then need to be performed on all dispatch router instances (of a
cluster/network) separately, right?

Orchestrating such an update across a large population of dispatch
router instances doesn't seem a trivial task to do AFAIK. You could
argue that a re-configuration nowadays (in the Docker/cloud era) would
encompass building a new image (with the updated configuration) instead
of changing the config during runtime and then ripple-update all
instances, i.e. shut down an old instances and replace it with a new
instance (with the new config) one by one.

Is that how you envision it?

Another way could be to introduce support for a config server (e.g.
etcd or consul) into dispatch router so that the config could be
managed centrally and each instance would get their config from there
...

> 
> In the code today updates to policy objects are NOT applied to
> existing connections, only to new connections. Connections cache the
> policy settings at the time the connection is created and use them
> for the lifetime of the connection.
> 
> Regards,
> Chuck
> 
> 
> From: "Guggemos Dominik (INST/ECS1)" <Dominik.Guggemos@xxxxxxxxxxxx>
> To: "hono developer discussions" <hono-dev@xxxxxxxxxxx>
> Sent: Thursday, September 1, 2016 5:13:15 AM
> Subject: [hono-dev] Qpid Dispatch Router policies
> 
> Hi all,
>  
> after having a closer look at the Qpid Dispatch Router configuration
> regarding authentication and authorization there are some questions I
> would like to discuss.
> Our current architecture approach [1] involves that clients need to
> be authenticated and authorized at both endpoints (Hono server and
> Dispatch Router). As a result we need to keep this information in
> sync between them. For the authentication this should be doable by
> using the same SASL provider and  the same source of information e.g.
> database (Kai is working on the SASL topic already). For the
> authorization it’s not that simple. As I understand for the Dispatch
> Router the information e.g. who is allowed to attach to a
> source/target (the policies) is rather static. I found no way to
> modify this data during runtime of the router, is this correct? Are
> there any plans to make this more flexible? Or more generally, how
> are the policies are supposed to be used if I want to grant a new
> user access to the router or revoke access of an existing user
> (without restarting the router)? Maybe an example of how this is done
> in existing systems helps to understand.
>  
> [1] https://github.com/eclipse/hono/wiki/Topology-Options
>  
> Best regards
>  
> Dominik Guggemos
> INST/ECS1
>  
> Tel. +49 7545 202-396
> www.blog.bosch-si.com
>  
> 
> _______________________________________________
> hono-dev mailing list
> hono-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/hono-dev
> 
> _______________________________________________
> hono-dev mailing list
> hono-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or
> unsubscribe from this list, visit
> https://dev.eclipse.org/mailman/listinfo/hono-dev

Back to the top