32장. 보안
다음 섹션에서는 자동화 컨트롤러에서 파일 시스템 보안을 처리하고 제어하는 방법에 대해 설명합니다.
모든 플레이북은 awx 파일 시스템 사용자를 통해 실행됩니다. 실행 중인 작업의 경우 자동화 컨트롤러는 Linux 컨테이너를 사용하여 작업 격리를 제공합니다. 이렇게 보호하면 작업이 해당 작업 템플릿의 프로젝트 디렉터리에서 플레이북, 역할 및 데이터에만 액세스할 수 있습니다.
인증 정보 보안의 경우 잠긴 SSH 키를 업로드하고 잠금 해제 암호를 "묻기"로 설정하도록 선택할 수 있습니다. 또한 SSH 인증 정보 또는 sudo 암호를 데이터베이스에 저장하는 대신 시스템 프롬프트를 선택할 수도 있습니다.
32.1. 플레이북 액세스 및 정보 공유 링크 복사링크가 클립보드에 복사되었습니다!
자동화 컨트롤러에서 자동화 실행 환경 및 Linux 컨테이너를 사용하면 플레이북에서 프로젝트 디렉터리 외부의 파일을 읽지 못합니다.
기본적으로 컨테이너 내부의 ansible-playbook 프로세스에 노출되는 데이터는 현재 사용 중인 프로젝트뿐입니다.
작업 설정에서 이를 사용자 지정하고 호스트에서 컨테이너에 추가 디렉터리를 노출할 수 있습니다.
32.1.1. 격리 기능 및 변수 링크 복사링크가 클립보드에 복사되었습니다!
자동화 컨트롤러는 컨테이너 기술을 사용하여 작업을 서로 분리합니다. 기본적으로 현재 프로젝트만 작업 템플릿을 실행하는 컨테이너에 노출됩니다.
추가 디렉터리를 노출해야 하는 경우 플레이북 실행을 사용자 지정해야 합니다. 작업 격리를 구성하려면 변수를 설정할 수 있습니다.
기본적으로 자동화 컨트롤러는 시스템의 tmp 디렉토리(기본적으로/tmp )를 스테이징 영역으로 사용합니다. 작업 설정 페이지의 작업 실행 경로 필드 또는 /api/v2/settings /jobs 의 REST API에서 변경할 수 있습니다.
AWX_ISOLATION_BASE_PATH = "/opt/tmp"
AWX_ISOLATION_BASE_PATH = "/opt/tmp"
구체적으로 호스트에서 플레이북이 실행되는 컨테이너로 노출되어야 하는 추가 디렉터리가 있는 경우 작업 설정 페이지의 분리 작업 필드에 노출할 경로 또는 /api/v2/settings /jobs 의 REST API에서 지정할 수 있습니다.
AWX_ISOLATION_SHOW_PATHS = ['/list/of/', '/paths']
AWX_ISOLATION_SHOW_PATHS = ['/list/of/', '/paths']
플레이북에서 AWX_ISOLATION_SHOW_PATHS 에 정의된 키 또는 설정을 사용해야 하는 경우 이 파일을 /var/lib/awx/.ssh 에 추가합니다.
여기에서 설명하는 필드는 작업 설정 페이지에서 확인할 수 있습니다.