• Kubernetes Submit Queue's avatar
    Merge pull request #41184 from liggitt/subject-apigroup · 1f4e2efc
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 41357, 41178, 41280, 41184, 41278)
    
    Switch RBAC subject apiVersion to apiGroup in v1beta1
    
    Referencing a subject from an RBAC role binding, the API group and kind of the subject is needed to fully-qualify the reference.
    
    The version is not, and adds complexity around re-writing the reference when returning the binding from different versions of the API, and when reconciling subjects.
    
    This PR:
    * v1beta1: change the subject `apiVersion` field to `apiGroup` (to match roleRef)
    * v1alpha1: convert apiVersion to apiGroup for backwards compatibility
    * all versions: add defaulting for the three allowed subject kinds
    * all versions: add validation to the field so we can count on the data in etcd being good until we decide to relax the apiGroup restriction
    
    ```release-note
    RBAC `v1beta1` RoleBinding/ClusterRoleBinding subjects changed `apiVersion` to `apiGroup` to fully-qualify a subject. ServiceAccount subjects default to an apiGroup of `""`, User and Group subjects default to an apiGroup of `"rbac.authorization.k8s.io"`.
    ```
    
    @deads2k @kubernetes/sig-auth-api-reviews @kubernetes/sig-auth-pr-reviews
    1f4e2efc
Name
Last commit
Last update
..
apps/v1beta1 Loading commit data...
authentication.k8s.io Loading commit data...
authorization.k8s.io Loading commit data...
autoscaling Loading commit data...
batch Loading commit data...
certificates.k8s.io/v1beta1 Loading commit data...
extensions/v1beta1 Loading commit data...
policy/v1beta1 Loading commit data...
rbac.authorization.k8s.io Loading commit data...
storage.k8s.io/v1beta1 Loading commit data...
v1 Loading commit data...
README.md Loading commit data...
labels-annotations-taints.md Loading commit data...