AKS(Azure Kubernetes Service)에 대한 자격 증명 업데이트 및 회전

서비스 주체와 함께 만들어진 AKS 클러스터는 만료 시간이 1년입니다. 만료 날짜가 가까워지면 자격 증명을 다시 설정하여 서비스 주체를 추가 기간 동안 연장할 수 있습니다. 정의된 보안 정책의 일부로 자격 증명을 업데이트하거나 순환할 수도 있습니다. 인증 공급자로 Microsoft Entra ID와 통합된 AKS 클러스터에는 Microsoft Entra 서버 앱과 Microsoft Entra 클라이언트 앱이라는 두 가지 ID가 더 있습니다. 이 문서에서는 AKS 클러스터에 대한 서비스 주체 및 Microsoft Entra 자격 증명을 업데이트하는 방법을 자세히 설명합니다.

참고 항목

또는 서비스 주체 대신 사용 권한에 대해 관리 ID를 사용할 수 있습니다. 관리 ID는 업데이트하거나 회전할 필요가 없습니다. 자세한 내용은 관리 ID 사용을 참조하세요.

시작하기 전에

Azure CLI 버전 2.0.65 이상을 설치하고 구성해야 합니다. az --version을 실행하여 버전을 찾습니다. 설치 또는 업그레이드해야 하는 경우 Azure CLI 설치를 참조하세요.

AKS 클러스터에 대한 새 서비스 주체를 업데이트하거나 만듭니다

AKS 클러스터의 자격 증명을 업데이트하려는 경우 다음을 선택할 수 있습니다.

  • 기존 서비스 주체의 자격 증명을 업데이트하세요.
  • 새 서비스 주체를 만들고 이 새 자격 증명을 사용하도록 클러스터를 업데이트합니다.

Warning

서비스 주체를 만들기로 선택한 경우 서비스 주체 권한이 모든 지역에 전파될 때까지 약 30분 정도 기다립니다. 이러한 자격 증명을 사용하도록 큰 AKS 클러스터를 업데이트하려면 완료하는 데 시간이 오래 걸릴 수 있습니다.

서비스 주체의 만료 날짜를 확인합니다

서비스 주체의 만료 날짜를 확인하려면 az ad app credential list 명령을 사용합니다. 다음 예제에서는 az aks show 명령을 사용하여 myResourceGroup이라는 리소스 그룹에서 myAKSCluster라는 클러스터의 서비스 주체 ID를 가져옵니다. 서비스 주체 ID는 'SP_ID'라는 변수로 설정됩니다.

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --query servicePrincipalProfile.clientId -o tsv)
az ad app credential list --id "$SP_ID" --query "[].endDateTime" -o tsv

기존 서비스 주체 자격 증명 다시 설정

기존 서비스 주체의 자격 증명을 업데이트하려면 az aks show 명령을 사용하여 클러스터의 서비스 주체 ID를 가져옵니다. 다음 예제에서는 myResourceGroup 리소스 그룹에서 myAKSCluster 클러스터의 ID를 가져옵니다. 'SP_ID'라는 변수는 다음 단계에서 사용되는 서비스 주체 ID를 저장합니다. 이러한 명령은 Bash 명령 언어를 사용합니다.

Warning

Azure Virtual Machine Scale Sets를 사용하는 AKS 클러스터에서 클러스터 자격 증명을 다시 설정하는 경우 새 자격 증명 정보를 사용하여 노드를 업데이트하기 위해 노드 이미지 업그레이드가 수행됩니다.

SP_ID=$(az aks show --resource-group myResourceGroup --name myAKSCluster \
    --query servicePrincipalProfile.clientId -o tsv)

az ad app credential reset 명령을 사용해 자격 증명을 다시 설정하려면 서비스 주체 ID가 포함된 변수 'SP_ID'를 사용합니다. 다음 예제에서는 Azure 플랫폼에서 새롭고 안전한 서비스 주체 비밀을 생성하고 이를 'SP_SECRET'이라는 변수로 저장할 수 있습니다.

SP_SECRET=$(az ad app credential reset --id "$SP_ID" --query password -o tsv)

그런 다음, 서비스 주체 자격 증명으로 AKS 클러스터를 업데이트합니다. 이 단계는 AKS 클러스터에서 서비스 주체를 업데이트하는 데 필요합니다.

새 서비스 주체 만들기

참고 항목

이전 섹션에서 기존 서비스 주체 자격 증명을 업데이트한 경우 이 섹션을 건너뛰고 대신 서비스 주체 자격 증명으로 AKS 클러스터를 업데이트합니다.

서비스 주체를 만들고 새 자격 증명을 사용하도록 AKS 클러스터를 업데이트하려면 az ad sp create-for-rbac 명령을 사용합니다.

az ad sp create-for-rbac --role Contributor --scopes /subscriptions/mySubscriptionID

출력은 다음 예제 출력과 유사합니다. 다음 단계에서 사용할 수 있도록 자신의 appIdpassword를 적어 둡니다.

{
  "appId": "7d837646-b1f3-443d-874c-fd83c7c739c5",
  "name": "7d837646-b1f3-443d-874c-fd83c7c739c",
  "password": "a5ce83c9-9186-426d-9183-614597c7f2f7",
  "tenant": "a4342dc8-cd0e-4742-a467-3129c469d0e5"
}

az ad sp create-for-rbac 명령 실행의 출력을 사용하여 서비스 주체 ID 및 클라이언트 암호에 대한 변수를 정의합니다. 'SP_ID'는 'appId'이고, 'SP_SECRET'은 사용자의 '암호'입니다.

SP_ID=7d837646-b1f3-443d-874c-fd83c7c739c5
SP_SECRET=a5ce83c9-9186-426d-9183-614597c7f2f7

다음으로, 새 서비스 주체 자격 증명으로 AKS 클러스터를 업데이트합니다. 이 단계는 새 서비스 주체 자격 증명으로 AKS 클러스터를 업데이트하는 데 필요합니다.

서비스 주체 자격 증명으로 AKS 클러스터 업데이트

Important

대량 클러스터의 경우 새 서비스 주체로 AKS 클러스터를 업데이트하는 경우 완료하는 데 시간이 오래 걸릴 수 있습니다. 업데이트 중에 중단을 최소화하려면 노드 서지 업그레이드 설정을 검토하고 사용자 지정하는 것이 좋습니다. 중소형 클러스터의 경우 클러스터에서 새 자격 증명을 업데이트하는 데 몇 분 정도 걸립니다.

az aks update-credentials 명령을 실행하여 새 자격 증명 또는 기존 자격 증명으로 AKS 클러스터를 업데이트합니다.

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-service-principal \
    --service-principal "$SP_ID" \
    --client-secret "${SP_SECRET}"

새 Microsoft Entra 애플리케이션 자격 증명으로 AKS 클러스터 업데이트

통합 단계에 따라 새 Microsoft Entra 서버 및 클라이언트 애플리케이션을 만들거나, 서비스 주체 다시 설정과 동일한 방법에 따라 기존 Microsoft Entra 애플리케이션을 다시 설정할 수 있습니다. 그 후에는 --reset-aad 변수와 함께 az aks update-credentials 명령을 사용하여 클러스터 Microsoft Entra 애플리케이션 자격 증명을 업데이트해야 합니다.

az aks update-credentials \
    --resource-group myResourceGroup \
    --name myAKSCluster \
    --reset-aad \
    --aad-server-app-id <SERVER APPLICATION ID> \
    --aad-server-app-secret <SERVER APPLICATION SECRET> \
    --aad-client-app-id <CLIENT APPLICATION ID>

다음 단계

이 문서에서는 서비스 주체와 Microsoft Entra 애플리케이션 자격 증명을 업데이트하거나 회전하는 방법을 알아보았습니다. AKS 클러스터 내에서 워크로드용 관리 ID를 사용하는 방법에 대한 자세한 내용은 AKS의 인증 및 권한 부여 모범 사례를 참조하세요.