github.com/apprenda/kismatic@v1.12.0/docs/design-decisions/kubernetes-rbac.md (about)

     1  # Enable RBAC support in Kubernetes
     2  
     3  Status: Implemented
     4  
     5  # Motivation
     6  As of Kubernetes v1.6.0, the role-based access control authorizer API was promoted
     7  to beta. RBAC is quickly becoming the recommended authorization scheme for
     8  Kubernetes clusters, as it is API driven and more powerful than ABAC. RBAC is also
     9  the preferred authorization mechanism in large enterprises.
    10  
    11  We should enable RBAC support out of the box when installing Kubernetes with Kismatic.
    12  
    13  # Admin user
    14  We will continue enabling both basic-auth and certificate-based authentication.
    15  Ideally, we would only support cert-based auth, but accessing the dashboard would
    16  require running `kubectl proxy` locally, which might not always be an option. 
    17  
    18  Kismatic will bootstrap a single user, `admin`, that will be used by the cluster administrator.
    19  This user will be accessible via the generated admin certificate, and via HTTP basic
    20  auth when accessing the dashboard.
    21  
    22  The generated `admin` user will be part of the `system:masters` group, which is
    23  bound to the `cluster-admin` role by the kubernetes default bindings.
    24  
    25  Kismatic will use the `admin` user to perform all current management operations.
    26  Defining roles and permissions for Kismatic functionality is out of scope for this
    27  proposal, but one can imagine building a set of roles that will be Kismatic specific.
    28  For example, a specific role could be created for Kismatic that will allow it to
    29  create persistent volumes on behalf of the user (when using the storage features).
    30  
    31  # Upgrade considerations
    32  Current clusters deployed with Kismatic are using ABAC for authorization. Removing
    33  ABAC support in the same release that RBAC is enabled would most likely break 
    34  existing clusters and applications, as they are relying on the permissive ABAC policy.
    35  
    36  For this reason, we will continue to enable both ABAC and RBAC authorizers, and 
    37  deprecate ABAC. Users will be responsible for creating the necessary RBAC policy
    38  according to their needs. After doing this, users may manually remove the ABAC 
    39  authorizer (by modifying the flag and restarting API servers), or they may wait
    40  until the next KET release where ABAC will be removed.
    41  
    42