중앙 집중식 앱 구성 및 보안

Microsoft Entra ID
Azure App Configuration
Azure Key Vault

솔루션 아이디어

이 문서는 솔루션 아이디어입니다. 잠재적인 사용 사례, 대체 서비스, 구현 고려 사항 또는 가격 책정 지침과 같은 추가 정보로 콘텐츠를 확장하려면 GitHub 피드백을 제공하여 알려주세요.

이 문서에서는 분산 환경에서 강력하고 확장 가능한 애플리케이션을 만들기 위한 솔루션을 간략하게 설명합니다. 이 솔루션은 Azure App Configuration 및 Azure Key Vault를 사용하여 앱 구성 설정, 기능 플래그 및 보안 액세스 설정을 한 곳에서 관리하고 저장합니다.

아키텍처

다음 다이어그램은 App Configuration 및 Key Vault가 함께 작동하여 개발Azure 환경에서 앱을 관리하고 보호하는 방법을 보여 줍니다.

개발 환경

개발 환경에서 앱은 Visual Studio 또는 Azure CLI 버전 2.0을 통해 ID를 사용하여 로그인하고 Microsoft Entra ID에 인증 요청을 보냅니다.

개발 환경에서 앱 로그인 및 인증 방법을 보여 주는 아키텍처 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

Azure 스테이징 또는 프로덕션 환경

Azure 스테이징 및 프로덕션 환경에서는 로그인 및 인증에 관리 ID 를 사용합니다.

스테이징 또는 프로덕션 환경에서 앱 로그인 및 인증 방법을 보여 주는 아키텍처 다이어그램

이 아키텍처의 Visio 파일을 다운로드합니다.

데이터 흐름

  1. 애플리케이션이 Visual Studio에서 디버깅을 수행하는 동안 인증 요청을 전송하거나 Azure에서 MSI를 통해 인증을 수행합니다.
  2. 인증에 성공하면 Microsoft Entra ID가 액세스 토큰을 반환합니다.
  3. App Configuration SDK가 앱의 키 자격 증명 모음에 대한 앱의 App Configuration Key Vault secretURI 값을 읽기 위해 액세스 토큰을 사용하여 요청을 전송합니다.
  4. 권한 부여에 성공하면 App Configuration이 구성 값을 전송합니다.
  5. 앱이 로그인 ID를 사용하여 Key Vault로 요청을 전송하여 App Configuration이 전송한 secretURI에 대한 애플리케이션 비밀을 검색합니다.
  6. 권한 부여에 성공하면 Key Vault가 비밀 값을 반환합니다.

구성 요소

  • Microsoft Entra ID 는 ID를 관리하고 보호하기 위한 범용 플랫폼입니다.
  • App Configuration은 호스트된 범용 위치에서 모든 Azure 앱에 대한 구성을 저장할 수 있는 방법을 제공합니다.
  • 관리 ID는 Microsoft Entra 인증을 지원하는 리소스에 연결할 때 애플리케이션에서 사용할 ID를 제공합니다.
  • Key Vault는 클라우드 앱 및 서비스에 사용되는 암호화 키 및 다른 비밀을 보호합니다.

시나리오 정보

클라우드 기반 애플리케이션은 여러 지역의 여러 가상 머신이나 컨테이너에서 실행되며 다수의 외부 서비스를 사용합니다. 분산 환경에서 강력하고 확장 가능한 애플리케이션을 만드는 것은 중요한 과제입니다.

App Configuration을 사용하면 모든 앱의 구성 설정, 기능 플래그 및 보안 액세스 설정을 한 곳에서 관리하고 저장할 수 있습니다. App Configuration은 보안 액세스를 위해 암호, 키 및 비밀을 저장하는 Key Vault와 원활하게 작동합니다.

잠재적인 사용 사례

모든 애플리케이션이 App Configuration을 사용할 수 있지만 가장 활용도가 높은 애플리케이션 유형은 다음과 같습니다.

  • AKS(Azure Kubernetes Service) 또는 하나 이상의 지역에 배포된 다른 컨테이너화된 앱에서 실행되는 마이크로 서비스입니다.
  • Azure Functions 또는 다른 이벤트 구동 상태 비저장 컴퓨팅 앱을 포함한 서버리스 앱
  • CD(지속적인 배포) 파이프라인을 사용하는 앱

고려 사항

이러한 고려 사항은 워크로드의 품질을 향상시키는 데 사용할 수 있는 일단의 지침 원칙인 Azure Well-Architected Framework의 핵심 요소를 구현합니다. 자세한 내용은 Microsoft Azure Well-Architected Framework를 참조하세요.

  • 배포, Azure 사전 프로덕션 및 Azure 프로덕션 등 각 환경의 각 애플리케이션에 대해 서로 다른 키 자격 증명 모음을 사용하는 것이 가장 좋습니다. 다른 자격 증명 모음을 사용하면 환경 간 비밀 공유를 방지하고 위반 발생 시 위협을 줄이는 데 도움이 됩니다.

  • 이러한 시나리오를 사용하려면 로그인 ID에 App Configuration 리소스에 대한 App Configuration 데이터 판독기 역할이 있어야 하고 Key Vault의 비밀을 검색하기 위한 명시적인 액세스 정책이 있어야 합니다.

참가자

Microsoft에서 이 문서를 유지 관리합니다. 원래 다음 기여자가 작성했습니다.

보안 주체 작성자:

다음 단계

구성 요소 기술에 대해 자세히 알아보세요.