1.8 KiB
title | description | weight |
---|---|---|
Authorization Too Restrictive | Authorization is enabled and no requests make it through to the service. | 60 |
When you first enable authorization for a service, all requests are denied by default. After you add one or more authorization policies, then matching requests should flow through. If all requests continue to be denied, you can try the following:
-
Make sure there is no typo in your policy yaml file.
-
Avoid enabling authorization for Istio Control Planes Components, including Mixer, Pilot, Ingress. Istio authorization policy is designed for authorizing access to services in Istio Mesh. Enabling it for Istio Control Planes Components may cause unexpected behavior.
-
Make sure that your
ServiceRoleBinding
and referredServiceRole
objects are in the same namespace (by checking "metadata"/”namespace” line). -
In Kubernetes environment, make sure all services in a
ServiceRole
object are in the same namespace as theServiceRole
itself. For example, if a service in aServiceRole
object isa.default.svc.cluster.local
, theServiceRole
must be in thedefault
namespace (metadata/namespace
line should bedefault
). For non-Kubernetes environments, allServiceRoles
andServiceRoleBindings
for a mesh should be in the same namespace. -
Check Pilot and proxy log (or collect Pilot and proxy log and file a GitHub issue) to find out the exact cause. You could collect the LDS configuration generated by Pilot by running [
dump_kubernetes.sh
]({{< github_file >}}/tools/dump_kubernetes.sh). -
For Mixer based authorization, it is often the case that Istio Proxy to Mixer connection is down, Mixer attribute manifest is not setup correctly. Check Mixer Log (or collect Mixer log and file a GitHub issue) to find out the exact cause.