12장. 프로젝트 서명 및 확인
프로젝트 서명 및 확인을 통해 프로젝트 디렉터리의 파일에 서명한 다음 내용이 어떤 방식으로든 변경되었는지 또는 프로젝트에서 파일이 예기치 않게 추가 또는 제거되었는지 확인할 수 있습니다. 이렇게 하려면 서명을 위한 개인 키와 확인을 위한 일치하는 공개 키가 필요합니다.
프로젝트 유지 관리자의 경우 콘텐츠에 서명하는 데 지원되는 방법은 제공된 CLI( 명령줄 인터페이스)를 사용하여 ansible-
sign 유틸리티를 사용하는 것입니다.
CLI는 GPG( GNU Privacy Guard )와 같은 암호화 기술을 사용하여 프로젝트 내의 파일이 어떤 방식으로든 변조되지 않았는지 확인하는 것을 목표로 합니다. 현재 GPG는 서명 및 유효성 검사에 지원되는 유일한 수단입니다.
자동화 컨트롤러는 서명된 콘텐츠를 확인하는 데 사용됩니다. 일치하는 공개 키가 서명된 프로젝트와 연결되면 자동화 컨트롤러에서 서명 중에 포함된 파일이 변경되지 않았는지 확인하고 파일이 예기치 않게 추가 또는 제거되었는지 확인합니다. 서명이 유효하지 않거나 파일이 변경된 경우 프로젝트가 업데이트되지 않고 프로젝트를 사용하는 작업이 시작되지 않습니다. 프로젝트의 확인 상태는 수정되지 않은 안전한 콘텐츠만 작업에서 실행할 수 있도록 합니다.
리포지토리가 이미 서명 및 확인을 위해 구성된 경우 프로젝트 변경을 위한 일반적인 워크플로는 다음과 같습니다.
- 프로젝트 리포지토리가 이미 설정되어 있으며 파일을 변경하려고 합니다.
다음 명령을 변경하고 실행합니다.
ansible-sign project gpg-sign /path/to/project
이 명령은 체크섬 매니페스트를 업데이트하고 서명합니다.
- 변경 사항, 업데이트된 체크섬 매니페스트, 서명을 리포지토리에 커밋합니다.
프로젝트를 동기화하고 자동화 컨트롤러에서 새 변경 사항을 가져오고, 자동화 컨트롤러의 프로젝트와 연결된 공개 키가 체크섬 매니페스트가 서명된 개인 키와 일치하는지 확인한 다음(이렇게 하면 체크섬 매니페스트 자체를 변조하지 않음) 매니페스트에서 각 파일의 체크섬을 다시 계산하여 체크섬이 변경되지 않았는지 확인합니다(따라서 파일이 변경되지 않음). 또한 모든 파일이 다음에 대한 책임이 있는지 확인합니다.
파일은 MANIFEST.in
파일에 포함되거나 제외되어야 합니다. 이 파일에 대한 자세한 내용은 Sign a project (프로젝트 서명)를 참조하십시오. 파일이 예기치 않게 추가되거나 제거되면 확인에 실패합니다.
12.1. 사전 요구 사항
RHEL 노드를 다음과 같이 올바르게 구독해야 합니다.
- baseos 및 appstream 리포지토리가 포함된 RHEL 서브스크립션을 활성화해야 합니다.
Red Hat Ansible Automation Platform 서브스크립션 및 적절한 채널을 활성화해야 합니다.
ansible-automation-platform-2.4-for-rhel-8-x86_64-rpms for RHEL 8 ansible-automation-platform-2.4-for-rhel-9-x86_64-rpms for RHEL 9
콘텐츠에 서명하려면 유효한 GPG 공용 또는 개인 키 쌍이 필요합니다. 자세한 내용은 GPG 키 쌍을 만드는 방법을 참조하십시오.
GPG 키에 대한 자세한 내용은 GnuPG 설명서 를 참조하십시오.
다음 명령을 사용하여 기본 GnuPG 인증 키에 유효한 GPG 키 쌍이 있는지 확인합니다.
gpg --list-secret-keys
이 명령에서 출력을 생성하지 않거나 한 줄의 출력을 생성하지 않으면
trustdb가 생성된
후 기본 키링에 시크릿 키가 없습니다. 이 경우 GPG 키 쌍을 만드는 방법을 참조하여 진행하기 전에 새 키 쌍을 만드는 방법을 알아봅니다. 다른 출력을 생성하는 경우 유효한 시크릿 키가 있으며ansible-sign
을 사용할 준비가 된 것입니다.