다음을 통해 공유


적합한 인증 메커니즘 선택

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Azure DevOps Services와 인터페이스하는 애플리케이션의 경우 REST API와 같은 리소스에 액세스하려면 인증해야 합니다. 이 문서에서는 애플리케이션에 적합한 인증 메커니즘을 선택하는 데 도움이 되는 지침을 제공합니다.

다음 표에서는 다양한 애플리케이션 시나리오에 대해 고려할 제안된 인증 개념을 간략하게 설명합니다. 시작하는 데 도움이 되는 설명, 예제 및 코드 샘플을 참조하세요.

애플리케이션 유형 설명 예시 인증 메커니즘 코드 샘플
대화형 클라이언트 쪽 앱(REST) Azure DevOps Services REST API를 호출하는 사용자 상호 작용을 허용하는 클라이언트 애플리케이션 조직의 프로젝트를 열거하는 콘솔 애플리케이션 Microsoft 인증 라이브러리(MSAL)을 사용한 OAuth sample
대화형 클라이언트 쪽 앱(클라이언트 라이브러리) 사용자 상호 작용을 허용하는 Azure DevOps Services 클라이언트 라이브러리를 호출하는 클라이언트 애플리케이션 현재 사용자에게 할당된 버그를 열거하는 콘솔 애플리케이션 클라이언트 라이브러리가 있는 OAuth sample
비대화형 클라이언트 쪽 앱 헤드리스 텍스트 전용 클라이언트 쪽 애플리케이션 사용자에게 할당된 모든 버그를 표시하는 콘솔 앱 OAuth를 이용한 디바이스 프로필 흐름 sample
PAT(개인용 액세스 토큰) 사용자 고유의 리소스에 액세스하기 위한 전달자 토큰 임시 REST 호출에 암호 대신 PAT를 사용합니다. 애플리케이션에 적합하지 않습니다. PAT 예제
서버 앱 클라이언트 OM 라이브러리를 사용하는 Azure DevOps Server 앱 팀 버그 대시보드를 표시하는 Azure DevOps Server 확장 클라이언트 라이브러리 sample
서비스 주체 또는 관리 ID 자체 ID를 가진 애플리케이션 작업 항목을 만드는 Azure 함수 서비스 주체 및 관리 ID sample
웹 확장 Azure DevOps Services 확장 Agile 카드 확장 VSS 웹 확장 SDK sample

Entra 기반 인증 Microsoft Entra 계정과 상호 작용하는 경우 Azure DevOps Services와 통합하려는 개발자를 위한 권장 사항입니다. 이 테이블의 OAuth 샘플 앱은 Microsoft Entra의 아이덴티티 플랫폼을 앱 개발에 사용합니다.
MSA(Microsoft 계정) 또는 Azure DevOps Server 사용자로 인증하려면 클라이언트 라이브러리 또는 PAT를 참조하십시오.
에서 플랫폼 전체의 PAT 사용량을 줄이는 방법에 대한 블로그을 자세히 읽어보세요.

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는 둘 다에 대해 작동합니다 .