{
    "description": "Subject contains a reference to the object or user identities a role binding applies to.  This can either hold a direct API object reference, or a value for non-objects such as user and group names.",
    "properties": {
        "apiVersion": {
            "description": "APIVersion holds the API group and version of the referenced subject. Defaults to \"v1\" for ServiceAccount subjects. Defaults to \"rbac.authorization.k8s.io/v1alpha1\" for User and Group subjects.",
            "type": [
                "string",
                "null"
            ]
        },
        "kind": {
            "description": "Kind of object being referenced. Values defined by this API group are \"User\", \"Group\", and \"ServiceAccount\". If the Authorizer does not recognized the kind value, the Authorizer should report an error.",
            "type": [
                "string",
                "null"
            ]
        },
        "name": {
            "description": "Name of the object being referenced.",
            "type": [
                "string",
                "null"
            ]
        },
        "namespace": {
            "description": "Namespace of the referenced object.  If the object kind is non-namespace, such as \"User\" or \"Group\", and this value is not empty the Authorizer should report an error.",
            "type": [
                "string",
                "null"
            ]
        }
    },
    "required": [
        "kind",
        "name"
    ],
    "type": "object"
}