Azure Red Hat OpenShift 4 클러스터에 대한 Microsoft Entra 인증 구성(Portal)

CLI를 로컬로 설치하고 사용하도록 선택한 경우 이 자습서에서는 Azure CLI 버전 2.6.0 이상을 실행해야 합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

시작하기 전에

클러스터의 OAuth 콜백 URL을 생성하고 기록해 둡니다. aro-rg를 리소스 그룹의 이름으로 바꾸고 aro-cluster를 클러스터 이름으로 바꾸어야 합니다.

참고 항목

OAuth 콜백 URL의 AAD 섹션은 나중에 설정할 OAuth ID 공급자 이름과 일치해야 합니다.

domain=$(az aro show -g aro-rg -n aro-cluster --query clusterProfile.domain -o tsv)
location=$(az aro show -g aro-rg -n aro-cluster --query location -o tsv)
echo "OAuth callback URL: https://oauth-openshift.apps.$domain.$location.aroapp.io/oauth2callback/AAD"

인증을 위한 Microsoft Entra 애플리케이션 만들기

Azure Portal에 로그인하고 앱 등록 블레이드로 이동한 다음, 새 등록을 클릭하여 새 애플리케이션을 생성합니다.

애플리케이션의 이름(예: aro-azuread-auth)을 입력하고 이전에 검색한 OAuth 콜백 URL 값을 사용하여 리디렉션 URI를 채웁니다.

New application registration

인증서 및 암호로 이동하고 새 클라이언트 암호를 클릭하고 세부 정보를 입력합니다. 이후 단계에서 사용할 때 키 값을 기록해 둡니다. 다시 검색할 수 없습니다.

Create a secret

개요로 이동하여 애플리케이션(클라이언트) ID디렉터리(테넌트) ID를 기록해 둡니다. 이러한 정보는 나중 단계에서 필요합니다.

Retrieve Application (client) and Directory (tenant) IDs

선택적 클레임 구성

애플리케이션 개발자는 Microsoft Entra 애플리케이션에서 선택적 클레임을 사용하여 애플리케이션으로 전송된 토큰에서 원하는 클레임을 지정할 수 있습니다.

선택적 클레임을 사용하여 다음을 수행할 수 있습니다.

  • 애플리케이션에 대한 토큰에 포함할 추가 클레임을 선택합니다.
  • Microsoft Entra ID에서 토큰에 반환하는 특정 클레임의 동작을 변경합니다.
  • 애플리케이션에 대한 사용자 지정 클레임을 추가하고 액세스합니다.

Microsoft Entra ID가 반환한 ID 토큰의 일부로 upn을 추가하여, email 클레임을 사용하고 upn으로 변경하여 기본 설정 사용자 이름을 설정하도록 OpenShift를 구성할 것입니다.

토큰 구성으로 이동하여 선택적 클레임 추가를 클릭합니다. ID를 선택한 다음, 이메일upn 클레임을 확인합니다.

Screenshot that shows the email and upn claims that were added.

클러스터에 사용자 및 그룹 할당(선택 사항)

기본적으로 Microsoft Entra 테넌트에 등록된 애플리케이션은 성공적으로 인증한 테넌트의 모든 사용자에게 제공됩니다. Microsoft Entra ID를 사용하면 테넌트 관리자 및 개발자는 앱을 테넌트의 특정 사용자 집합 또는 보안 그룹으로 제한할 수 있습니다.

Microsoft Entra 설명서의 지침에 따라 사용자 및 그룹을 앱에 할당합니다.

OpenShift OpenID 인증 구성

kubeadmin 자격 증명을 검색합니다. 다음 명령을 실행하여 kubeadmin 사용자의 암호를 찾습니다.

az aro list-credentials \
  --name aro-cluster \
  --resource-group aro-rg

다음 예제 출력에서는 암호가 kubeadminPassword에 있는 것을 보여줍니다.

{
  "kubeadminPassword": "<generated password>",
  "kubeadminUsername": "kubeadmin"
}

다음 명령을 실행하여 https://console-openshift-console.apps.<random>.<region>.aroapp.io/ 형식의 클러스터 콘솔 URL을 찾을 수 있습니다.

 az aro show \
    --name aro-cluster \
    --resource-group aro-rg \
    --query "consoleProfile.url" -o tsv

브라우저에서 콘솔 URL을 시작하고 kubeadmin 자격 증명을 사용하여 로그인합니다.

관리로 이동하여 클러스터 설정을 클릭한 다음, 구성 탭을 선택합니다. 스크롤하여 OAuth를 선택합니다.

아래로 스크롤하여 ID 공급자 아래에서 추가를 선택하고 OpenID 연결을 선택합니다. Select OpenID Connect from the Identity Providers dropdown

이름을 Microsoft Entra ID로, 클라이언트 ID애플리케이션 ID클라이언트 암호로 입력합니다. 발급자 URLhttps://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/v2.0과 같이 형식이 지정됩니다. 자리 표시자를 이전에 검색한 테넌트 ID로 바꿉니다.

Fill in OAuth details

클레임 섹션까지 스크롤하고 upn 클레임의 값을 사용하도록 기본 설정된 사용자 이름을 업데이트합니다.

Fill in claims details

Microsoft Entra ID를 통해 로그인 확인

이제 OpenShift 웹 콘솔에서 로그아웃하고 다시 로그인할 때 Microsoft Entra ID를 사용하여 로그인하는 새 옵션이 제공됩니다. 몇 분 정도 기다려야 할 수 있습니다.

Login screen with Microsoft Entra option

참고 항목

"AADSTS50011: 요청에 지정된 리디렉션 URI https://oauth-openshift.apps.xxxxxxxxxx.xxxxxxx.aroapp.io/oauth2callback/xxxx가 구성된 리디렉션 URI와 일치하지 않습니다."와 같은 오류가 발생하는 경우 문제 해결 가이드의 리디렉션 URI가 올바르게 설정되지 않은 경우 Azure AD(OIDC) 로그인 실패 지침에 따라 문제를 해결할 수 있습니다.