소스 통제 사용 지침
와 결합 애플리케이션 리포지토리 된 소스 통제(Git)는 사용자 지정 범위가 지정된 애플리케이션에 대해 선호되는 배포 방법입니다. 사용하는 시스템 업데이트 세트 것은 애플리케이션 개발을 위해 승인된 배포 메커니즘이기도 합니다.
소스 통제를 사용하는 이유는 무엇인가요?
- 전체 변경 이력
- Git은 개별 파일 수준에서 diff, 검토 및 되돌리기 기능을 사용할 수 있는 기능과 함께 누가, 언제, 왜 변경했는지와 같은 모든 변경에 대한 완전하고 감사 가능한 기록을 제공합니다.
- 분기 및 병렬 개발
- 여러 개발자가 충돌하는 업데이트 세트 없이 동시에 서로 다른 기능으로 작업할 수 있습니다.
- 코드 검토 워크플로우
- 끌어오기 요청 및 병합 검토는 변경 내용이 게시되기 전에 동료 검토를 적용하여 오류와 보안 감독을 줄입니다.
- 버전이 지정된 릴리스
- 태그와 분기는 버전에 애플리케이션 리포지토리 직접 매핑되므로 안정적인 롤백 및 핫픽스 워크플로우가 가능합니다.
- CI/CD 통합
- , GitHub Actions및 같은 외부 CI/CD 도구는 Jenkins및 CLI를 사용하여 ServiceNow SDK 빌드, 테스트 및 배포를 트리거할 수 Azure DevOps 있습니다.
언제 적절합니까 시스템 업데이트 세트 ?
시스템 업데이트 세트 다음에 대한 빠른 운영 변경을 위해 값을 유지합니다.
- 전역 범위 구성입니다.
- 전체 소스 통제 파이프라인에서 허용할 수 없는 지연이 발생할 경우 긴급 핫픽스입니다.
- 레거시 개발 관행에서 아직 전환 중인 조직입니다.
- 워크플로우가 기본적으로 적용되지 않는 애플리케이션 애플리케이션 리포지토리 의 ServiceNow® Store 변경 사항 또는 플러그인입니다.
보안 지침
- ACL(접근 제어 목록)을 통해 최소 권한 적용
- 광범위한 시스템 역할에 의존하기보다는 애플리케이션별 사용자 지정 역할을 정의합니다. 최적의 성능과 보안을 위해 역할의 평가 순서를 먼저 사용하고, 조건, 스크립트를 차례로 사용하도록 ACL을 구성합니다.
- 기본값으로 거부 사용
- 와일드카드 ACL이 기본적으로 관리자 전용으로 액세스를 제한할 수 있도록 glide.sm.default_mode 속성은 거부 모드로 유지되어야 합니다.
- Instance Scan 자동 실행
- 애플리케이션 배포에 대해 시스템 업데이트 세트 실행되도록 구성 인스턴스 스캔 합니다. 이렇게 하면 빈 ACL, 지나치게 허용적인 액세스 및 코딩 표준 위반이 프로덕션에 도달하기 전에 이를 포착합니다.
- 교차 범위 액세스 보호
- 애플리케이션 교차 범위 접근 권한을 신중하게 구성합니다. 모든 범위에 대한 액세스를 열도록 기본 설정하지 마십시오.
- 다단계 인증 및 IP 제한 구현
- 배포를 수행하는 모든 대화형 계정은 다단계 인증을 사용해야 합니다. 자동화된 배포를 위한 서비스 계정은 IP 범위별로 제한되어야 하며 역할의 범위가 엄격해야 합니다.
- 모든 항목 감사
- 액세스 분석기를 사용하여 사용자, 그룹 및 역할 권한을 정기적으로 검토합니다. 모니터링을 위해 배포 로그 및 액세스 제어 활동을 SIEM 플랫폼으로 전달합니다.
- 코드에서 데이터 분리
- 애플리케이션 데이터 기록은 배포에 애플리케이션 리포지토리 포함되지 않습니다. 적절한 데이터 분류를 사용하여 통제된 별도의 프로세스를 통해 참조 데이터와 시드 데이터를 관리합니다.
배포 방법 결정 매트릭스
다음 표에서는 시나리오 및 권장 배포 방법을 보여 줍니다.
| 시나리오 | 권장 접근 방식 |
|---|---|
| 새 사용자 지정 범위가 지정된 애플리케이션 | 소스 통제 + 애플리케이션 리포지토리 + 앱 엔진 관리 센터 파이프라인 및 배포, 또는 ReleaseOps. |
| 전역 범위 구성 변경 | 와 함께 인스턴스 스캔 사용 시스템 업데이트 세트 하거나 전역 애플리케이션을 사용하여 애플리케이션 리포지토리. |
| 긴급 프로덕션 핫픽스 | 속도 및 직후 소스 통제(Git)로 다시 포트하는 데 사용합니다 시스템 업데이트 세트 . |
| 앱 엔진 스튜디오의 일반 사용자 개발자 앱 | 안내 승인 워크플로우와 함께 사용합니다 앱 엔진 관리 센터 파이프라인 및 배포 . |
| 다중 팀 릴리스 조정: | 릴리스 트레인 및 플레이북 확인에 사용합니다ReleaseOps. |