InfoGrab Docs

클러스터 인증서를 통한 접근 제어(RBAC 또는 ABAC) (지원 중단됨)

요약

이 기능은 GitLab 14.5에서 지원 중단되었습니다. GitLab에서 클러스터를 생성할 때 다음 중 어느 것을 생성할지 선택합니다: GitLab이 클러스터를 생성할 때 새로 생성된 클러스터를 관리하기 위해 default 네임스페이스에 cluster-admin 권한이 있는 gitlab 서비스 계정이 생성됩니다.

Warning

이 기능은 GitLab 14.5에서 지원 중단되었습니다. 클러스터를 GitLab에 연결하려면 Kubernetes용 GitLab 에이전트를 사용하세요.

GitLab에서 클러스터를 생성할 때 다음 중 어느 것을 생성할지 선택합니다:

GitLab이 클러스터를 생성할 때 새로 생성된 클러스터를 관리하기 위해 default 네임스페이스에 cluster-admin 권한이 있는 gitlab 서비스 계정이 생성됩니다.

Helm도 설치된 각 애플리케이션에 대해 추가 서비스 계정과 기타 리소스를 생성합니다. 자세한 내용은 각 애플리케이션의 Helm 차트 문서를 참조하세요.

기존 Kubernetes 클러스터를 추가하는 경우, 계정의 토큰에 클러스터에 대한 관리자 권한이 있는지 확인하세요.

GitLab이 생성하는 리소스는 클러스터 유형에 따라 다릅니다.

중요 사항#

접근 제어에 대해 다음 사항을 참고하세요:

  • 환경별 리소스는 클러스터가 GitLab에 의해 관리되는 경우에만 생성됩니다.
  • GitLab 12.2 이전에 클러스터를 생성한 경우 모든 프로젝트 환경에 대해 단일 네임스페이스를 사용합니다.

RBAC 클러스터 리소스#

GitLab은 RBAC 클러스터에 대해 다음 리소스를 생성합니다.

이름 유형 세부 정보 생성 시점
gitlab ServiceAccount default 네임스페이스 새 클러스터 생성 시
gitlab-admin ClusterRoleBinding cluster-admin 역할 새 클러스터 생성 시
gitlab-token Secret gitlab ServiceAccount 토큰 새 클러스터 생성 시
환경 네임스페이스 Namespace 환경별 리소스 포함 클러스터에 배포 시
환경 네임스페이스 ServiceAccount 환경의 네임스페이스 사용 클러스터에 배포 시
환경 네임스페이스 Secret 환경 ServiceAccount 토큰 클러스터에 배포 시
환경 네임스페이스 RoleBinding admin 역할 클러스터에 배포 시

ABAC 클러스터 리소스#

GitLab은 ABAC 클러스터에 대해 다음 리소스를 생성합니다.

이름 유형 세부 정보 생성 시점
gitlab ServiceAccount default 네임스페이스 새 클러스터 생성 시
gitlab-token Secret gitlab ServiceAccount 토큰 새 클러스터 생성 시
환경 네임스페이스 Namespace 환경별 리소스 포함 클러스터에 배포 시
환경 네임스페이스 ServiceAccount 환경의 네임스페이스 사용 클러스터에 배포 시
환경 네임스페이스 Secret 환경 ServiceAccount 토큰 클러스터에 배포 시

러너 보안#

러너는 기본적으로 특권 모드가 활성화되어 있어 특수 명령을 실행하고 Docker in Docker를 실행할 수 있습니다. 이 기능은 Auto DevOps job 일부를 실행하는 데 필요합니다. 이는 컨테이너가 특권 모드로 실행됨을 의미하므로 몇 가지 중요한 세부 사항을 알고 있어야 합니다.

특권 플래그는 실행 중인 컨테이너에 모든 기능을 부여하며, 이는 결국 호스트가 할 수 있는 거의 모든 작업을 수행할 수 있음을 의미합니다. 사실상 루트 액세스 권한을 가진 임의의 이미지에 docker run 작업을 수행하는 것과 관련된 고유한 보안 위험에 주의하세요.

특권 모드에서 러너를 사용하지 않으려면 다음 중 하나를 선택하세요:

  • GitLab.com에서 인스턴스 러너를 사용합니다. 이 보안 문제가 없습니다.
  • docker+machine을 사용하는 자체 러너를 설정합니다.

클러스터 인증서를 통한 접근 제어(RBAC 또는 ABAC) (지원 중단됨)

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed
원문 보기
요약

이 기능은 GitLab 14.5에서 지원 중단되었습니다. GitLab에서 클러스터를 생성할 때 다음 중 어느 것을 생성할지 선택합니다: GitLab이 클러스터를 생성할 때 새로 생성된 클러스터를 관리하기 위해 default 네임스페이스에 cluster-admin 권한이 있는 gitlab 서비스 계정이 생성됩니다.

Warning

이 기능은 GitLab 14.5에서 지원 중단되었습니다. 클러스터를 GitLab에 연결하려면 Kubernetes용 GitLab 에이전트를 사용하세요.

GitLab에서 클러스터를 생성할 때 다음 중 어느 것을 생성할지 선택합니다:

GitLab이 클러스터를 생성할 때 새로 생성된 클러스터를 관리하기 위해 default 네임스페이스에 cluster-admin 권한이 있는 gitlab 서비스 계정이 생성됩니다.

Helm도 설치된 각 애플리케이션에 대해 추가 서비스 계정과 기타 리소스를 생성합니다. 자세한 내용은 각 애플리케이션의 Helm 차트 문서를 참조하세요.

기존 Kubernetes 클러스터를 추가하는 경우, 계정의 토큰에 클러스터에 대한 관리자 권한이 있는지 확인하세요.

GitLab이 생성하는 리소스는 클러스터 유형에 따라 다릅니다.

중요 사항#

접근 제어에 대해 다음 사항을 참고하세요:

  • 환경별 리소스는 클러스터가 GitLab에 의해 관리되는 경우에만 생성됩니다.
  • GitLab 12.2 이전에 클러스터를 생성한 경우 모든 프로젝트 환경에 대해 단일 네임스페이스를 사용합니다.

RBAC 클러스터 리소스#

GitLab은 RBAC 클러스터에 대해 다음 리소스를 생성합니다.

이름 유형 세부 정보 생성 시점
gitlab ServiceAccount default 네임스페이스 새 클러스터 생성 시
gitlab-admin ClusterRoleBinding cluster-admin 역할 새 클러스터 생성 시
gitlab-token Secret gitlab ServiceAccount 토큰 새 클러스터 생성 시
환경 네임스페이스 Namespace 환경별 리소스 포함 클러스터에 배포 시
환경 네임스페이스 ServiceAccount 환경의 네임스페이스 사용 클러스터에 배포 시
환경 네임스페이스 Secret 환경 ServiceAccount 토큰 클러스터에 배포 시
환경 네임스페이스 RoleBinding admin 역할 클러스터에 배포 시

ABAC 클러스터 리소스#

GitLab은 ABAC 클러스터에 대해 다음 리소스를 생성합니다.

이름 유형 세부 정보 생성 시점
gitlab ServiceAccount default 네임스페이스 새 클러스터 생성 시
gitlab-token Secret gitlab ServiceAccount 토큰 새 클러스터 생성 시
환경 네임스페이스 Namespace 환경별 리소스 포함 클러스터에 배포 시
환경 네임스페이스 ServiceAccount 환경의 네임스페이스 사용 클러스터에 배포 시
환경 네임스페이스 Secret 환경 ServiceAccount 토큰 클러스터에 배포 시

러너 보안#

러너는 기본적으로 특권 모드가 활성화되어 있어 특수 명령을 실행하고 Docker in Docker를 실행할 수 있습니다. 이 기능은 Auto DevOps job 일부를 실행하는 데 필요합니다. 이는 컨테이너가 특권 모드로 실행됨을 의미하므로 몇 가지 중요한 세부 사항을 알고 있어야 합니다.

특권 플래그는 실행 중인 컨테이너에 모든 기능을 부여하며, 이는 결국 호스트가 할 수 있는 거의 모든 작업을 수행할 수 있음을 의미합니다. 사실상 루트 액세스 권한을 가진 임의의 이미지에 docker run 작업을 수행하는 것과 관련된 고유한 보안 위험에 주의하세요.

특권 모드에서 러너를 사용하지 않으려면 다음 중 하나를 선택하세요:

  • GitLab.com에서 인스턴스 러너를 사용합니다. 이 보안 문제가 없습니다.
  • docker+machine을 사용하는 자체 러너를 설정합니다.