이 페이지에서는 Google Cloud 콘솔을 사용하여 Binary Authorization 정책을 구성하는 방법을 설명합니다. 또는 Google Cloud CLI 또는 REST API를 사용하여 이 단계를 수행할 수도 있습니다. 이 단계는 Binary Authorization 설정의 일부입니다.
정책은 한 개 이상의 컨테이너 이미지 배포를 제어하는 규칙 집합입니다.
시작하기 전에
플랫폼에 Binary Authorization을 사용 설정하세요.
Google Kubernetes Engine(GKE) 사용자: Binary Authorization이 사용 설정된 클러스터를 만듭니다.
Cloud Run 사용자: 서비스에서 Binary Authorization을 사용 설정합니다.
증명을 사용하려는 경우 정책을 구성하기 전에 증명자를 만드는 것이 좋습니다. Google Cloud 콘솔를 사용하거나 명령줄 도구를 통해 증명자를 만들 수 있습니다.
Binary Authorization을 사용 설정한 프로젝트의 프로젝트 ID를 선택합니다.
기본 규칙 설정
이 섹션은 GKE, GKE Multi-cloud, Distributed Cloud, Cloud Run, Cloud Service Mesh에 적용됩니다.
규칙은 이미지를 배포하기 전에 충족해야 하는 제약조건을 정의하는 정책의 일부입니다. 기본 규칙은 자체 클러스터별 규칙이 없는 모든 비예외 컨테이너 이미지에 적용되는 제약조건을 정의합니다. 모든 정책에는 기본 규칙이 있습니다.
기본 규칙을 설정하려면 다음 작업을 수행하세요.
Google Cloud 콘솔에서 Binary Authorization 페이지로 이동합니다.
정책 탭을 클릭합니다.
정책 수정을 클릭합니다.
기본 규칙의 평가 모드를 선택합니다.
평가 모드에서는 배포 시 Binary Authorization에서 적용하는 제약조건 유형이 지정됩니다. 평가 모드를 설정하려면 다음 옵션 중 하나를 선택합니다.
- 모든 이미지 허용: 모든 이미지의 배포를 허용합니다.
- 모든 이미지 거부: 모든 이미지의 배포를 허용하지 않습니다.
- 다음 증명자로 승인된 이미지만 허용: 이 규칙에 추가하는 모든 증명자로 확인될 수 있는 하나 이상의 증명이 이미지에 포함된 경우 이미지 배포를 허용합니다. 증명자 만들기에 대한 자세한 내용은 증명자 만들기를 참조하세요.
다음 증명자가 승인한 이미지만 허용을 선택한 경우:
증명자의 이름 또는 리소스 ID를 가져옵니다.
Google Cloud 콘솔의 증명자 페이지에서 기존 증명자를 확인하거나 새 증명자를 만들 수 있습니다.
증명자 추가를 클릭합니다.
다음 옵션 중 하나를 선택합니다.
프로젝트 및 증명자 이름으로 추가
프로젝트는 증명자를 저장하는 프로젝트의 프로젝트 ID를 참조합니다. 증명자 이름의 예시는
build-qa
입니다.증명자 리소스 ID로 추가
리소스 ID의 형식은 다음과 같습니다.
projects/PROJECT_ID/attestors/ATTESTOR_NAME
증명자에서 선택한 옵션에 적절한 값을 입력합니다.
증명자를 더 추가하려면 다른 증명자 추가를 클릭합니다.
규칙을 저장하려면 증명자 추가를 클릭합니다.
테스트 실행 모드를 사용 설정하려면 다음 안내를 따르세요.
테스트 실행 모드를 선택합니다.
정책 저장을 클릭합니다.
클러스터별 규칙 설정(선택사항)
이 섹션은 GKE, Distributed Cloud, Cloud Service Mesh에 적용됩니다.
정책에 한 개 이상의 클러스터별 규칙이 있을 수도 있습니다. 이 유형의 규칙은 특정 Google Kubernetes Engine(GKE) 클러스터에만 배포되는 컨테이너 이미지에 적용됩니다. 클러스터별 규칙은 정책의 선택적 부분입니다.
클러스터별 규칙(GKE) 추가
이 섹션은 GKE 및 Distributed Cloud에 적용됩니다.
GKE 클러스터의 클러스터별 규칙을 추가하려면 다음을 수행합니다.
Google Cloud 콘솔에서 Binary Authorization 페이지로 이동합니다.
정책 탭을 클릭합니다.
정책 수정을 클릭합니다.
GKE 및 GKE Enterprise 배포의 추가 설정 섹션을 펼칩니다.
특정 규칙 유형이 설정되지 않은 경우 특정 규칙 만들기를 클릭합니다.
규칙 유형을 선택하려면 특정 규칙 유형을 클릭합니다.
규칙 유형을 변경하려면 변경을 클릭합니다.
특정 규칙 추가를 클릭합니다.
클러스터 리소스 ID 필드에 클러스터의 리소스 ID를 입력합니다.
클러스터의 리소스 ID에는
LOCATION.NAME
형식이 사용됩니다(예:us-central1-a.test-cluster
).기본 규칙의 평가 모드를 선택합니다.
평가 모드에서는 배포 시 Binary Authorization에서 적용하는 제약조건 유형이 지정됩니다. 평가 모드를 설정하려면 다음 옵션 중 하나를 선택합니다.
- 모든 이미지 허용: 모든 이미지의 배포를 허용합니다.
- 모든 이미지 거부: 모든 이미지의 배포를 허용하지 않습니다.
- 다음 증명자로 승인된 이미지만 허용: 이 규칙에 추가하는 모든 증명자로 확인될 수 있는 하나 이상의 증명이 이미지에 포함된 경우 이미지 배포를 허용합니다. 증명자 만들기에 대한 자세한 내용은 증명자 만들기를 참조하세요.
다음 증명자가 승인한 이미지만 허용을 선택한 경우:
증명자의 이름 또는 리소스 ID를 가져옵니다.
Google Cloud 콘솔의 증명자 페이지에서 기존 증명자를 확인하거나 새 증명자를 만들 수 있습니다.
증명자 추가를 클릭합니다.
다음 옵션 중 하나를 선택합니다.
프로젝트 및 증명자 이름으로 추가
프로젝트는 증명자를 저장하는 프로젝트의 프로젝트 ID를 참조합니다. 증명자 이름의 예시는
build-qa
입니다.증명자 리소스 ID로 추가
리소스 ID의 형식은 다음과 같습니다.
projects/PROJECT_ID/attestors/ATTESTOR_NAME
증명자에서 선택한 옵션에 적절한 값을 입력합니다.
증명자를 더 추가하려면 다른 증명자 추가를 클릭합니다.
규칙을 저장하려면 증명자 추가를 클릭합니다.
추가를 클릭하여 클러스터별 규칙을 추가합니다.
'클러스터가 존재하지 않는 것 같습니다.'라는 메시지가 표시될 수 있습니다. 나중에 GKE에서 이 클러스터를 사용할 수 있게 되면 이 규칙이 적용됩니다. 이 경우 추가를 다시 클릭하여 규칙을 저장합니다.
테스트 실행 모드를 사용 설정하려면 테스트 실행 모드를 선택합니다.
정책 저장을 클릭합니다.
클러스터별 규칙 추가(GKE Multi-cloud, Distributed Cloud)
이 섹션은 Distributed Cloud에 적용됩니다.
GKE 클러스터의 클러스터별 규칙을 추가하려면 다음을 수행합니다.
Google Cloud 콘솔에서 Binary Authorization 페이지로 이동합니다.
정책 탭을 클릭합니다.
정책 수정을 클릭합니다.
GKE 및 GKE Enterprise 배포의 추가 설정 섹션을 펼칩니다.
특정 규칙 유형이 설정되지 않은 경우 특정 규칙 만들기를 클릭합니다.
규칙 유형을 선택하려면 특정 규칙 유형을 클릭합니다.
규칙 유형을 업데이트하려면 변경을 클릭합니다.
특정 규칙 추가를 클릭합니다.
클러스터 리소스 ID 필드에 클러스터의 리소스 ID를 입력합니다.
- GKE 연결 클러스터와 AWS용 GKE의 경우 형식은
CLUSTER_LOCATION.CLUSTER_NAME
입니다(예:us-central1-a.test-cluster
). - Google Distributed Cloud 및 Google Distributed Cloud의 경우 형식은
FLEET_MEMBERSHIP_LOCATION.FLEET_MEMBERSHIP_ID
입니다(예:global.test-membership
).
- GKE 연결 클러스터와 AWS용 GKE의 경우 형식은
기본 규칙의 평가 모드를 선택합니다.
평가 모드에서는 배포 시 Binary Authorization에서 적용하는 제약조건 유형이 지정됩니다. 평가 모드를 설정하려면 다음 옵션 중 하나를 선택합니다.
- 모든 이미지 허용: 모든 이미지의 배포를 허용합니다.
- 모든 이미지 거부: 모든 이미지의 배포를 허용하지 않습니다.
- 다음 증명자로 승인된 이미지만 허용: 이 규칙에 추가하는 모든 증명자로 확인될 수 있는 하나 이상의 증명이 이미지에 포함된 경우 이미지 배포를 허용합니다. 증명자 만들기에 대한 자세한 내용은 증명자 만들기를 참조하세요.
다음 증명자가 승인한 이미지만 허용을 선택한 경우:
증명자의 이름 또는 리소스 ID를 가져옵니다.
Google Cloud 콘솔의 증명자 페이지에서 기존 증명자를 확인하거나 새 증명자를 만들 수 있습니다.
증명자 추가를 클릭합니다.
다음 옵션 중 하나를 선택합니다.
프로젝트 및 증명자 이름으로 추가
프로젝트는 증명자를 저장하는 프로젝트의 프로젝트 ID를 참조합니다. 증명자 이름의 예시는
build-qa
입니다.증명자 리소스 ID로 추가
리소스 ID의 형식은 다음과 같습니다.
projects/PROJECT_ID/attestors/ATTESTOR_NAME
증명자에서 선택한 옵션에 적절한 값을 입력합니다.
증명자를 더 추가하려면 다른 증명자 추가를 클릭합니다.
규칙을 저장하려면 증명자 추가를 클릭합니다.
추가를 클릭하여 규칙을 저장합니다.
'클러스터가 존재하지 않는 것 같습니다.'라는 메시지가 표시될 수 있습니다. 나중에 GKE에서 지정된 클러스터를 사용할 수 있게 되면 이 규칙이 적용됩니다." 이 경우 추가를 다시 클릭하여 규칙을 저장합니다.
테스트 실행 모드를 사용 설정하려면 테스트 실행 모드를 선택합니다.
정책 저장을 클릭합니다.
특정 규칙 추가
메시 서비스 ID, Kubernetes 서비스 계정 또는 Kubernetes 네임스페이스로 범위가 지정된 규칙을 만들 수 있습니다. 다음과 같이 특정 규칙을 추가하거나 수정할 수 있습니다.
Google Cloud 콘솔에서 Binary Authorization 페이지로 이동합니다.
정책 탭을 클릭합니다.
정책 수정을 클릭합니다.
GKE 및 Anthos 배포의 추가 설정 섹션을 펼칩니다.
특정 규칙 유형이 설정되지 않은 경우 특정 규칙 만들기를 클릭합니다.
특정 규칙 유형을 클릭하여 규칙 유형을 선택합니다.
변경을 클릭하여 규칙 유형을 업데이트합니다.
특정 규칙 유형이 있는 경우 유형 수정을 클릭하여 규칙 유형을 변경할 수 있습니다.
특정 규칙을 추가하려면 특정 규칙 추가를 클릭합니다. 선택한 규칙 유형에 따라 다음과 같이 ID를 입력합니다.
- ASM 서비스 ID: ASM 서비스 ID를 PROJECT_ID.svc.id.goog/ns/NAMESPACE/sa/SERVICE_ACCOUNT 같은 형식으로 입력합니다.
- Kubernetes 서비스 계정: Kubernetes 서비스 계정을 NAMESPACE:SERVICE_ACCOUNT 형식으로 입력합니다.
- Kubernetes 네임스페이스: Kubernetes 네임스페이스를 NAMESPACE 형식으로 입력합니다.
규칙 유형에 따라 필요할 경우 다음을 바꿉니다.
- PROJECT_ID: Kubernetes 리소스를 정의하는 프로젝트 ID입니다.
- NAMESPACE: Kubernetes 네임스페이스입니다.
- SERVICE_ACCOUNT: 서비스 계정입니다.
기본 규칙의 평가 모드를 선택합니다.
평가 모드에서는 배포 시 Binary Authorization에서 적용하는 제약조건 유형이 지정됩니다. 평가 모드를 설정하려면 다음 옵션 중 하나를 선택합니다.
- 모든 이미지 허용: 모든 이미지의 배포를 허용합니다.
- 모든 이미지 거부: 모든 이미지의 배포를 허용하지 않습니다.
- 다음 증명자로 승인된 이미지만 허용: 이 규칙에 추가하는 모든 증명자로 확인될 수 있는 하나 이상의 증명이 이미지에 포함된 경우 이미지 배포를 허용합니다. 증명자 만들기에 대한 자세한 내용은 증명자 만들기를 참조하세요.
다음 증명자가 승인한 이미지만 허용을 선택한 경우:
증명자의 이름 또는 리소스 ID를 가져옵니다.
Google Cloud 콘솔의 증명자 페이지에서 기존 증명자를 확인하거나 새 증명자를 만들 수 있습니다.
증명자 추가를 클릭합니다.
다음 옵션 중 하나를 선택합니다.
프로젝트 및 증명자 이름으로 추가
프로젝트는 증명자를 저장하는 프로젝트의 프로젝트 ID를 참조합니다. 증명자 이름의 예시는
build-qa
입니다.증명자 리소스 ID로 추가
리소스 ID의 형식은 다음과 같습니다.
projects/PROJECT_ID/attestors/ATTESTOR_NAME
증명자에서 선택한 옵션에 적절한 값을 입력합니다.
증명자를 더 추가하려면 다른 증명자 추가를 클릭합니다.
규칙을 저장하려면 증명자 추가를 클릭합니다.
테스트 실행 모드를 클릭하여 테스트 실행 모드를 사용 설정합니다.
추가를 클릭하여 특정 규칙을 저장합니다.
정책 저장을 클릭합니다.
예외 이미지 관리
이 섹션은 GKE, Distributed Cloud, Cloud Run, Cloud Service Mesh에 적용됩니다.
예외 이미지는 정책 규칙에서 제외되는 이미지로, 경로를 사용하여 지정됩니다. Binary Authorization에서는 항상 예외 이미지를 배포할 수 있습니다.
이 경로는 Container Registry 또는 다른 컨테이너 이미지 레지스트리의 위치를 지정할 수 있습니다.
Cloud Run
이 섹션은 Cloud Run에 적용됩니다.
태그가 포함된 이미지 이름을 직접 지정할 수 없습니다. 예를 들어 IMAGE_PATH
:latest를 지정할 수 없습니다.
태그가 포함된 이미지 이름을 지정하려면 다음과 같이 와일드 카드를 사용해서 이미지 이름을 지정해야 합니다.
- 단일 이미지의 모든 버전에
*
을 사용합니다(예:us-docker.pkg.dev/myproject/container/hello@*
). - 프로젝트의 모든 이미지에
**
을 사용합니다(예:us-docker.pkg.dev/myproject/**
).
경로 이름을 사용하여 IMAGE_PATH
@DIGEST
형식으로 다이제스트를 지정할 수 있습니다.
시스템 정책 사용 설정
이 섹션은 GKE 및 Distributed Cloud에 적용됩니다.
Google이 제공하는 모든 시스템 이미지 신뢰는 Binary Authorization 시스템 정책을 사용 설정하는 정책 설정입니다. 이 설정을 배포 시 사용 설정하면 Binary Authorization은 GKE에서 요구하는 Google이 관리하는 시스템 이미지 목록을 추가 정책 평가에서 제외합니다. 시스템 정책은 다른 정책 설정보다 먼저 평가됩니다.
시스템 정책을 사용 설정하려면 다음을 수행하세요.
Google Cloud 콘솔에서 Binary Authorization 페이지로 이동합니다.
정책 수정을 클릭합니다.
GKE 및 Anthos 배포의 추가 설정 섹션을 펼칩니다.
Google 시스템 이미지 예외 섹션에서 Google이 제공하는 모든 시스템 이미지 신뢰를 선택합니다.
시스템 정책에서 제외한 이미지를 보려면 세부정보 보기를 클릭합니다.
추가 예외 이미지를 수동으로 지정하려면 이 정책에서 이미지 예외의 커스텀 예외 규칙 섹션을 펼칩니다.
그런 다음 이미지 패턴 추가를 클릭하고 제외할 추가 이미지의 레지스트리 경로를 입력합니다.
정책 저장을 클릭합니다.
다음 단계
built-by-cloud-build
증명자를 사용하여 Cloud Build에서 빌드한 이미지만 배포 (미리보기)합니다.- 증명 사용
- GKE 이미지 배포
- Cloud 감사 로그 이벤트 보기
- 지속적 검증 사용
- 기존 지속적 검증(지원 중단됨)을 사용하여 정책 준수 여부를 확인합니다.