OCP4 구성: 1.Authentication
Red Hat OpenShift Container Platform 4 Configuration
#Red Hat Delivery Specialist — Container Platform Deployment (OCP 4) Red Hat Accreditation 획득을 위해 공부하면서 나중에 참고할 명령어를 메모한 글입니다.
이번 OCP4 Configuration 코스에서 익힌 개념 이해와 실습한 주요 OC 명령어를 기억하기 위해 정리한 것이니, 전체 교육이 필요하신 분은 위 Red Hat Partner Connect 사이트의 교육 코스를 참고하세요. 개념 정리한 컨텐츠 출처는 해당 교육 코스의 정보를 번역한 것입니다.
Red Hat OpenShift Container Platform 4 Configuration 코스는 Red Hat OpenShift Container Platform(OCP)에 대한 소개를 제공합니다. 인증, 권한 부여, 할당량 및 제한을 포함하여 OpenShift에 대한 일반적인 설치 후 사용자 지정 작업에 대해 설명합니다. 이 과정을 완료하면 초기 설치 후 OpenShift 클러스터를 구성 할 수 있습니다. 교육 코스 가기
TIP : 이 교육 전에는 아래 코스를 먼저 수강하세요.
1. Red Hat OpenShift 4 Foundations — 한국어
2.Red Hat OpenShift Container Platform 4 Installation
Module Topics
- Authentication
- Identity Providers
- HTPasswd Authentication
- LDAP Authentication
- Troubleshooting
Authenication
인증은 사용자가 클러스터에 ID를 증명하는 절차
대부분의 OpenShift 클러스터는 다양한 대상이 액세스하는 다중 사용자 환경이 있음
- 응용 프로그램을 개발하고 배포하는 응용 프로그램 개발자
- 시스템 상태를 모니터링하고 사고에 대응하는 운영 팀
- 액세스 및 애플리케이션 보안을 감사하는 보안 직원
- Red Hat OpenShift Container Platform 관리자
OAuth 인증 및 확인_______________________________________
인증과정 :
- 사용자가 API 또는 웹 콘솔을 통해 OAuth 서버로 이동
- OAuth 서버는 ID공급자 구성에 따라 인증을 협상함
- 사용자가 OAuth 서버에 인증하고 OAuth 토큰을 수신함
- 사용자 식별을 위한 후속 API요청에 포함된 OAuth 토큰
- OAuth 토큰의 기본 수명은 사용자가 다시 인증해야 하는 86,400초(24시간)임
OAuth 토큰________________________________________________
OAuth 토큰 확인 :
- OpenShift API 및 기타 구성 요소는 토큰 유효성을 확인
- oc를 통해 검색된 활성 OAuth 액세스 토큰은 oauthaccesstokens를 가져옴
- 액세스 토큰을 삭제하면 OAuth 세션이 종료됨
명령어를 통해 oauth 접근 토큰 정보 가져오기
oc get oauthaccesstokens
Command Line Authentication________________________________
- 비밀번호로 로그인:
oc login -u USER -p PASSWORD API_URL
- 콘솔 URL과 구별되는 API URL이며 일반적으로 다음과 같음
https://api.CLUSTERDOMAIN:6443
~/.kube/config
에 기록 된 인증 세션 정보- 대체 kubeconfig 파일 위치를 설정할 수 있음
KUBECONFIG
environment variable--config
option
토큰을 사용한 Command Line 인증 방법_________________________
- Log in with OAuth token:
oc login --token=TOKEN API_URL
Inspect current session:
oc whoami
shows current useroc whoami --show-console
shows cluster web console URLoc whoami --show-server
shows cluster API URLoc whoami --show-token
shows current OAuth token
Authentication 절차 검사 _________________________________
자세한 로깅을 사용하여 인증 흐름을 검사 :
oc login --loglevel=9 -u USER -p PASSWORD API_URL
클러스터 도메인 사용 ocp4.example.com
:
https://api.ocp4.example.com:6443/
OAuth로 인증하도록 안내- Client contacts
https://oauth-openshift.apps.ocp4.example.com/
에 연락하여 OAuth token을 인증하도록 수신함 - 클러스터 API에 대한 후속 호출에는
Authorization: Bearer TOKEN
HTTP header가 포함됨
인증 구성_____________________________________________
cluster-authentication-operator
에 의해 관리됨 :
- “cluster”라는 oauth.config.openshift.io 사용자 지정 리소스로 구성됨
- spec.identityProviders는 사용자 인증을위한 추가 방법을 나열함.
- spec.tokenConfig.accessTokenMaxAgeSeconds는 OAuth 세션의 수명을 구성함.
kubeadmin
User_______________________________________
초기 클러스터 구성을 위해 제공된kubeadmin
(kube:admin
) 사용자
- 초기 클러스터 구성 후
kubeadmin
사용자 비활성화 kube-system
namespace의kubeadmin
secret 에 저장된kubeadmin
user 비밀번호- 다른
cluster-admin
사용자를 구성한 후kubeadmin
비밀번호를 제거하려면 : oc delete secret kubeadmin -n kube-system
일단 제거되면 kubeadmin 비밀번호를 다시 생성하면 사용할 수 없습니다.
> Next : 2.Identity Providers / HTPasswd / LDAP 인증에 대한 다음 글을 참고하세요.