Atlassian Bamboo 빌드에서 파일 시스템 액세스를 제한하는 방법은 무엇입니까?


12

우분투에서 Atlassian Bamboo를 실행하고 있습니다. 개발자가 빌드를 설정하면 셸 스크립트 작업을 실행할 수 있습니다. 이는 빌드중인 코드베이스에서 (사용자 정의) 명령을 실행하는 데 유용합니다.

그러나 실행되는 스크립트는 Bamboo 작업 디렉토리 ( <Bamboo-home-dir>/xml-data/build-dir/JOB_KEY) 의 작업 디렉토리 외부에서 파일 시스템에 액세스 할 수도 있습니다 . 따라서 JOB_A는 JOB_B :의 파일에도 액세스 할 수 있습니다 cd ../JOB_B.

이 액세스를 제한 할 가능성이 있습니까?

추신 : Bamboo의 빌드 (로컬 또는 원격) 에이전트가 빌드를 실행하고 에이전트별로 다른 프로젝트를 빌드 할 수 있다는 사실을 알고 있습니다. 그러나 동일한 에이전트가 두 개의 프로젝트를 빌드하면 프로젝트는 서로의 파일에 액세스 할 수 있습니다.

답변:


9

현재 동일한 에이전트에서 실행할 수있는 작업이 서로 상호 작용하지 못하도록 제한하는 기능은 없습니다. 이런 종류의 세분성을 요구하는 많은 기능 요청이 있지만, 귀하의 질문을 올바르게 이해하면 가장 적합한 요청은 BAM-2504 Jira Ticket입니다.

제품 라인에 큰 차이가 있습니다. 내가 찾은 유일한 솔루션은 위에 링크 된 요청에서 제안한 것과 유사합니다. 기본적으로 대나무 프로세스는 프로젝트를 나타내는 사용자를 사칭하기에 충분한 권한으로 실행해야합니다 별도로 보관하고 싶습니다.

일단 이런 종류의 메커니즘을 갖추면 프로젝트 또는 제작자 등에 따라 모든 계획이 가장 불가능한 계정 중 하나로 실행되도록해야합니다.

실제로 액세스 제어가 존재하는 방식은 관리자가 아닌 사용자가 자신의 계획을 편집하고 작성하지 않고 필요한 권한을 분할 할 수 있도록 모든 계획을 설정해야하는 핵심 관리자가 거의 없음을 의미합니다.

"수백 명의 사용자"유형의 범위에 들어 가지 않는 이러한 접근 방식이 실현 가능하지 않은 경우, 빌드 작업이 서로 상호 작용하는 것을 막고 시도하기 위해 실제로 할 수있는 유일한 방법은 대나무가 제공하는 매우 약한 컨트롤.

나는 이것을하기 위해 두 가지 접근법을 시도했다.

  1. 로컬 에이전트 및 Bamboo 인스턴스에 대한 모든 다른 프로젝트 / 팀 / 무엇을 삭제하거나 손상 시키거나 (모든 기능을 제거) BYO 빌드 서버로 강제 실행해야합니다. 대부분의 경우 에이전트 비용에 관여 한 것은 잠재적 인 데이터 유출 비용이나 악의적 인 계획 상호 작용 비용과 비교하여 사소한 것입니다.
  2. 계획에 관련된 민감한 데이터가 있거나 있다고 생각되는 프로젝트는 빌드 후 항상 환경을 위생적으로 유지해야합니다. 이를 통해 도구를 관리하는 팀과 계획을 작성하는 프로젝트에 부담이 가해져 잠재적으로 다른 사람이 사용할 수없는 정보를 방어 적으로 정리해야합니다.

어느 솔루션도 완벽에 가깝지는 않지만 공유 대나무 인스턴스가있는 경우 시행 할 수있는만큼의 분리에 관한 나의 지식에 가장 가깝습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.