외부 제어 API
외부 서비스를 사용하는 검사의 상태를 설정하는 외부 제어 API입니다.
외부 제어 API를 사용하여 외부 서비스를 사용하는 검사의 상태를 설정합니다. 주기적인 ping 기능으로 외부 제어를 구성할 수 있습니다. ping이 활성화된 경우(기본값), GitLab은 12시간마다 제어 상태를 자동으로 pending 으로 재설정합니다. ping이 비활성화된 경우 제어 상태는 API 호출을 통해서만 업데이트됩니다. 외부 제어 상태 설정 # 히스토리 GitLab 17.11에서 도입 되었습니다. 지정된 외부 제어의 상태를 설정합니다. 이 작업을 사용하여 외부 서비스의 검사를 제어가 통과 또는 실패했음을 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" } 관련 항목 # 컴플라이언스 프레임워크
