<p>I have created a role, below is definition the role:</p>

<pre><code>---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: ${SERVICE_ACCOUNT_NAME}-full-access-role
  namespace: ${NAMESPACE}
rules:
- apiGroups: ["", "extensions", "apps"]
  resources: ["*"]
  verbs: ["*"]
- apiGroups: ["batch"]
  resources:
  - jobs
  - cronjobs
  verbs: ["*"]

</code></pre>

<p>Using this role a user can create, list and delete any resource in a namespace but problem is it can also list all namespaces in cluster.</p>

<p>I want to enable users to create namespaces and can perform any action in it as well but also they can't list any resource even other namespaces that are't created by the user.</p>

<p>I think you cannot deny user access right to list all namespaces and give them the access you need at the same. At least not in the bare metal kubernetes. Read the following <a href="https://github.com/kubernetes/community/issues/1486" rel="nofollow noreferrer">GH issue</a>, it's about the similar issue that you encounter.</p>
