외부 제어 API
외부 서비스를 사용하는 검사의 상태를 설정하는 외부 제어 API입니다.
외부 제어 API를 사용하여 외부 서비스를 사용하는 검사의 상태를 설정합니다. 주기적인 ping 기능으로 외부 제어를 구성할 수 있습니다. ping이 활성화된 경우(기본값), GitLab은 12시간마다 제어 상태를 자동으로 pending 으로 재설정합니다. ping이 비활성화된 경우 제어 상태는 API 호출을 통해서만 업데이트됩니다. 외부 제어 상태 설정 # 히스토리 GitLab 17.11에서 도입 되었습니다. 단일 외부 제어의 경우 API를 사용하여 외부 서비스의 검사를 제어가 통과 또는 실패했음을 GitLab에 알립니다. 전제 조건 보안을 위해 HMAC, Timestamp, Nonce 인증을 사용해야 합니다. PATCH /api/v4/projects/:id/compliance_external_controls/:external_control_id/status HTTP 헤더: 헤더 유형 필수 설명 X-Gitlab-Timestamp string 예 현재 Unix 타임스탬프. X-Gitlab-Nonce string 예 재전송 공격을 방지하기 위한 임의 문자열 또는 토큰. X-Gitlab-Hmac-Sha256 string 예 요청의 HMAC-SHA256 서명. HMAC-SHA256 서명을 계산하려면: 다음 순서로 값을 연결합니다: X-Gitlab-Timestamp X-Gitlab-Nonce 요청의 전체 경로 status=<status> 형식으로 포맷된 status 속성 값 비밀 키를 사용하여 연결된 문자열의 HMAC-SHA256을 계산합니다. 지원되는 속성: 속성 유형 필수 설명 id integer 예 프로젝트 ID. external_control_id integer 예 외부 제어 ID. status string 예 제어를 통과로 표시하려면 pass , 실패로 표시하려면 fail 로 설정합니다. 성공하면 200 OK 와 다음 응답 속성을 반환합니다: 속성 유형 설명 status string 제어에 설정된 상태. 예시 요청: curl --request PATCH \ --header "PRIVATE-TOKEN: <your_access_token>" \ --header "X-Gitlab-Timestamp: <X-Gitlab-Timestamp>" \ --header "X-Gitlab-Nonce: <X-Gitlab-Nonce>" \ --header "X-Gitlab-Hmac-Sha256: <X-Gitlab-Hmac-Sha256>" \ --header "Content-Type: application/json" \ --data '{"status": "pass"}' \ --url "https://gitlab.example.com/api/v4/projects/<id>/compliance_external_controls/<external_control_id>/status" 예시 응답: { "status" : "pass" } 관련 항목 # 컴플라이언스 프레임워크
