Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

CEL 변경 유형별 입력 참조

정책 입력의 type은 변경 유형을 나타냅니다. 유형에 따라 request의 필드와 referencedResources의 키가 달라지므로, 해당 유형인지 확인한 뒤 필요한 필드에 접근합니다.

배포 개체 변경이 모듈 설치의 일부라면 관련 모듈의 module과 moduleRelease 참조가 추가될 수 있습니다. 사용할 때는 해당 키가 있는지 확인해야 합니다.

참조 리소스의 공통 필드

referencedResources의 각 항목에는 다음 네 필드가 있습니다.

필드타입의미
rid문자열리소스 식별자. 역할이나 작업 권한을 요구하는 함수에 전달
name문자열환경 이름이나 제품 ID 등 리소스를 표시하는 이름
labels맵적용된 레이블. 키와 값은 문자열이며, 레이블이 없으면 빈 맵
authorRoles집합작성자가 이 리소스에서 가진 역할 ID 문자열. 역할이 없으면 빈 집합

대부분의 항목에는 리소스 전체를 맵으로 직렬화한 resource도 있습니다. 내부 필드는 리소스 종류에 따라 다릅니다. 예를 들어 아티팩트 레지스트리 종류는 referencedResources.artifactRegistry.resource.registryType으로 확인합니다.

다음 변경 유형에서는 resource가 비어 있습니다.

  • CREATE_PIPELINE
  • CREATE_TEAM
  • CREATE_EGRESS_POLICIES
  • DELETE_EGRESS_POLICIES
  • MODIFY_VULNERABILITY_SUPPRESSIONS
  • REMOVE_VULNERABILITY_SUPPRESSIONS
  • MODIFY_SPACE_SETTINGS
  • MODIFY_RESOURCE_OVERRIDE_SPACE_SETTINGS

배포 개체 변경

type발생하는 작업참조 리소스 키
CREATE_ENTITY환경에 개체 추가environment, 제품이 지정된 경우 product
UPDATE_ENTITY개체의 애플리케이션 구성 변경environment, installation, 제품이 지정된 경우 product
UPDATE_ENTITY_SETTINGS릴리스 채널 등의 운영 설정 변경 또는 삭제 대상으로 표시environment, installation, 제품이 지정된 경우 product
DELETE_ENTITY배포 구성에서 개체 제거environment, installation, 제품이 지정된 경우 product

생성과 갱신 요청

CREATE_ENTITY, UPDATE_ENTITY, UPDATE_ENTITY_SETTINGS의 request에는 다음 필드가 있습니다. 갱신 요청의 값은 변경 후 제안한 상태를 나타냅니다.

필드타입의미와 존재 조건
apolloEntityId문자열개체의 고유 식별자
apolloEntityType문자열service, daemon, network-security 등의 개체 유형
releaseChannel문자열개체의 릴리스 채널. 환경 기본값을 상속하면 없음
configOverrides맵제품별 구성. 일반적으로 버전 문자열이 키이고 해당 버전의 구성 맵이 값
entity맵직렬화한 개체 설정. 서비스, 데몬, Helm 차트 등 배포 구성에 선언된 개체에 존재

network-security의 configOverrides는 아래의 별도 구조를 사용합니다.

삭제 요청

DELETE_ENTITY의 request에는 다음 두 필드가 있습니다.

필드타입의미
apolloEntityId문자열제거할 개체의 고유 식별자
apolloEntityType문자열service, daemon 등의 개체 유형

entity 내부 필드

request.entity는 서비스, 데몬, Helm 차트, Asset 등 배포 구성에 선언된 개체의 설정을 담습니다.

필드타입의미와 존재 조건
releaseChannel문자열개체 채널. 환경 기본값을 상속하면 없음
maintenanceWindows객체개체의 유지보수 일정. 설정하지 않으면 없음
dependencyStackOverrides맵제품 ID별 의존 스택 재정의
ignoredDependencies집합무시할 의존 제품 ID
rolloutStrategy객체배포 전략 재정의. 기본값을 사용하면 없음
tracks집합추적형 Asset의 트랙
product문자열명시적으로 재정의한 제품 ID. 재정의하지 않으면 없음
targetInfrastructureType문자열인프라 유형 재정의. 설정하지 않으면 없음
markedForDeletion불리언삭제 대상으로 표시했는지. 표시하지 않으면 없음
markedForUninstallation객체설치 제거 구성. 설정하지 않으면 없음
helmReleaseName문자열Helm 차트 개체의 Helm 릴리스 이름
k8sNamespace문자열Helm 차트 개체의 Kubernetes 네임스페이스
accountId문자열Terraform 모듈 개체의 AWS 계정 ID
foundrySpace문자열Foundry 제품 개체의 Foundry 공간
dependencyGroups집합Helm 차트, Terraform 모듈 및 Foundry 제품의 의존 그룹
dependencyGroupOverrides맵제품 ID별 의존 그룹 재정의

network-security의 configOverrides

네트워크 보안 개체의 구성은 버전별 맵이 아니라 규칙의 선언 상태입니다. type으로 변형을 구분하는 유니온 구조이며 현재 변형은 v1입니다.

경로타입의미
request.configOverrides.type문자열현재 값은 v1
request.configOverrides.v1객체규칙 내용
request.configOverrides.v1.description문자열규칙 설명
request.configOverrides.v1.ruleDetails객체규칙 종류와 설정. type으로 종류를 구분
request.configOverrides.v1.quarantined불리언참이면 철회된 규칙으로 취급. 설정하지 않으면 없음

규칙 종류가 egressRule이면 request.configOverrides.v1.ruleDetails.egressRule에서 내용을 읽습니다.

ruleDetails.type변형 안의 필드
egressRuledest, ports, namespaces
httpsIngressRuledomain, allowedCidrs, allowedCountryCodes
httpsPortIngressRuleport, allowedCidrs, allowedCountryCodes
tcpIngressRuleports, allowedCidrs
udpIngressRuleports, allowedCidrs

외부 방향 규칙의 세부 구조는 다음과 같습니다.

필드구조
desttype이 cidrs이면 dest.cidrs에 CIDR 문자열 집합, domain이면 dest.domain에 도메인 문자열
ports포트 항목의 집합. 항목의 type이 port이면 port 정수, portRange이면 portRange.start와 portRange.end 정수
namespaces네임스페이스 문자열 집합

인바운드 규칙에서 domain은 문자열이고 httpsPortIngressRule.port는 정수입니다. TCP와 UDP 규칙의 ports는 정수 집합입니다. 공통 접근 허용 필드는 다음 구조를 사용합니다.

필드구조
allowedCidrs객체 집합. 각 객체에 justification 문자열과 cidrs 문자열 집합
allowedCountryCodes객체 집합. 각 객체에 justification 문자열과 countryCodes 문자열 집합

배포 개체의 유지보수 시간대

type대상참조 리소스 키
CREATE_ENTITY_MAINTENANCE_WINDOW_OVERRIDE표준 개체 유형의 유지보수 시간대 재정의 생성environment, installation, 해당하는 경우 product
CREATE_GENERIC_ENTITY_MAINTENANCE_WINDOW_OVERRIDE일반 개체 유형의 유지보수 시간대 재정의 생성environment, installation

두 유형의 request 구조는 같습니다.

필드타입의미
entity문자열개체의 고유 식별자
startTime타임스탬프재정의 시간대 시작
endTime타임스탬프재정의 시간대 종료
type문자열DOWNTIME 또는 NO_DOWNTIME

최상위 type은 변경 유형이고 request.type은 시간대 유형입니다.

배포 환경 변경

다음 유형은 모두 referencedResources.environment를 제공합니다.

type발생하는 작업request 필드
UPDATE_ENVIRONMENT_SETTINGS기본 채널 등의 환경 수준 운영 설정 변경deploymentId: 환경 ID 문자열, settings: 변경 후 운영 설정 맵
UPDATE_ENVIRONMENT_CONFIG환경 구성 파일 변경config: 변경 후 구성 파일 전체 내용의 맵
UPDATE_EXTERNAL_DEPENDENCIES외부 의존 관계 구성 변경config: 변경 후 외부 의존 관계 구성 파일 전체 내용의 맵
UPDATE_ENVIRONMENT_PROPERTIES소유 관계와 운영 책임 등의 속성 변경아래 속성 필드
DELETE_ENVIRONMENT환경 삭제deployment: 환경 ID 문자열, namespaces: 등록을 해제할 Namespace ID 집합
EXIT_BOOTSTRAP_MODE초기 설정 모드 종료요청 필드 없음. 환경 참조에서 정보 조회

UPDATE_ENVIRONMENT_SETTINGS.settings에는 기본 릴리스 채널, 유지보수 시간대와 소유 관계 설정 등이 들어가며 개별 배포 개체 항목은 포함하지 않습니다.

환경 속성 변경 필드

필드타입의미와 존재 조건
deploymentId문자열환경 ID
owner문자열소유 팀 RID. 변경하지 않으면 없음
enableOperationalResponsibility불리언환경의 운영 책임 활성 여부
coOwner집합공동 소유 팀 RID
registerToNamespaces집합환경이 등록되는 Namespace ID
supportOverride문자열지원 수준 재정의. 설정하지 않으면 없음

이 입력의 Namespace ID와 Kubernetes 개체의 k8sNamespace는 별도로 다룹니다.

공간 설정

type발생하는 작업request 필드
MODIFY_SPACE_SETTINGS공간 수준 설정 변경settingName: 설정 식별자 문자열. 예: allow-upgrades
MODIFY_RESOURCE_OVERRIDE_SPACE_SETTINGS공간 설정의 리소스 수준 재정의 변경settingName: 재정의할 설정 식별자 문자열

참조 리소스의 키는 설정에 따라 달라지며 변경 대상 리소스를 기준으로 정해집니다. 특정 설정만 처리하는 정책은 request.settingName도 검사합니다.

번들 전송 파이프라인 변경

type발생하는 작업참조 리소스 키request 필드
CREATE_PIPELINE파이프라인 생성pipelineRootsettings: 파이프라인 설정 맵
UPDATE_PIPELINE기존 파이프라인 설정 변경bundlingpipelinepipelineRid: RID 문자열, settings: 변경 후 설정 맵
UPDATE_PIPELINE_TRANSFER_TARGET전송 대상 연결 변경항상 transferTarget, 기존 파이프라인 연결을 바꾸는 경우에만 bundlingpipeline없음. 전송 대상 참조에서 정보 조회
DELETE_PIPELINE파이프라인 삭제bundlingpipelinepipelineRid: 삭제할 파이프라인 RID 문자열
ARCHIVE_PIPELINE파이프라인 보관bundlingpipelinepipelineRid: 보관할 파이프라인 RID 문자열
UNARCHIVE_PIPELINE파이프라인 보관 해제bundlingpipelinepipelineRid: 보관을 해제할 파이프라인 RID 문자열

새 파이프라인을 만들면서 전송 대상도 연결하는 경우에는 UPDATE_PIPELINE_TRANSFER_TARGET 입력에 기존 파이프라인 참조가 없습니다.

settings 내부 필드

생성과 갱신은 같은 설정 구조를 사용합니다.

필드타입의미
id문자열공간 안에서 고유한 파이프라인 이름
description문자열설명
schedule객체번들 생성 일정. type은 never, cron 등의 값이며 cron 유형에는 cron 하위 필드도 포함
transferMechanism문자열diode 등의 번들 전송 방식
connections맵전송 대상 ID가 키, 연결 유형 문자열의 집합이 값
globalSelectors객체생성할 번들에 포함되는 리소스 선택 조건

팀 변경

type발생하는 작업참조 리소스 키식별 필드
CREATE_TEAM새 팀 생성teamRootname: 공간 안에서 고유하며 변경할 수 없는 팀 슬러그 문자열
UPDATE_TEAM구성원 또는 팀 설정 변경teamteamRid: 변경할 팀 RID 문자열
DELETE_TEAM팀 삭제teamteamRid: 삭제할 팀 RID 문자열

생성과 갱신 요청에는 다음 구성원 필드도 있습니다. 삭제 요청에는 위 식별 필드만 있습니다.

필드타입구성원 대상
admins집합관리자 그룹 위치자
members집합일반 구성원 그룹 위치자
adminUsers집합관리자 사용자 위치자
memberUsers집합일반 구성원 사용자 위치자

각 위치자는 name 문자열과 realm 문자열을 포함합니다. 갱신 요청에는 변경 후의 구성원 집합이 들어갑니다.

제품 설정

다음 유형은 모두 referencedResources.product를 제공합니다.

type발생하는 작업request 필드
CREATE_PRODUCT_SETTINGS제품 설정 생성productId, orTeam, operationalResponsibilityExcludedEnvironments
UPDATE_PRODUCT_SETTINGS기존 제품 설정 변경productId, orTeam, operationalResponsibilityExcludedEnvironments
DELETE_PRODUCT_SETTINGS제품 설정 삭제product: 대상 제품 ID 문자열

생성과 갱신에 사용하는 필드의 의미는 다음과 같습니다.

필드타입의미
productId문자열설정 대상 제품 ID
orTeam문자열소유 및 운영 책임 팀 RID
operationalResponsibilityExcludedEnvironments집합이 제품의 운영 책임에서 제외할 환경 ID

외부 통신 정책

CREATE_EGRESS_POLICIES

외부 통신 정책 생성이며 참조 키는 egressPolicyRoot입니다. request.data는 생성할 정책의 목록입니다.

각 정책의 필드타입의미와 존재 조건
address객체목적지 주소. type이 dns이면 address.dns 문자열, cidr이면 address.cidr 문자열
port객체port 정수. 범위를 지정하면 선택적인 portRangeEnd 정수 포함
transportProtocol문자열TLS, TCP, HTTP 등의 전송 프로토콜
network객체경로 종류를 나타내는 type 포함. 예: direct, privateLink, secureTunnels, agent, bucketEndpoint, catalogBucket, bcap
description문자열선택적인 설명. 제공하지 않으면 없음

특정 포트만 허용하려면 시작 포트와 함께 선택적인 끝 포트도 검사해야 합니다. 이 구조는 앞의 network-security 개체 규칙과 다르므로 각 변경 유형의 필드를 사용합니다.

DELETE_EGRESS_POLICIES

외부 통신 정책 삭제이며 참조 키는 egressPolicyRoot입니다. request.data는 삭제할 정책 RID 문자열의 집합입니다.

터미널 접근 허용

CREATE_TERMINAL_ACCESS_GRANT는 터미널 접근 허용 생성 요청입니다. 참조 키는 environment입니다.

필드타입의미
environment문자열접근을 요청한 환경 ID
data맵허용할 접근의 상세 정보. 접근 허용 유형에 따라 내용이 다름

취약점 억제 추가와 변경

MODIFY_VULNERABILITY_SUPPRESSIONS의 참조 키는 vulnerabilitySuppression입니다.

request 필드타입의미
spaceRid문자열공간 RID
vulnerabilitySuppressions목록추가하거나 바꿀 CVE 기반 억제 항목
scannerSuppressions맵스캐너 이름별 억제 항목 목록
imageNameVulnerabilitySuppressions맵정확한 이미지 이름별 억제 항목 목록
imagePrefixVulnerabilitySuppressions맵이미지 이름 접두사별 억제 항목 목록
productIdVulnerabilitySuppressions맵제품 ID별 억제 항목 목록
imageEndOfSupportLifeSuppressions맵이미지 이름별 지원 수명 종료 억제 객체

일반 억제 목록의 항목은 다음 구조입니다.

필드구조
suppressionrationale 사유 문자열, category 범주 문자열, validUntil 유효 기한 타임스탬프
vulnerabilitiesToSuppress억제할 CVE ID 문자열 집합. 예: CVE-2021-44228

지원 수명 종료 억제의 값은 같은 suppression 구조를 사용하지만 vulnerabilitiesToSuppress를 포함하지 않습니다.

취약점 억제 제거

REMOVE_VULNERABILITY_SUPPRESSIONS의 참조 키도 vulnerabilitySuppression입니다.

request 필드타입의미
spaceRid문자열공간 RID
vulnerabilitySuppressions집합제거할 CVE ID 문자열. 예: CVE-2021-44228
scannerSuppressions맵스캐너 이름이 키, 제거할 CVE ID 문자열 집합이 값
imageNameVulnerabilitySuppressions맵이미지 이름이 키, 제거할 CVE ID 문자열 집합이 값
imagePrefixVulnerabilitySuppressions맵이미지 이름 접두사가 키, 제거할 CVE ID 문자열 집합이 값
productIdVulnerabilitySuppressions맵제품 ID가 키, 제거할 CVE ID 문자열 집합이 값
imageEndOfSupportLifeSuppressions집합지원 수명 종료 억제를 제거할 이미지 이름

관리 재정의

다음 세 유형에는 referencedResources 키가 없습니다.

type발생하는 작업request 필드
CREATE_MANAGEMENT_OVERRIDE관리 재정의 생성name, owner, products, services
UPDATE_MANAGEMENT_OVERRIDE관리 재정의 변경name, owner, products, services
DELETE_MANAGEMENT_OVERRIDE관리 재정의 삭제name: 삭제할 관리 재정의 식별자 문자열

생성과 갱신 필드는 다음과 같습니다.

필드타입의미
name문자열관리 재정의의 고유 식별자
owner문자열관리 재정의를 소유할 팀의 RID
products집합적용 대상 제품 ID
services집합적용 대상 서비스 위치자. 각 항목에 stack 문자열과 serviceName 문자열 포함

갱신 요청은 변경 후 제품과 서비스 집합을 전달합니다. 이 유형의 정책에서 환경이나 설치본 참조가 있다고 가정하여 접근하면 안 됩니다.