<p>I have couple of namespaces - assume <code>NS1</code> and <code>NS2</code>. I have serviceaccounts created in those - <code>sa1</code> in <code>NS1</code> and <code>sa2</code> in <code>NS2</code>. I have created roles and rolebindings for <code>sa1</code> to do stuff within <code>NS1</code> and <code>sa2</code> within <code>NS2</code>.
What I want is give <code>sa1</code> certain access within <code>NS2</code> (say only Pod Reader role).</p>

<p>I am wondering if that's possible or not? </p>

<p>You can simply reference a ServiceAccount from another namespace in the RoleBinding:</p>

<pre><code>apiVersion: rbac.authorization.k8s.io/v1beta1
kind: Role
metadata:
  name: pod-reader
  namespace: ns2
rules:
- apiGroups: [""]
  resources: ["pods"]
  verbs: ["get", "list", "watch"]
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: pod-reader-from-ns1
  namespace: ns2
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: pod-reader
subjects:
- kind: ServiceAccount
  name: ns1-service-account
  namespace: ns1
</code></pre>
