Azure Pipelines에 대한 리소스 정보
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
리소스는 파이프라인 외부에 있는 파이프라인에서 사용하는 모든 항목입니다.
리소스는 다음과 같은 이점을 제공합니다.
- 파이프라인 간에 보안 파일 또는 암호와 같은 항목을 공유하는 방법입니다.
- 공유에 리소스를 사용하는 예로는 변수 그룹, 보안 파일 및 서비스 연결이 있습니다. 모든 경우에 파이프라인에서 액세스하고 사용할 수 있는 방법으로 리소스를 사용합니다.
- 액세스 검사 및 기타 제한을 통해 보안을 강화하기 위한 도구입니다.
- 예를 들어 하나의 파이프라인에서만 실행되도록 서비스 연결을 제한할 수 있습니다. 또한 수동 승인 검사 후에만 파이프라인에서 리포지토리에 액세스할 수 있는지 확인할 수 있습니다.
- 파이프라인의 추적 가능성을 개선하고 환경 문제를 보다 쉽게 해결할 수 있는 방법입니다.
- 예를 들어 환경에 배포된 마지막 실행의 수를 볼 수 있습니다.
파이프라인 간에 리소스 공유
파이프라인 UI 내에서 구성하여 파이프라인 간에 리소스를 공유합니다. 그런 다음 작업에서 해당 리소스를 참조합니다. YAML 파이프라인 구문을 사용하여 일부 공유 리소스에 resources
액세스할 수도 있습니다.
파이프라인 UI와 리소스를 공유하는 예제에는 보안 파일, 변수 그룹 및 서비스 연결이 포함됩니다. resources
구문을 사용하면 파이프라인 자체, 리포지토리 및 패키지에 액세스하는 예제가 포함됩니다.
파이프라인에서 리소스를 사용하는 방법은 파이프라인 유형 및 리소스 유형에 따라 달라집니다.
YAML 파이프라인의 경우:
- 서비스 연결 및 보안 파일은 작업에 대한 입력으로 직접 사용되며 미리 선언할 필요가 없습니다.
- 변수 그룹은 구문을 사용합니다
group
. - 파이프라인 및 리포지토리는
resources
구문을 사용합니다.
예를 들어 파이프라인에서 변수 그룹을 사용하려면 파이프라인 라이브러리에 변수를>추가합니다. 그런 다음 구문을 사용하여 YAML 파이프라인의 변수 그룹을 참조할 variables
수 있습니다.
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 파이프라인에서 세 가지 형식을 모두 사용하기 위한 특수 구문이 있습니다. | 서비스 연결 사용자가 제어하는 검사 및 파이프라인 권한으로 보호됩니다. |
추적 기능을 위해 리소스 사용
환경은 다음 리소스 유형을 지원합니다.