entra-app-registration
작성자 microsoftMicrosoft Entra ID 앱 등록, OAuth 2.0 플로우, API 권한, 콘솔 및 백엔드 앱용 MSAL 기반 인증 예제를 다루는 스킬 기반 가이드입니다.
개요
이 스킬이 하는 일
entra-app-registration 스킬은 Microsoft Entra ID(이전 Azure Active Directory) 앱 등록을 구성하려는 개발자를 위해 단계별 가이드를 제공합니다. 이 스킬은 다음 과정을 차근차근 안내합니다.
- Microsoft Entra ID에서 앱 등록 생성
- 핵심 인증 개념 이해(tenant, client ID, redirect URI, service principal)
- OAuth 2.0 플로우 선택 및 구성
- API 권한(위임 권한 vs 애플리케이션 권한) 추가 및 관리
- secrets, certificates, service principal 설정
- 여러 언어에서 MSAL 및 Azure Identity SDK 통합
- 인증 및 구성 관련 공통 오류 문제 해결
콘텐츠는 microsoft/azure-skills 리포지토리의 skills/entra-app-registration 폴더에서 가져오며, references/first-app-registration.md, references/oauth-flows.md, references/api-permissions.md, references/console-app-example.md 같은 전용 가이드가 포함됩니다.
entra-app-registration이 필요한 사람
다음과 같은 경우 이 스킬 사용을 추천합니다.
- Microsoft Entra ID를 사용해 웹 API나 서비스를 보호하려는 백엔드 또는 API 개발자
- 사용자 로그인이 필요하거나 Microsoft Graph 또는 커스텀 API를 호출해야 하는 웹, SPA, 데스크톱, 콘솔 앱을 개발하는 개발자
- 앱 등록 및 권한 구성을 반복 가능한 패턴으로 관리해야 하는 DevOps 또는 플랫폼 엔지니어
- Entra ID 인증 및 API 권한에 대한 베스트 프랙티스를 문서화해 두고 싶은 팀
특히 다음 상황에서 유용합니다.
- Microsoft Entra 앱 등록을 처음 만드는 경우
- 기존 Azure AD 문서에서 Microsoft identity platform으로 마이그레이션하는 경우
- 위임 권한과 애플리케이션 권한 중에서 선택해야 하는 경우
- 앱 유형에 맞는 OAuth 2.0 플로우를 결정해야 하는 경우
- 콘솔 또는 백엔드 애플리케이션에 MSAL을 연동해야 하는 경우
이 스킬이 적합하지 않은 경우
entra-app-registration은 ID와 앱 등록에 집중하며, 일반적인 Azure 보안이나 리소스 관리 전반을 다루지는 않습니다.
다음이 주된 필요라면 이 스킬을 기본 참고 자료로 사용하지 마세요.
- Azure 리소스에 대한 역할 기반 액세스 제어 →
azure-rbac스킬 사용 - Key Vault secret 수명 주기 및 만료 감사 →
azure-keyvault-expiration-audit스킬 사용 - 더 넓은 범위의 Azure 리소스 보안 상태나 정책 가이드 →
azure-security스킬 사용
다만, 시나리오상 ID와 리소스 수준 권한 부여가 모두 필요한 경우 이들 스킬과 entra-app-registration을 함께 사용할 수 있습니다.
한눈에 보는 주요 기능
이 스킬에는 다음을 도와주는 다양한 가이드가 포함되어 있습니다.
- 앱 등록의 기본 구성 요소 이해(
SKILL.md및references/first-app-registration.md) - authorization code, client credentials 등을 포함한 OAuth 2.0 플로우 구성(
references/oauth-flows.md) - Microsoft Graph 및 커스텀 API용 API 권한 계획 및 할당(
references/api-permissions.md) - managed identity와 권장 자격 증명 사용 등 Azure 인증 베스트 프랙티스 준수(
references/auth-best-practices.md) - Azure CLI를 사용한 앱 등록 생성 및 업데이트 자동화(
references/cli-commands.md) - C#, Python, Node.js로 구현된 MSAL 기반 콘솔 앱 예제(
references/console-app-example.md) - .NET, Java, Python, Rust, TypeScript용 Azure Identity SDK 통합(
references/sdk/*.md) - redirect URI, 토큰, 동의(consent) 관련 문제 진단(
references/troubleshooting.md)
이 스킬은 Microsoft Entra ID에 의존하는 접근 제어, API 개발, 백엔드 개발 작업에 실용적인 도구로 활용될 수 있습니다.
사용 방법
entra-app-registration 스킬 설치하기
microsoft/azure-skills 리포지토리에서 entra-app-registration 스킬을 호환되는 에이전트 환경에 추가하려면 다음 명령을 실행하세요.
npx skills add https://github.com/microsoft/azure-skills --skill entra-app-registration
이렇게 하면 스킬의 문서(SKILL.md 및 references/ 폴더 포함)가 에이전트에 제공되어, Microsoft Entra 앱 등록, OAuth 플로우, 권한에 대한 상세 질문에 답할 수 있게 됩니다.
플랫폼에서 스킬을 위한 UI를 제공하는 경우 다음과 같이 사용할 수도 있습니다.
- 스킬 카탈로그에서 "entra-app-registration"을 검색합니다.
- GitHub 소스가
microsoft/azure-skills인지 확인합니다. - Add 또는 Enable을 클릭해 워크스페이스나 프로젝트에 연결합니다.
권장 읽기 순서
설치 후, 이 스킬에 대한 Files 또는 Sources 뷰를 열고 다음 순서로 살펴보는 것이 좋습니다.
SKILL.md– 스킬이 다루는 범위, 주요 내용, 사용/비사용 권장 사항 등 고수준 개요references/first-app-registration.md– Azure 포털에서 첫 Microsoft Entra 앱 등록을 만드는 실질적인 단계별 튜토리얼references/oauth-flows.md– Microsoft Entra ID에서 지원하는 OAuth 2.0 플로우 설명과 다이어그램, 구현 시 유의사항references/api-permissions.md– 위임 권한 vs 애플리케이션 권한 선택과 구성, scope 포맷, 자주 쓰는 Graph 권한 설명references/auth-best-practices.md– 환경별 적절한 자격 증명 유형 선택 방법(Managed identity, certificates, 로컬 개발용 DefaultAzureCredential 등)references/cli-commands.md– 스크립트나 CI/CD에서 앱 등록을 생성·관리하기 위한 Azure CLI 명령어references/console-app-example.md– Microsoft Entra ID와 MSAL로 인증하는 전체 동작 콘솔 앱 예제references/sdk/*.md– Azure Identity 및 관련 SDK를 사용하는 언어별 통합 가이드references/troubleshooting.md– AADSTS 오류, 동의 문제, redirect URI 불일치 등 발생 시 참조
이 순서를 따르면, 개념 이해 → 포털 기반 구성 → 자동화 및 코드 수준 통합 순으로 자연스럽게 학습을 확장할 수 있습니다.
이 스킬이 지원하는 대표 워크플로
1. 첫 번째 Microsoft Entra 앱 등록하기
Entra ID를 처음 사용하거나 새 앱을 등록할 때 활용하세요.
references/first-app-registration.md를 따라 다음을 수행합니다.- Azure 포털을 열고 Microsoft Entra ID → App registrations로 이동
- 올바른 지원 계정 유형으로 새 앱 등록 생성
- 웹 앱, SPA, 네이티브 클라이언트 여부에 따라 redirect URI 구성
- 인증 옵션과 플랫폼 구성 설정
- 필요한 API 권한 추가(예: Microsoft Graph User.Read)
- 필요 시 client secret 또는 certificate 생성
- 애플리케이션에서 인증 플로우 테스트
이 스킬의 단계별 구조는 redirect URI, tenant 선택, 계정 유형 선택에서 자주 발생하는 실수를 줄이는 데 도움이 됩니다.
2. 적절한 OAuth 2.0 플로우 선택하기
새 앱에서 어떤 인증 플로우를 사용해야 할지 확신이 서지 않을 때 활용하세요.
references/oauth-flows.md를 열어 다음과 같은 플로우를 비교합니다.- 서버 측 secret을 가진 웹 앱 및 서비스용 authorization code 플로우
- 데몬 앱 및 백그라운드 서비스용 client credentials 플로우
- 가이드에서 설명하는 기타 지원 플로우
- 각 플로우 섹션에는 다음 내용이 포함됩니다.
- 사용자, 앱, Microsoft Entra ID, API 간 상호작용의 번호 매긴 시퀀스
client_id,tenant,redirect_uri,scope와 같은 주요 매개변수- 해당 플로우의 권장 사용 시나리오
이 가이드를 참고하면 웹, SPA, 데몬, 콘솔 등 앱 유형에 맞는 OAuth 플로우를 선택하고 안전하게 구현할 수 있습니다.
3. 위임 권한 vs 애플리케이션 권한 구성하기
앱에서 Microsoft Graph 또는 커스텀 API를 호출해야 할 때 사용하세요.
references/api-permissions.md를 열어 다음을 학습합니다.- Delegated permissions(사용자 컨텍스트)와 application permissions(앱만의 컨텍스트)의 차이
- 사용자 동의가 적절한 경우와 관리자 동의가 필요한 경우 구분
https://graph.microsoft.com/User.Read같은 Graph scope,api://myapi-id/access_as_user같은 커스텀 API scope 형식- client credentials 및 마이그레이션 시나리오에서
.defaultscope가 동작하는 방식
- 이 가이드를 바탕으로 다음을 수행합니다.
- 앱 등록에서 API 권한 구성
- 애플리케이션 코드에서 적절한 scope 요청
- 과도한 권한 부여 및 불필요한 관리자 동의 요청 방지
4. Azure CLI로 앱 등록 자동화하기
포털 대신 스크립트나 자동화를 통해 앱 등록을 관리하고 싶을 때 사용하세요.
references/cli-commands.md를 열어 다음을 확인합니다.- CLI 사전 준비(
az설치 및az login) - 다음 유형의 앱 등록을 생성하는 샘플 명령어:
- redirect URI가 있는 웹 애플리케이션
- SPA redirect URI를 사용하는 Single Page Application(SPA)
- 데스크톱/모바일용 public client 앱
- 서로 다른 sign-in audience 설정을 가진 multi-tenant 앱
- redirect URI 및 기타 구성을 업데이트하는 명령 스니펫
- CLI 사전 준비(
이 예제들은 셸 스크립트나 CI/CD 파이프라인에 쉽게 적용할 수 있어, 환경별로 일관된 앱 등록 구성을 보장합니다.
5. 콘솔 또는 백엔드 앱에서 MSAL 구현하기
인증 및 토큰 발급을 위한 동작하는 코드 예제가 필요할 때 사용하세요.
references/console-app-example.md를 열어 다음을 수행합니다.- 새 콘솔 프로젝트 생성(예:
dotnet new console) - MSAL 패키지 설치(예: .NET용
Microsoft.Identity.Client) - 다음을 수행하는 전체 샘플 프로그램 사용:
ClientId,TenantId,Scopes구성- public client application 인스턴스 생성
- 대화형 또는 캐시를 통한 silent 토큰 획득
- 오류 처리 및 토큰 결과 출력
- 새 콘솔 프로젝트 생성(예:
샘플 코드를 그대로 프로젝트에 복사한 뒤 placeholder 값을 자신의 앱 등록 정보로 교체해 사용할 수 있습니다.
6. 다양한 언어에서 Azure Identity SDK 사용하기
MSAL을 직접 호출하는 대신 Azure Identity 라이브러리를 사용하고 싶을 때 활용하세요.
references/sdk/아래에서 사용하는 언어에 맞는 파일을 엽니다.azure-identity-dotnet.mdazure-identity-java.mdazure-identity-py.mdazure-identity-rust.mdazure-identity-ts.md
- 이 가이드는
references/auth-best-practices.md와 연계되어 다음을 설명합니다.- 로컬 개발 환경에서
DefaultAzureCredential사용하는 방법 - 프로덕션에서는
ManagedIdentityCredential또는 workload identity를 우선적으로 사용하는 방법 - 필요 시 환경 변수 기반 자격 증명 구성 방법
- 로컬 개발 환경에서
이를 통해 앱 등록을 최신 Azure SDK 인증 패턴과 자연스럽게 연결할 수 있습니다.
7. 일반적인 인증 문제 트러블슈팅
Microsoft Entra ID 관련 오류를 만났을 때 사용하세요.
references/troubleshooting.md를 열어 다음과 같은 문제를 진단합니다.- redirect URI 불일치(AADSTS50011 등)
- 잘못되었거나 만료된 client secret
- API 호출 시 권한 및 동의 관련 오류
- 토큰 검증 및 구성 문제
- 이 가이드에는 다음이 포함됩니다.
- 오류 메시지 예시
- 근본 원인 설명
- Azure 포털 단계 및 Azure CLI 명령을 포함한 구체적인 해결 방법
이를 활용하면 개발·운영 환경에서 발생하는 인증·인가 실패를 빠르게 분석하고 해결할 수 있습니다.
베스트 프랙티스 및 다른 스킬과의 연계
references/auth-best-practices.md에서는 다음과 같은 원칙을 강조합니다.
- Azure에서 호스팅되는 프로덕션 워크로드에는 managed identity와 Azure RBAC를 사용
DefaultAzureCredential은 주로 로컬 개발용으로 사용하고, 프로덕션에서는 지양- 환경별로
ManagedIdentityCredential,ClientCertificateCredential, workload identity와 같은 목표 지향 자격 증명을 선택해 예측 가능성과 성능 확보
entra-app-registration은 다음 스킬과 함께 사용하는 것이 좋습니다.
- ID 구성이 끝난 후 Azure 리소스에 대한 권한 부여가 필요할 때는
azure-rbac - Key Vault에 저장된 client credentials secret의 관리 및 만료 감사를 해야 할 때는
azure-keyvault-expiration-audit - 더 넓은 보안 posture, 정책, 컴플라이언스를 다루려면
azure-security
자주 묻는 질문(FAQ)
entra-app-registration은 어떤 문제를 해결해 주나요?
entra-app-registration은 Microsoft Entra ID 앱 등록을 처음 다룰 때 자주 발생하는 실무적인 설정·구성 문제를 해결하는 데 초점을 맞춥니다. 구체적으로 다음과 같은 부분에 구조화된 가이드를 제공합니다.
- 포털 또는 CLI에서 올바른 앱 등록 생성 방법
- 앱에 적합한 계정 유형 및 OAuth 플로우 선택 방법
- redirect URI, secrets, certificates, service principal 구성 방법
- Microsoft Graph 및 커스텀 API용 적절한 API 권한 및 scope 추가 방법
- 실제 애플리케이션에 MSAL 및 Azure Identity를 통합하는 방법
- 공통 오류 코드 및 잘못된 구성 문제 트러블슈팅 방법
entra-app-registration 스킬은 어떻게 설치하나요?
이 스킬은 microsoft/azure-skills 리포지토리에서 설치합니다. 호환되는 환경에서 다음 명령을 실행하세요.
npx skills add https://github.com/microsoft/azure-skills --skill entra-app-registration
설치가 완료되면 SKILL.md와 references/ 디렉터리를 포함한 스킬의 파일들이 에이전트에 제공되어, Microsoft Entra 앱 등록 및 인증 관련 질문에 답변하는 데 사용할 수 있습니다.
설치 후 어떤 파일부터 보는 게 좋나요?
다음 순서로 살펴보는 것을 추천합니다.
SKILL.md– 전체 범위와 가이드에 대한 개요references/first-app-registration.md– 포털 기반 단계별 설정 가이드references/oauth-flows.md– 시나리오에 맞는 OAuth 2.0 플로우 이해references/api-permissions.md– API 권한 선택 및 구성 방법
그 다음 필요에 따라 자동화를 위해 references/cli-commands.md, 샘플 코드를 위해 references/console-app-example.md, 오류 해결을 위해 references/troubleshooting.md를 참고하면 됩니다.
이 스킬은 Azure RBAC이나 리소스 역할에도 도움이 되나요?
직접적으로 다루지는 않습니다. entra-app-registration은 앱 ID, OAuth 플로우, API 권한에 초점을 맞추며, Azure 리소스 역할 할당이나 RBAC 구성에 대해서는 심층적으로 다루지 않습니다. 해당 주제가 필요하다면 azure-rbac 스킬을 함께 사용해야 합니다.
Microsoft 이외의 클라우드에서도 entra-app-registration을 사용할 수 있나요?
이 스킬은 Microsoft Entra ID 및 Microsoft identity platform에 특화되어 있습니다. OAuth 2.0 개념 자체는 범용적이지만, 설정 단계, 명령어, 예제는 Azure 및 Microsoft Entra ID tenant를 대상으로 작성되어 있습니다.
여러 언어용 코드 예제가 포함되어 있나요?
네. references/console-app-example.md에는 C#, Python, Node.js로 작성된 MSAL 기반 콘솔 앱 예제가 포함되어 있습니다. 추가로, references/sdk/ 폴더에는 .NET, Java, Python, Rust, TypeScript용 Azure Identity 라이브러리에 대한 언어별 문서가 들어 있습니다.
이 스킬은 Azure Key Vault 사용과 어떤 관련이 있나요?
entra-app-registration은 인증 베스트 프랙티스를 다루면서 secret을 안전하게 저장하는 방법을 언급하지만, Key Vault secret 수명 주기 전체를 깊이 있게 설명하지는 않습니다. 만료 감사와 Key Vault secret 관리를 본격적으로 다루려면 azure-keyvault-expiration-audit 스킬을 함께 사용하는 것이 좋습니다.
이미 앱 등록이 있는데 잘못 구성된 것 같습니다. 이 스킬이 도움이 되나요?
도움이 됩니다. references/troubleshooting.md를 통해 오류를 진단한 다음 다음을 수행하세요.
- 현재 앱 등록 설정을
references/first-app-registration.md와references/oauth-flows.md의 패턴과 비교 - 가이드에 따라 redirect URI, 권한, secret 수정
references/console-app-example.md및 SDK 문서의 예제 코드와 자신의 코드를 비교해 검증
이 스킬은 신규(그린필드) 구성뿐 아니라 기존 앱 등록을 바로잡는 데에도 유용합니다.
이 스킬에서 제공되는 문서는 어디에서 모두 확인할 수 있나요?
사용 중인 환경에서 entra-app-registration 스킬의 Files 또는 Sources 탭을 열면 다음을 탐색할 수 있습니다.
SKILL.md- API 권한, OAuth 플로우, CLI 명령, 콘솔 예제, 트러블슈팅 등 주제별 가이드가 있는
references/폴더 - 언어별 Azure Identity 예제가 들어 있는
references/sdk/서브폴더
이 트리를 둘러보면 스킬에 포함된 모든 가이드를 한눈에 파악할 수 있습니다.
