적합한 인증 메커니즘 선택
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure DevOps Services와 인터페이스하는 애플리케이션의 경우 REST API와 같은 리소스에 액세스하려면 인증해야 합니다. 이 문서에서는 애플리케이션에 적합한 인증 메커니즘을 선택하는 데 도움이 되는 지침을 제공합니다.
다음 표에서는 다양한 애플리케이션 유형에 권장되는 인증 메커니즘을 간략하게 설명합니다. 시작하는 데 도움이 되는 설명, 예제 및 코드 샘플을 참조하세요.
애플리케이션 유형 | 설명 | 예시 | 인증 메커니즘 | 코드 샘플 |
---|---|---|---|---|
대화형 클라이언트 쪽 앱(REST) | Azure DevOps Services REST API를 호출하는 사용자 상호 작용을 허용하는 클라이언트 애플리케이션 | 조직의 프로젝트를 열거하는 콘솔 애플리케이션 | MSAL(Microsoft 인증 라이브러리) | sample |
대화형 클라이언트 쪽 앱(클라이언트 라이브러리) | Azure DevOps Services 클라이언트 라이브러리를 호출하는 사용자 상호 작용을 허용하는 클라이언트 애플리케이션 | 현재 사용자에게 할당된 버그를 열거하는 콘솔 애플리케이션 | 클라이언트 라이브러리 | sample |
대화형 JavaScript 앱 | GUI 기반 JavaScript 애플리케이션 | 사용자에 대한 프로젝트 정보를 표시하는 AngularJS 단일 페이지 앱 | JavaScript용 Microsoft 인증 라이브러리(MSAL JS) | sample |
대화형 OAuth 웹앱 | 사용자 동의가 필요한 GUI 기반 웹 애플리케이션 | 빌드 요약을 표시하는 사용자 지정 웹 대시보드 | OAuth | sample |
비대화형 클라이언트 쪽 앱 | 헤드리스 텍스트 전용 클라이언트 쪽 애플리케이션 | 사용자에게 할당된 모든 버그를 표시하는 콘솔 앱 | 디바이스 프로필 | sample |
PAT(개인용 액세스 토큰) | 사용자 고유의 리소스에 액세스하기 위한 전달자 토큰 | REST 요청에 대한 암호 대신 PAT를 사용합니다. 애플리케이션을 빌드하는 데 적합하지 않습니다. | PAT | docs |
서버 앱 | 클라이언트 OM 라이브러리를 사용하는 Azure DevOps Server 앱 | 팀 버그 대시보드를 표시하는 Azure DevOps Server 확장 | 클라이언트 라이브러리 | sample |
서비스 주체 앱 | 조직의 Azure DevOps 리소스에 액세스할 수 있는 애플리케이션 | 작업 항목을 만드는 Azure 함수 | 서비스 주체 및 관리 ID | sample |
웹 확장 | Azure DevOps Services 확장 | Agile 카드 확장 | VSS 웹 확장 SDK | sample |
자세한 내용은 다음 문서를 참조하세요.
- 보안 및 ID 정보입니다.
- OAuth 인증
- 서비스 주체 및 관리 ID
- Azure DevOps 클라이언트 라이브러리
- Azure DevOps 확장
- Azure DevOps 데이터 보호 개요
IIS 기본 인증을 사용하도록 설정하면 Azure DevOps Server에 대한 PAT 사용이 무효화됩니다.
자세한 내용은 Azure DevOps 온-프레미스에서 IIS 기본 인증 사용을 참조 하세요.
FAQ(질문과 대답)
Q: 내 서비스 계정이 Azure DevOps REST API에 액세스할 수 없는 이유는 무엇인가요?
A: 서비스 계정이 "구체화"되지 않았을 수 있습니다. 대화형 로그인 권한이 없는 서비스 계정은 로그인할 수 없습니다. 자세한 내용은 솔루션에 대한 이 해결을 참조하세요.
Q: 대화형 클라이언트 쪽 애플리케이션에 Azure DevOps Services 클라이언트 라이브러리 또는 Azure DevOps Services REST API를 사용해야 하나요?
A: Azure DevOps Services 리소스에 액세스하기 위해 REST API를 통해 Azure DevOps Services 클라이언트 라이브러리를 사용하는 것이 좋습니다. REST 엔드포인트 버전이 변경되면 더 간단하고 쉽게 유지 관리할 수 있습니다. 클라이언트 라이브러리에 특정 기능이 없는 경우 REST API를 사용하여 인증에 MSAL을 사용합니다.
Q: 이 지침은 Azure DevOps Services에만 해당합니까, 아니면 온-프레미스 Azure DevOps Server 사용자와도 관련이 있나요?
A: 이 지침은 주로 Azure DevOps Services 사용자를 위한 것입니다. Azure Devops Server 사용자의 경우 인증을 위해 클라이언트 라이브러리, Windows 인증 또는 PAT(개인용 액세스 토큰) 를 사용하는 것이 좋습니다.
Q: 내 애플리케이션이 Azure DevOps Server와 Azure DevOps Services 모두에서 인증되도록 하려면 어떻게 해야 하나요?
A: 모범 사례는 Azure DevOps Server 및 Azure DevOps Services에 대한 별도의 인증 경로를 갖는 것입니다. 이 requestContext
기능을 사용하여 액세스하는 서비스를 확인한 다음 적절한 인증 메커니즘을 적용할 수 있습니다. 통합 솔루션을 선호하는 경우 PAT는 둘 다에 대해 작동합니다 .