본문 바로가기
CLOUD/AZURE

Azure App Registrations

by Rainbound-IT 2025. 10. 27.
반응형

 

“외부(또는 내부) 애플리케이션이 Azure 리소스에 접근할 때, 인증·보안을 중앙에서 관리하기 위한 Azure AD(Microsoft Entra ID)의 기능” 이라고 보면 됩니다.

 


🔐 1️⃣ 개념 요약

App Registration = Azure AD(Entra ID)에서 애플리케이션의 ‘신원(identity)’을 등록하는 서비스

이걸 등록하면 Azure는 그 앱에 대해 다음을 관리합니다:

 

역할  설명
자격 증명(Credentials) Client ID, Secret(비밀번호), Certificate 등 발급 및 관리
권한(Permissions) Microsoft Graph, KeyVault, ACR, Storage 등 어떤 리소스 접근 허용할지 지정
정책 및 보안 제어 MFA, Conditional Access, Role Assignment 등 통합 보안 정책 적용 가능

즉, App Registration은 “앱이 Azure 생태계 안에서 ‘사용자처럼 인증받는 수단’을 등록하는 것”입니다.


🧩 2️⃣ 왜 필요한가?

  • 사람이 아닌 애플리케이션도 인증이 필요합니다.
    • Azure DevOps 파이프라인이 ACR, AKS, Key Vault에 접근할 때
    • 백엔드 서버가 Graph API나 Storage API를 호출할 때
    • 이런 경우 앱은 직접 로그인할 수 없으므로 App Registration → Service Principal → Role 기반 접근 제어(RBAC) 구조를 사용합니다.
  • 예를 들어,

🧠 3️⃣ 구성 관계

App Registration (앱 정의)
        │
        └── Service Principal (앱 인스턴스, 실제 Azure 내 계정)
                └── Role Assignment (예: AcrPull, Reader 등)
  • App Registration은 Azure AD에만 존재하는 정의(템플릿)
  • Service Principal은 특정 테넌트와 구독 내에 실제 계정으로 존재
  • Azure 리소스에 권한을 부여하는 건 Service Principal 쪽

🛠 4️⃣ 사용 예시

시나리오  App Registration의 역할
Azure DevOps가 ACR 접근 DevOps 파이프라인이 사용할 인증 계정으로 등록
외부 웹앱이 Microsoft Graph API 호출 앱의 로그인 및 토큰 발급 주체
서버 간 통신(API → API) “Client Credentials Flow”의 인증 주체
Azure Function이 Key Vault 접근 Function에 연결된 Managed Identity 또는 App Registration으로 인증 수행

🔐 5️⃣ 보안 및 관리 포인트

  • Client Secret 만료일 관리 필수 (Certificates & secrets 탭)
  • 필요 최소 권한 원칙(least privilege) 으로 Role 할당
  • App Registration Audit을 통해 누가 어떤 리소스에 접근하는지 추적 가능

🧭 요약 한 줄

✅ App Registrations는

“외부 또는 내부 애플리케이션이 Azure 리소스나 API에 안전하게 접근할 수 있도록,

인증 정보(Client ID/Secret)권한을 중앙에서 관리하는 Azure AD(Entra ID)의 기능”입니다.

반응형

댓글