1.4.2.5. Microsoft Azure에 대한 인증 정보 풀링 지원

OpenShift Container Platform 4.6.57부터 Microsoft Azure 클러스터의 Mint 모드에서 CCO (Cloud Credential Operator) 사용 지원이 OpenShift Container Platform 4.6에서 제거되었습니다. 이러한 변경 사항은 2022년 6월 30일에 예정된 Microsoft Azure AD Graph API 사용 중지로 인한 것이며 z-stream 업데이트에서 지원되는 모든 OpenShift Container Platform 버전으로 백포트되고 있습니다.

mint 모드를 사용하는 이전에 설치된 Azure 클러스터의 경우 CCO는 기존 보안 업데이트를 시도합니다. 보안에 이전에 Mint된 앱 등록 서비스 주체의 인증 정보가 포함된 경우 kube-system/azure-credentials 의 시크릿 콘텐츠로 업데이트됩니다. 이 동작은 통과 모드와 유사합니다.

인증 정보 모드가 있는 클러스터의 기본값 "" 로 설정된 클러스터의 경우 업데이트된 CCO가 mint 모드에서 작동하지 않는 방식으로 자동으로 변경됩니다. 클러스터에 mint 모드("Mint")로 명시적으로 설정된 경우 값을 "" 또는 " Passthrough"로 변경해야 합니다.

참고

Mint 모드에서 필요한 Contributor 역할 외에도 수정된 앱 등록 서비스 주체에는 이제 passthrough 모드에 사용되는 User Access Administrator 역할이 필요합니다.

Azure AD Graph API를 계속 사용할 수 있지만 업그레이드된 OpenShift Container Platform 버전의 CCO는 이전에 Mint된 앱 등록 서비스 주체를 정리하려고 합니다. Azure AD Graph API 전에 클러스터를 업그레이드하면 리소스를 수동으로 정리하지 않아도 될 수 있습니다.

Azure AD Graph API가 종료된 후 Mint 모드를 지원하지 않는 OpenShift Container Platform 버전으로 클러스터가 업그레이드되면 CCO는 연결된 CredentialsRequest에서 OrphanedCloudResource 조건을 설정하지만 오류를 치명적으로 처리하지는 않습니다. 조건에는 unable to clean up App Registration / Service Principal: <app_registration_name> 것과 유사한 메시지가 포함됩니다. Azure AD Graph API를 종료한 후에는 나머지 앱 등록 서비스 주체를 제거하기 위해 Azure CLI 도구 또는 Azure 웹 콘솔을 사용하여 수동 개입이 필요합니다.

리소스를 수동으로 정리하려면 영향을 받는 리소스를 찾아서 삭제해야 합니다.

  1. Azure CLI 도구를 사용하여 다음 명령을 실행하여 OrphanedCloudResource 조건 메시지의 <app_registration_name>을 사용하는 앱 등록 서비스 주체를 필터링합니다.

    $ az ad app list --filter "displayname eq '<app_registration_name>'" --query '[].objectId'

    출력 예

    [
      "038c2538-7c40-49f5-abe5-f59c59c29244"
    ]

  2. 다음 명령을 실행하여 앱 등록 서비스 주체를 삭제합니다.

    $ az ad app delete --id 038c2538-7c40-49f5-abe5-f59c59c29244
참고

수동으로 리소스를 정리한 후 CCO에서 리소스가 정리되었는지 확인할 수 없기 때문에 OrphanedCloudResource 조건이 지속됩니다.