4.5.2.3.2. 서비스 사양 파일을 사용하여 OAuth2 프록시 서비스 활성화
대시보드 및 Ceph 클러스터에 대한 SSO 액세스에 대한 OAuth2 프록시 서비스를 활성화합니다. 이 정보를 사용하여 서비스 사양 파일로 oauth2-proxy 서비스를 활성화합니다.
사전 요구 사항
OAuth2 프록시 서비스를 활성화하기 전에 oauth2-proxy 서비스가 실행될 각 Ceph 노드에 다음 사항이 있는지 확인합니다.
- 클라이언트 ID.
- OIDC 발행자 URL입니다.
- 클라이언트 시크릿.
허용할 관련 도메인 주소입니다.
참고도메인은
oidc_issuer_url과 동일하거나 다를 수 있습니다.- 실행 중인 Red Hat Ceph Storage 클러스터.
- (선택 사항) 호스트 HTTPS 주소 및 호스트 포트입니다.
- (선택 사항) 시크릿입니다.
- (선택 사항) SSL 인증서 및 인증서 키입니다.
SSL 프로토콜, 암호, 인증서 및 인증서 키에 대한 자세한 내용은 Red Hat Enterprise Linux 설명서의 웹 서버 배포 및 역방향 프록시 를 참조하십시오.
프로세스
oauth2-proxy서비스에 대한 YAML 파일을 생성합니다.예
[root@host01 ~]# touch oauth2-proxy.yaml다음 세부 정보를 포함하도록 YAML 파일을 편집합니다.
구문
service_type: oauth2-proxy service_id: auth-proxy placement: hosts: - ceph-node-1 spec: https_address: HTTPS_ADDRESS:PORT provider_display_name: MY OIDC PROVIDER client_id: CLIENT_ID oidc_issuer_url: OIDC ISSUER URL allowlist_domains: - HTTPS_ADDRESS:PORT client_secret: CLIENT_SECRET cookie_secret: COOKIE_SECRET ssl_cert: | -----BEGIN CERTIFICATE----- < YOU CERT DATA HERE > -----END CERTIFICATE----- ssl_key: | -----BEGIN RSA PRIVATE KEY----- < YOU PRIV KEY DATA HERE > -----END RSA PRIVATE KEY-----예
service_type: oauth2-proxy service_id: auth-proxy placement: hosts: - ceph0 spec: https_address: "0.0.0.0:4180" provider_display_name: "My OIDC Provider" client_id: "your-client-id" oidc_issuer_url: "http://192.168.100.1:5556/realms/ceph" allowlist_domains: - 192.168.100.1:8080 - 192.168.200.1:5000 client_secret: "your-client-secret" cookie_secret: "your-cookie-secret" ssl_cert: | -----BEGIN CERTIFICATE----- MIIDtTCCAp2gAwIBAgIYMC4xNzc1NDQxNjEzMzc2MjMyXzxvQ7EcMA0GCSqGSIb3 DQEBCwUAMG0xCzAJBgNVBAYTAlVTMQ0wCwYDVQQIDARVdGFoMRcwFQYDVQQHDA5T [...] -----END CERTIFICATE----- ssl_key: | -----BEGIN PRIVATE KEY----- MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC5jdYbjtNTAKW4 /CwQr/7wOiLGzVxChn3mmCIF3DwbL/qvTFTX2d8bDf6LjGwLYloXHscRfxszX/4h [...] -----END PRIVATE KEY-----다음 표에는 사양 파일의
oauth2-proxyservice 섹션(ceph.deployment.service_spec.OAuth2ProxySpec)과 관련된 필드가 나열되어 있습니다.Expand 표 4.2. spec 파일의 oauth2-proxy 특정 필드 필드 설명 allowlist_domains로그인 또는 로그아웃 후 안전하게 리디렉션할 수 있는 도메인 목록으로 인해 승인되지 않은 리디렉션이 발생하지 않습니다. 이는
oidc_issuer_url과 동일하거나 다를 수 있습니다.client_idID 공급자로 인증하는 클라이언트 ID입니다.
client_secretID 공급자로 인증하는 클라이언트 시크릿입니다.
cookie_secret비밀 키는 쿠키 서명에 사용됩니다. AES 암호를 생성하려면 16바이트, 24바이트 또는 32바이트여야 합니다.
https_addressHTTPS 연결의 주소입니다. 이 주소는
host:port로 포맷됩니다.네트워크데몬이 해당 목록의 특정 네트워크에만 바인딩하도록 지시하는 네트워크 ID 목록입니다. 클러스터가 여러 네트워크에 분산된 경우 여러 네트워크를 추가할 수 있습니다.
oidc_issuer_urlOpenID Connect(OIDC) 발행자의 URL입니다.
배치오케스트레이터가 서비스를 배포하려면 데몬을 배포할 위치와 배포 횟수를 알아야 합니다. 이는 배치 사양의 역할입니다. 배치 사양은 명령줄 인수 또는 YAML 파일로 전달할 수 있습니다. 자세한 내용은 Ceph Orchestrator를 사용한 서비스 관리를 참조하십시오.
provider_display_nameUI의 IDP(ID 공급자)의 표시 이름입니다.
redirect_url선택 사항입니다. 로그인에 성공한 후 URL oauth2-proxy가 로 리디렉션됩니다. 제공되지 않는 경우 cephadm 은 이 URL의 값을 자동으로 계산합니다.
ssl_certSSL 인증서를 포함하는 여러 줄 문자열입니다.
ssl_keySSL 키가 포함된 여러 줄 문자열입니다.
사양 파일을 적용합니다.
구문
[root@host01 ~]# ceph orch apply -i oauth2-proxy.yaml