Security - Authentication, Authorization, Admission Control Flashcards
What questions are to be made about the kube-apiserver in terms of security?
- Who can access?
- What can they do?
How is Authentication in kube-apiserver dealt with?
- Files: Username and PWs
- Files: Username and Tokens
- Certificates
- External Authentication providers - LDAP
- Service Accounts
What Authorization mechanisms exists for kube-apiserver?
- Role-based access controls (RBAC) Authorization
- Attribute based access controls (ABAC)
- Node Authorization
- Webhook mode
Where is TLS encryption used?
- between kube-apiserver and all other components
- like schedulers, controllers, Kubelet, kube-proxy, etcd
How is user (admins, devs) access managed in Kubernetes?
- managed by kube-apiserver
- it authenticates request
- afterwards processes it
What Auth-mechanisms can be configured for the kube-apiserver?
- static password file (username + pw)
- static token fole (username + token)
- certificates
- Identity Services (third party)
How does static password file authentication work? (Basic)
- create a list of users and their password in a csv file
- source for user information
- parts: pw,username,userid
- optionally fourth column: group1
- the file can be passed as on option (–) to the kube-apiserver:
- –basic-auth-file=user-details.csv
- then the kube-apiserver needs to be restarted
How can you authenticate yourself in a curl command?
with ‘-u “user1:password123”’
How does Authentication with a static token file work?
- like with a static password file
- four parts:
- token,username,userid,group
How can you pass a token-file to the kube-apiserver?
–token-auth-file=user-token-details.csv
How do you authenticate while communicating with the kube-apiserver
in curl command:
‘–header “Authorization: Bearer < token>”’