다음을 통해 공유


자동화 시나리오에서 Azure CLI에 대한 다단계 인증의 영향

이 문서에서는 MFA(다단계 인증)가 Microsoft Entra 사용자 ID를 사용하는 자동화 작업에 미치는 영향을 살펴보고 중단 없는 자동화를 위한 대체 방법에 대한 지침을 제공합니다.

중요합니다

자동화에 Microsoft Entra 사용자 ID를 사용하는 경우 작업이 필요합니다. MFA 요구 사항으로 인해 자동화 시나리오에서 인증에 Microsoft Entra 사용자 ID를 사용할 수 없습니다. 조직은 비대화형 자동화 사용 사례를 지원하는 관리 ID 또는 서비스 주체와 같은 자동화용으로 설계된 인증 방법으로 전환해야 합니다.

자동화에서 MFA를 사용하는 사용자 ID의 제한 사항

비고

자동화와 함께 사용자 ID를 사용할 때 대화형 인증이 필요하다는 오류 메시지가 표시될 수 있습니다.

  • 대화형 인증: MFA는 Microsoft Entra 사용자 ID를 사용할 때 대화형 로그인 중에 트리거됩니다. 사용자 ID를 사용하는 자동화 스크립트의 경우 MFA는 추가 확인 단계가 필요하기 때문에 프로세스를 중단합니다. 예를 들어 자동화할 수 없는 인증자 앱, 전화 통화 등이 있습니다. 이 확인은 인증이 관리 ID 또는 서비스 주체와 같은 비대화형 방식으로 처리되지 않는 한 자동화가 실행되지 않도록 방지합니다.

  • 스크립팅된 로그인 실패: Azure CLI 스크립트를 무인으로 실행하는 것과 같은 자동화 시나리오에서는 MFA 사용 사용자 ID로 인해 인증을 시도할 때 스크립트가 실패합니다. MFA에는 사용자 상호 작용이 필요하므로 비대화형 스크립트와 호환되지 않습니다. 즉, 비대화형 인증 방식을 사용하는 관리되는 ID 또는 서비스 주체로 전환해야 합니다.

  • 보안 고려 사항: MFA는 추가 보안 계층을 추가하지만, 특히 수동 개입 없이 자동화를 실행해야 하는 프로덕션 환경에서 자동화 유연성을 제한할 수 있습니다. 자동화를 위해 설계되고 MFA가 필요하지 않은 관리 ID, 서비스 주체 또는 페더레이션 ID로 전환하는 것은 이러한 환경에서 더 실용적이고 안전합니다.

업데이트가 필요한 시나리오

다음 목록에서는 고객이 Azure CLI를 사용하여 자동화에 Microsoft Entra 사용자 ID를 사용할 수 있는 예제 시나리오를 제공합니다. 이 목록은 모든 시나리오가 완전하지는 않습니다.

경고

Microsoft Entra 사용자 ID를 사용하는 모든 자동화 시나리오에는 업데이트가 필요합니다.

  • 개인 설정 또는 특정 권한: 개인의 역할 또는 특정 Microsoft Entra ID 특성에 연결된 작업과 같은 사용자별 권한이 필요한 자동화 작업입니다.

  • OAuth 2.0 ROPC 흐름: OAuth 2.0 ROPC(리소스 소유자 암호 자격 증명) 토큰 부여 흐름은 MFA와 호환되지 않습니다. 비대화형 흐름에서 MFA를 완료할 수 없으므로 MFA가 필요한 경우 인증에 ROPC를 사용하는 자동화 시나리오가 실패합니다.

  • Azure 외부 리소스에 대한 액세스: Microsoft 365 리소스에 대한 접근이 필요한 자동화 시나리오입니다. 예를 들어 SharePoint, Exchange 또는 개별 사용자의 Microsoft 계정에 연결된 다른 클라우드 서비스입니다.

  • Active Directory에서 Microsoft Entra ID로 동기화된 서비스 계정: AD(Active Directory)에서 Microsoft Entra ID로 동기화된 서비스 계정을 사용하는 조직 이러한 계정은 MFA 요구 사항의 적용을 받으며 다른 사용자 ID와 동일한 문제를 트리거합니다.

  • 감사 또는 규정 준수를 위한 사용자 컨텍스트: 규정 준수를 위해 개별 사용자 수준에서 작업을 감사해야 하는 경우입니다.

  • 소규모 또는 저위험 자동화를 위한 간단한 구성: 소규모 또는 저위험 자동화 작업의 경우. 예를 들어 몇 가지 리소스를 관리하는 스크립트입니다.

  • 비프로덕션 환경에서 사용자 기반 자동화 : 자동화가 개별 사용자가 작업을 담당하는 개인 또는 비프로덕션 환경을 위한 것인 경우.

  • 사용자 고유의 Azure 구독 내 자동화: 사용자가 이미 충분한 권한이 있는 자신의 Azure 구독에서 작업을 자동화해야 하는 경우

Microsoft Entra 사용자 ID에 대한 필수 MFA 적용으로 인해 자동화 시나리오에서는 관리 ID 또는 서비스 주체로 전환해야 합니다.

시작하는 방법

az login을 사용하고 Microsoft Entra ID의 일반 사용자 계정 및 암호로 Azure CLI 스크립트를 마이그레이션하려면 다음 단계를 수행합니다.

  1. 가장 적합한 워크로드 ID를 결정합니다.

    • 서비스 프린시펄
    • 관리형 아이덴티티
    • 연합 아이덴티티
  2. 새 워크로드 ID를 만드는 데 필요한 권한을 얻거나 Azure 관리자에게 도움을 요청하세요.

  3. 워크로드 ID를 만듭니다.

  4. 새 ID에 역할을 할당합니다. Azure 역할 할당에 대한 자세한 내용은 Azure 역할을 할당하는 단계를 참조하세요. Azure CLI를 사용하여 역할을 할당하려면 Azure CLI를 사용하여 Azure 역할 할당을 참조하세요.

  5. 서비스 주체 또는 관리 ID로 로그인하도록 Azure CLI 스크립트를 업데이트합니다.

서비스 주체 주요 개념

  • 여러 Azure 리소스에 액세스할 수 있는 비인간 ID입니다. 서비스 주체는 많은 Azure 리소스에서 사용되며 단일 Azure 리소스에 연결되지 않습니다.
  • 필요에 따라 서비스 주체의 속성 및 자격 증명을 변경할 수 있습니다.
  • 여러 구독에서 여러 Azure 리소스에 액세스해야 하는 애플리케이션에 적합합니다.
  • 관리 ID보다 유연하지만 보안이 떨어지는 것으로 간주됩니다.
  • Azure 테넌트 또는 Microsoft Entra ID 디렉터리에서 "애플리케이션 개체"라고도 합니다.

서비스 주체에 대한 자세한 내용은 다음을 참조하세요.

Azure CLI 및 서비스 주체를 사용하여 Azure에 로그인하는 방법을 알아보려면 Azure CLI 사용하여 서비스 주체로 Azure에 로그인하는 방법을 참조하세요.

관리 ID 키 개념

  • 단일 리소스가 다른 Azure 애플리케이션에 액세스할 수 있도록 하는 특정 Azure 리소스에 연결됩니다.
  • 자격 증명이 표시되지 않습니다. Azure는 비밀, 자격 증명, 인증서 및 키를 처리합니다.
  • 단일 구독 내에서 다른 Azure 리소스에 액세스해야 하는 Azure 리소스에 이상적입니다.
  • 서비스 주체보다 덜 유연하지만 더 안전한 것으로 간주됩니다.
  • 관리 ID에는 두 가지 유형이 있습니다.
    • 시스템 할당: 이 유형은 두 Azure 리소스 간의 1:1(일대일) 액세스 링크입니다.
    • 사용자 할당: 이 형식에는 관리 ID가 여러 Azure 리소스에 액세스할 수 있는 1:M(일 대 다) 관계가 있습니다.

관리 ID에 대해 자세히 알아보려면 Azure 리소스에 대한 관리 ID를 참조하세요.

Azure CLI 및 관리 ID를 사용하여 Azure에 로그인하는 방법을 알아보려면 Azure CLI를 사용하여 관리 ID로 Azure에 로그인을 참조하세요.

페더레이션 ID 키 개념

  • 페더레이션 ID를 사용하면 서비스 주체(앱 등록) 및 사용자 할당 관리 ID가 GitHub 또는 Google과 같은 IdP(외부 ID 공급자)의 토큰을 신뢰할 수 있습니다.
  • 트러스트 관계가 생성되면 외부 소프트웨어 워크로드가 외부 ID 제공자로부터 신뢰할 수 있는 토큰을 받아 Microsoft ID 플랫폼의 액세스 토큰으로 교환합니다.
  • 소프트웨어 워크로드는 해당 액세스 토큰을 사용하여 워크로드에 액세스 권한이 부여된 Microsoft Entra 보호 리소스에 액세스합니다.
  • 페더레이션 ID는 종종 다음 시나리오에 가장 적합한 솔루션입니다.
    • Kubernetes 클러스터에서 실행되는 워크로드
    • GitHub Actions (GitHub 액션)
    • 애플리케이션 ID를 사용하여 Azure 컴퓨팅 플랫폼에서 실행되는 워크로드
    • Google Cloud
    • Amazon Web Services(AWS)
    • Azure 외부의 컴퓨팅 플랫폼에서 실행되는 워크로드

페더레이션 ID에 대한 자세한 내용은 다음을 참조하세요.

문제 해결

ROPC 오류: 관리자의 구성 변경으로 인해

Azure에 암호를 사용하여 로그인하려고 하면 이것을 ROPC 플로우(리소스 소유자 암호 자격 증명)라고 합니다. 이 인증 방법은 MFA에서 지원되지 않습니다. 예제는 다음과 같습니다.

az login --username $username –password $password

사용자에게 MFA가 필요한 경우 다음 오류 메시지와 함께 위의 명령이 실패합니다.

AADSTS50076: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access ‘’. Trace ID Correlation ID: Timestamp:

해결책: MFA와 호환되는 인증 방법을 사용하도록 전환하십시오.

테넌트 간 인증 경고: 테넌트에 대한 인증 실패

여러 테넌트에 액세스할 수 있고 그 중 하나에 MFA가 필요한 경우 Azure CLI는 다음과 유사한 경고 메시지를 표시할 수 있습니다.

Authentication failed against tenant 00000000-0000-0000-0000-000000000000 'Tenant Name': AADSTSXXXXX: Due to a configuration change made by your administrator, or because you moved to a new location, you must use multi-factor authentication to access '00000000-0000-0000-0000-000000000000'. Trace ID: 00000000-0000-0000-0000-000000000000 Correlation ID: 00000000-0000-0000-0000-000000000000 Timestamp: yyyy-mm-dd hh:mm:ss.

로그인 단계에서 Azure CLI는 가장 먼저 발견된 테넌트로 로그인하려고 시도합니다. 우리가 이 문제를 해결하기 위해 노력하는 동안, --tenant 매개 변수를 사용하여 지정할 테넌트를 명시해주십시오.

az login --tenant 00000000-0000-0000-0000-000000000000

다단계 인증에 대한 자세한 정보

Microsoft Entra ID 설명서 사이트는 MFA에 대한 자세한 정보를 제공합니다.

참고하십시오