mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-09-09 05:01:46 +00:00
Run gendocs
This commit is contained in:
@@ -30,6 +30,7 @@ Documentation for other releases can be found at
|
||||
<!-- END STRIP_FOR_RELEASE -->
|
||||
|
||||
<!-- END MUNGE: UNVERSIONED_WARNING -->
|
||||
|
||||
# K8s Identity and Access Management Sketch
|
||||
|
||||
This document suggests a direction for identity and access management in the Kubernetes system.
|
||||
@@ -43,6 +44,7 @@ High level goals are:
|
||||
- Ease integration with existing enterprise and hosted scenarios.
|
||||
|
||||
### Actors
|
||||
|
||||
Each of these can act as normal users or attackers.
|
||||
- External Users: People who are accessing applications running on K8s (e.g. a web site served by webserver running in a container on K8s), but who do not have K8s API access.
|
||||
- K8s Users : People who access the K8s API (e.g. create K8s API objects like Pods)
|
||||
@@ -51,6 +53,7 @@ Each of these can act as normal users or attackers.
|
||||
- K8s Admin means K8s Cluster Admins and K8s Project Admins taken together.
|
||||
|
||||
### Threats
|
||||
|
||||
Both intentional attacks and accidental use of privilege are concerns.
|
||||
|
||||
For both cases it may be useful to think about these categories differently:
|
||||
@@ -81,6 +84,7 @@ K8s Cluster assets:
|
||||
This document is primarily about protecting K8s User assets and K8s cluster assets from other K8s Users and K8s Project and Cluster Admins.
|
||||
|
||||
### Usage environments
|
||||
|
||||
Cluster in Small organization:
|
||||
- K8s Admins may be the same people as K8s Users.
|
||||
- few K8s Admins.
|
||||
@@ -112,6 +116,7 @@ Pods configs should be largely portable between Org-run and hosted configuration
|
||||
|
||||
|
||||
# Design
|
||||
|
||||
Related discussion:
|
||||
- https://github.com/GoogleCloudPlatform/kubernetes/issues/442
|
||||
- https://github.com/GoogleCloudPlatform/kubernetes/issues/443
|
||||
@@ -125,7 +130,9 @@ K8s distribution should include templates of config, and documentation, for simp
|
||||
Features in this doc are divided into "Initial Feature", and "Improvements". Initial features would be candidates for version 1.00.
|
||||
|
||||
## Identity
|
||||
###userAccount
|
||||
|
||||
### userAccount
|
||||
|
||||
K8s will have a `userAccount` API object.
|
||||
- `userAccount` has a UID which is immutable. This is used to associate users with objects and to record actions in audit logs.
|
||||
- `userAccount` has a name which is a string and human readable and unique among userAccounts. It is used to refer to users in Policies, to ensure that the Policies are human readable. It can be changed only when there are no Policy objects or other objects which refer to that name. An email address is a suggested format for this field.
|
||||
@@ -158,7 +165,8 @@ Enterprise Profile:
|
||||
- each service using the API has own `userAccount` too. (e.g. `scheduler`, `repcontroller`)
|
||||
- automated jobs to denormalize the ldap group info into the local system list of users into the K8s userAccount file.
|
||||
|
||||
###Unix accounts
|
||||
### Unix accounts
|
||||
|
||||
A `userAccount` is not a Unix user account. The fact that a pod is started by a `userAccount` does not mean that the processes in that pod's containers run as a Unix user with a corresponding name or identity.
|
||||
|
||||
Initially:
|
||||
@@ -170,7 +178,8 @@ Improvements:
|
||||
- requires docker to integrate user namespace support, and deciding what getpwnam() does for these uids.
|
||||
- any features that help users avoid use of privileged containers (https://github.com/GoogleCloudPlatform/kubernetes/issues/391)
|
||||
|
||||
###Namespaces
|
||||
### Namespaces
|
||||
|
||||
K8s will have a have a `namespace` API object. It is similar to a Google Compute Engine `project`. It provides a namespace for objects created by a group of people co-operating together, preventing name collisions with non-cooperating groups. It also serves as a reference point for authorization policies.
|
||||
|
||||
Namespaces are described in [namespaces.md](namespaces.md).
|
||||
|
Reference in New Issue
Block a user