다음을 통해 공유


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 명령을 사용하여 $RESOURCE_GROUP_NAME 리소스 그룹의 $CLUSTER_NAME 클러스터의 서비스 주체 ID를 가져옵니다. 서비스 주체 ID는 'SP_ID'라는 변수로 설정됩니다.

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

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

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

Warning

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

SP_ID=$(az aks show --resource-group $RESOURCE_GROUP_NAME --name $CLUSTER_NAME \
    --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/$SUBSCRIPTION_ID

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

{
  "appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}

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

SP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
SP_SECRET=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

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

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

Important

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

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

az aks update-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --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 $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --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의 인증 및 권한 부여 모범 사례를 참조하세요.