다음을 통해 공유


Azure Pipelines에 대한 리소스 정보

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

리소스는 파이프라인 외부에 있는 파이프라인에서 사용되는 모든 요소입니다.

리소스는 다음과 같은 이점을 제공합니다.

  • 파이프라인 간에 보안 파일 또는 암호와 같은 대상을 공유하는 방법.
    • 공유에 리소스를 사용하는 예로는 변수 그룹, 보안 파일 및 서비스 연결이 있습니다. 모든 경우에 파이프라인에서 액세스하고 사용할 수 있는 방법으로 리소스를 사용합니다.
  • 액세스 검사 및 기타 제한을 통해 보안 향상시키기 위한 도구입니다.
    • 예를 들어 하나의 파이프라인에서만 실행되도록 서비스 연결을 제한할 수 있습니다. 또한 수동 승인 확인 후에 파이프라인에서만 리포지토리에 액세스할 수 있는지 확인할 수 있습니다.
  • 파이프라인에 대한 추적 가능성 개선하고 환경 문제를 보다 쉽게 해결할 수 있는 방법입니다.

파이프라인 간에 리소스 공유

파이프라인 UI 내에서 구성하여 파이프라인 간에 리소스를 공유합니다. 그런 다음 작업에서 해당 리소스를 참조합니다. resources YAML 파이프라인 구문사용하여 일부 공유 리소스에 액세스할 수도 있습니다.

파이프라인 UI와 리소스를 공유하는 예로는 보안 파일, 변수 그룹, 서비스 연결등이 있습니다. resources 구문을 사용하면 파이프라인 자체, 리포지토리 및 패키지에 액세스하는 예제가 포함됩니다.

파이프라인에서 리소스를 사용하는 방법은 파이프라인 유형 및 리소스 유형에 따라 달라집니다.

YAML 파이프라인의 경우:

  • 서비스 연결 및 보안 파일은 작업에 대한 입력으로 직접 사용되며 미리 선언할 필요가 없습니다.
  • 변수 그룹은 group 구문을 사용합니다.
  • 파이프라인 및 리포지토리는 resources 구문을 사용합니다.

예를 들어 파이프라인에서 변수 그룹을 사용하려면 Pipelines>Library변수를 추가합니다. 그런 다음, variables 구문을 사용하여 YAML 파이프라인에서 변수 그룹을 참조할 수 있습니다.

variables:
- group: my-variable-group

resources 구문을 사용하여 파이프라인에서 두 번째 파이프라인을 호출하려면 pipelines참조합니다.

resources:
  pipelines:
  - pipeline: SmartHotel-resource # identifier for the resource (used in pipeline resource variables)
    source: SmartHotel-CI # name of the pipeline that produces an artifact

리소스를 사용하여 보안 강화

리소스가 사용되는 방법과 무단 액세스를 방지하는 방법을 식별하여 리소스를 사용하여 파이프라인의 보안을 강화할 수 있습니다.

YAML 파이프라인의 경우에만 리소스를 보호되거나열리도록 설정합니다. 리소스가 보호되면 승인 및 검사를 적용하여 특정 사용자 및 YAML 파이프라인에 대한 액세스를 제한할 수 있습니다. 보호된 리소스에는 서비스 연결, 에이전트 풀, 환경, 리포지토리, 변수 그룹 및 보안 파일이 포함됩니다.

리소스 어떻게 사용합니까? 의도하지 않은 파이프라인이 이를 사용하지 못하도록 하려면 어떻게 해야 할까요?
서비스 연결 YAML 파일에서 서비스 연결을 입력으로 사용하는 태스크에 소비됩니다. 검사 및 파이프라인 권한으로 보호됩니다. 검사 및 파이프라인 권한은 서비스 연결 사용자가 제어합니다. 리소스 소유자는 서비스 연결에 액세스할 수 있는 파이프라인을 제어할 수 있습니다. 파이프라인 권한을 사용하여 특정 YAML 파이프라인 및 모든 클래식 파이프라인에 대한 액세스를 제한할 수도 있습니다.
변수 그룹의 비밀 변수 파이프라인 또는 작업에서 변수 그룹을 사용하기 위한 특수 구문이 있습니다. 변수 그룹은 서비스 연결처럼 추가됩니다. 검사 및 파이프라인 권한으로 보호됩니다. 검사 및 파이프라인 권한은 변수 그룹 사용자가 제어합니다. 리소스 소유자는 변수 그룹에 액세스할 수 있는 파이프라인을 제어할 수 있습니다. 파이프라인 권한을 사용하여 특정 YAML 파이프라인 및 모든 클래식 파이프라인에 대한 액세스를 제한할 수도 있습니다.
보안 파일 보안 파일은 태스크(예: 보안 파일 다운로드 태스크)에서 사용됩니다. 검사 및 파이프라인 권한으로 보호됩니다. 검사 및 파이프라인 권한은 보안 파일 사용자가 제어합니다. 리소스 소유자는 보안 파일에 액세스할 수 있는 파이프라인을 제어할 수 있습니다. 파이프라인 권한을 사용하여 특정 YAML 파이프라인 및 모든 클래식 파이프라인에 대한 액세스를 제한할 수도 있습니다.
에이전트 풀 에이전트 풀을 사용하여 작업을 실행하는 특별한 구문이 있습니다. 검사 및 파이프라인 권한으로 보호됩니다. 검사 및 파이프라인 권한은 에이전트 풀 사용자가 제어합니다. 리소스 소유자는 에이전트 풀에 액세스할 수 있는 파이프라인을 제어할 수 있습니다. 파이프라인 권한을 사용하여 특정 YAML 파이프라인 및 모든 클래식 파이프라인에 대한 액세스를 제한할 수도 있습니다.
환경 YAML에서 환경을 사용하는 특별한 구문이 있습니다. 환경 사용자가 제어하는 검사 및 파이프라인 권한으로 보호됩니다. 파이프라인 권한을 사용하여 특정 환경에 대한 액세스를 제한할 수도 있습니다.
리포지토리 스크립트는 작업 액세스 토큰이 리포지토리에 액세스할 수 있는 경우 리포지토리를 복제할 수 있습니다. 리포지토리 기여자가 제어하는 검사 및 파이프라인 권한으로 보호됩니다. 리포지토리 소유자는 소유권을 제한할 수 있습니다.
아티팩트, 작업 항목, 파이프라인 파이프라인 아티팩트는 리소스이지만 Azure Artifacts는 리소스가 아닙니다. 스크립트는 작업 액세스 토큰이 피드에 액세스할 수 있는 경우 아티팩트를 다운로드할 수 있습니다. 파이프라인 아티팩트를 리소스 섹션에서 리소스로 선언할 수 있습니다. 주로 새 아티팩트를 사용할 수 있을 때 파이프라인을 트리거하거나 파이프라인에서 해당 아티팩트를 사용하려는 의도입니다. 아티팩트 및 작업 항목에는 고유한 권한 컨트롤이 있습니다. 피드에 대한 검사 및 파이프라인 권한은 지원되지 않습니다.
컨테이너, 패키지, 웹후크 이들은 Azure DevOps 에코시스템 외부에 존재하며, 서비스 연결을 통해 액세스가 제어됩니다. YAML 파이프라인에서 세 가지 형식을 모두 사용하기 위한 특수 구문이 있습니다. 서비스 연결 사용자가 제어하는 검사 및 파이프라인 권한으로 보호됩니다.

추적 기능을 위해 리소스 사용

환경은 다음 리소스 유형을 지원합니다.

다음 단계

파이프라인 리소스 추가