Ideally, it's better if we can authorize at proxy level and reject all
unauthorized connections before connecting to the broker - lesser chances
of broker being Dos’d.  However in order to authorize a role, we needed
access to zookeeper, connection to zookeeper was something we wanted to
avoid for proxy since it is on a public IP - hence we authenticate at proxy
level and authorize at the broker, but that’s not the ideal configuration.

On Wed, Jan 9, 2019 at 3:10 AM Ivan Kelly <iv...@apache.org> wrote:

> >     Assume a role/principal R has permissions to produce on a namespace.
> If
> > we don't authenticate at the proxy then anyone (attacker) can say that
> they
> > belong to role R and connect to the proxy, the proxy will forward the
> role
> > name to the broker which will authorize it and allow access. Instead, we
> > need to *authenticate* at the proxy and reject all connections which are
> > trying to falsify their credentials and then the broker will reject all
> > roles/principal which are not *authorized* to access the namespace.
>
> Well, yes, that's what I would expect to happen. So what is the point
> of have auth*ORIZATION* in the proxy? If the broker is going to apply
> the authorization anyhow, shouldn't we do authentication at the proxy
> level?
>
> -Ivan
>

Reply via email to