InfoGrab Docs

Teleport Identity Security로 GitLab 접근 패턴 탐색

요약

Access Graph를 사용하는 Identity Security로 GitLab 계정 내 접근 패턴에 대한 인사이트를 얻으세요. Access Graph is a feature of the Teleport Identity Security product available to Teleport Enterprise edition customers.

Access Graph를 사용하는 Identity Security로 GitLab 계정 내 접근 패턴에 대한 인사이트를 얻으세요. 모든 권한, 사용자, 그룹, 프로젝트를 스캔하여 GitLab 환경 내 권한 모델을 개선하는 데 도움이 되는 시각적 표현을 제공합니다. 이 기능을 통해 다음과 같은 질문에 답할 수 있습니다:

  • 사용자가 접근할 수 있는 프로젝트는 무엇인가?
  • 어떤 사용자가 프로젝트에 쓰기 권한을 가지고 있는가?

Access Graph is a feature of the Teleport Identity Security product available to Teleport Enterprise edition customers.

To verify that Access Graph is set up correctly for your cluster, sign in to the Teleport Web UI, click the Identity Security sidebar button, and then the Browse menu item. Identities, resources, etc. should be listed.

작동 방식#

Access Graph는 사용자, 프로젝트, 그룹을 포함한 다양한 GitLab 리소스를 동기화합니다. 이러한 리소스는 Access Graph 페이지에서 자세히 설명된 그래프 표현을 사용하여 시각화됩니다.

가져오기 과정은 두 가지 주요 단계로 이루어집니다:

GitLab API 폴링#

Teleport 클러스터는 구성된 GitLab 계정을 지속적으로 스캔하고 다음 리소스를 검색합니다:

  • 사용자
  • 그룹
  • 프로젝트
  • 그룹 멤버십
  • 프로젝트 멤버십

필요한 모든 리소스를 가져오면 Teleport는 이를 Access Graph에 푸시하여 GitLab 인스턴스의 최신 정보로 업데이트된 상태를 유지합니다.

리소스 가져오기#

Identity Security의 Access Graph 기능은 가져온 리소스와 그 관계를 분석하여 그래픽 표현을 만듭니다.

사전 조건#

  • 실행 중인 Teleport Enterprise 클러스터 v15.3.1 이상.
  • 계정에 Identity Security가 활성화되어 있어야 합니다.
  • GitLab v9.0 이상을 실행하는 GitLab 인스턴스.
  • 셀프 호스팅 클러스터의 경우:
    • Auth Service 구성에 최신 license.pem이 사용되고 있는지 확인합니다.
    • 실행 중인 Access Graph 노드 v1.21.4 이상. Access Graph 설정 방법은 Identity Security 페이지를 참조하세요.
    • Access Graph 서비스를 실행하는 노드는 Teleport Auth Service에서 접근할 수 있어야 합니다.

1단계/3단계. GitLab 토큰 만들기#

GitLab 통합을 설정하려면 다음 권한으로 GitLab 토큰을 만들어야 합니다:

  • read_api

GitLab 인스턴스로 이동하여 사용자 설정에 접근하고 액세스 토큰 옵션을 선택합니다. read_api 범위로 새 토큰을 만들고 생성된 토큰을 복사합니다. 자세한 내용은 GitLab 설명서를 참조하세요.

임포터는 이 토큰을 사용하여 GitLab 인스턴스에서 필요한 리소스를 가져옵니다.

Warning

GitLab 임포터는 토큰이 접근할 수 있는 리소스만 가져옵니다. 토큰과 연관된 사용자가 가져오려는 리소스에 접근/보기 위한 필요한 권한이 있는지 확인합니다.

GitLab.com 계정을 사용하는 경우 임포터는 조직의 일원이거나 토큰이 접근할 수 있는 프로젝트에 접근할 수 있는 사용자만 가져옵니다.

셀프 호스팅 GitLab 인스턴스를 사용하는 경우 임포터는 토큰이 접근할 수 있는 모든 리소스를 가져오며, 인스턴스의 일원인 모든 사용자가 포함됩니다.

토큰은 다음 단계에서 GitLab Sync 통합을 구성하는 데 사용됩니다.

2단계/3단계. Access Graph GitLab Sync 설정#

GitLab Sync 구성을 위한 설정 마법사를 시작하려면 Teleport UI에 접근하고 Identity Security 사이드바 버튼을 클릭한 다음 Integrations를 클릭합니다.

"Setup new integration" 버튼을 클릭한 다음 "Gitlab"을 선택합니다. 아직 GitLab 통합을 구성하지 않은 경우 새 Teleport GitLab 통합을 만들라는 메시지가 표시됩니다. 또는 이전에 설정된 통합을 선택할 수 있습니다.

1단계에서 만든 GitLab 토큰과 GitLab 인스턴스 도메인을 제공하라는 메시지가 표시됩니다. 토큰이 성공적으로 검증되면 Access Graph에서 가져온 리소스를 볼 수 있습니다.

3단계/3단계. Access Graph에서 GitLab 리소스 보기#

GitLab 리소스가 가져와지면 Access Graph 페이지에서 볼 수 있습니다. 그래프 표현은 GitLab 인스턴스 내 사용자, 그룹, 프로젝트 간의 관계를 보여줍니다.

사용자는 그룹이나 프로젝트에 접근하는 권한을 가질 수 있습니다. 사용자가 그룹에 접근할 수 있는 경우 해당 그룹 내의 모든 프로젝트와 하위 프로젝트에 대한 권한을 상속합니다.

그래프의 해당 노드를 클릭하여 사용자, 그룹, 프로젝트에 부여된 권한을 볼 수 있습니다.

예를 들어 사용자에게 부여된 권한을 보려면 사용자 노드를 클릭하고 컨텍스트 메뉴에서 View Access를 선택합니다. 이렇게 하면 사용자에게 부여된 권한과 접근할 수 있는 리소스가 표시됩니다.

또한 쿼리를 실행하여 Access Graph에서 특정 정보를 가져올 수 있습니다. 예를 들면:

사용자가 접근할 수 있는 모든 프로젝트 가져오기#

다음 쿼리는 사용자가 접근할 수 있는 모든 프로젝트를 가져옵니다:

SELECT * FROM access_path WHERE "identity" = '' AND source='Gitlab'

또한 다음 쿼리를 실행하여 사용자의 접근 수준(owner, maintainer, developer, guest, reporter)으로 프로젝트를 필터링할 수 있습니다:

SELECT * FROM access_path WHERE "identity" = '' AND source='Gitlab' AND action='owner'

해당 프로젝트를 가져오려면 action 파라미터를 maintainer, developer, guest, reporter로 변경합니다.

프로젝트에 쓰기 접근 권한이 있는 모든 사용자 가져오기#

다음 쿼리는 라는 이름의 프로젝트에 읽기/쓰기 접근 권한이 있는 모든 사용자를 가져옵니다:

SELECT * FROM access_path WHERE "resource" = '' AND source='Gitlab'

문제 해결#

GitLab 통합을 설정한 후 Access Graph의 Integrations 페이지에서 가져오기 프로세스 상태를 모니터링할 수 있습니다. 가져오기가 실패하면 오류 메시지가 문제를 식별하는 데 도움이 됩니다.

또한 상태를 보고 가져오기 프로세스가 현재 실행 중인지 또는 성공적으로 완료되었는지 확인할 수 있습니다.

Unauthorized 오류가 발생하면 GitLab 토큰이 리소스에 접근하는 데 필요한 권한이 있고 토큰이 유효한지 확인합니다. 토큰이 만료된 경우 새 토큰을 만들고 통합 설정을 업데이트해야 합니다.

다른 문제가 발생하는 경우 Teleport 클러스터가 GitLab 인스턴스에 접근할 수 있고 GitLab API에 접근할 수 있는지 확인합니다.

문제가 계속되면 Access Graph의 Integrations 페이지에서 오류 로그를 검사하여 자세한 내용을 확인하세요.

Teleport Identity Security로 GitLab 접근 패턴 탐색

원문 보기
요약

Access Graph를 사용하는 Identity Security로 GitLab 계정 내 접근 패턴에 대한 인사이트를 얻으세요. Access Graph is a feature of the Teleport Identity Security product available to Teleport Enterprise edition customers.

Access Graph를 사용하는 Identity Security로 GitLab 계정 내 접근 패턴에 대한 인사이트를 얻으세요. 모든 권한, 사용자, 그룹, 프로젝트를 스캔하여 GitLab 환경 내 권한 모델을 개선하는 데 도움이 되는 시각적 표현을 제공합니다. 이 기능을 통해 다음과 같은 질문에 답할 수 있습니다:

  • 사용자가 접근할 수 있는 프로젝트는 무엇인가?
  • 어떤 사용자가 프로젝트에 쓰기 권한을 가지고 있는가?

Access Graph is a feature of the Teleport Identity Security product available to Teleport Enterprise edition customers.

To verify that Access Graph is set up correctly for your cluster, sign in to the Teleport Web UI, click the Identity Security sidebar button, and then the Browse menu item. Identities, resources, etc. should be listed.

작동 방식#

Access Graph는 사용자, 프로젝트, 그룹을 포함한 다양한 GitLab 리소스를 동기화합니다. 이러한 리소스는 Access Graph 페이지에서 자세히 설명된 그래프 표현을 사용하여 시각화됩니다.

가져오기 과정은 두 가지 주요 단계로 이루어집니다:

GitLab API 폴링#

Teleport 클러스터는 구성된 GitLab 계정을 지속적으로 스캔하고 다음 리소스를 검색합니다:

  • 사용자
  • 그룹
  • 프로젝트
  • 그룹 멤버십
  • 프로젝트 멤버십

필요한 모든 리소스를 가져오면 Teleport는 이를 Access Graph에 푸시하여 GitLab 인스턴스의 최신 정보로 업데이트된 상태를 유지합니다.

리소스 가져오기#

Identity Security의 Access Graph 기능은 가져온 리소스와 그 관계를 분석하여 그래픽 표현을 만듭니다.

사전 조건#

  • 실행 중인 Teleport Enterprise 클러스터 v15.3.1 이상.
  • 계정에 Identity Security가 활성화되어 있어야 합니다.
  • GitLab v9.0 이상을 실행하는 GitLab 인스턴스.
  • 셀프 호스팅 클러스터의 경우:
    • Auth Service 구성에 최신 license.pem이 사용되고 있는지 확인합니다.
    • 실행 중인 Access Graph 노드 v1.21.4 이상. Access Graph 설정 방법은 Identity Security 페이지를 참조하세요.
    • Access Graph 서비스를 실행하는 노드는 Teleport Auth Service에서 접근할 수 있어야 합니다.

1단계/3단계. GitLab 토큰 만들기#

GitLab 통합을 설정하려면 다음 권한으로 GitLab 토큰을 만들어야 합니다:

  • read_api

GitLab 인스턴스로 이동하여 사용자 설정에 접근하고 액세스 토큰 옵션을 선택합니다. read_api 범위로 새 토큰을 만들고 생성된 토큰을 복사합니다. 자세한 내용은 GitLab 설명서를 참조하세요.

임포터는 이 토큰을 사용하여 GitLab 인스턴스에서 필요한 리소스를 가져옵니다.

Warning

GitLab 임포터는 토큰이 접근할 수 있는 리소스만 가져옵니다. 토큰과 연관된 사용자가 가져오려는 리소스에 접근/보기 위한 필요한 권한이 있는지 확인합니다.

GitLab.com 계정을 사용하는 경우 임포터는 조직의 일원이거나 토큰이 접근할 수 있는 프로젝트에 접근할 수 있는 사용자만 가져옵니다.

셀프 호스팅 GitLab 인스턴스를 사용하는 경우 임포터는 토큰이 접근할 수 있는 모든 리소스를 가져오며, 인스턴스의 일원인 모든 사용자가 포함됩니다.

토큰은 다음 단계에서 GitLab Sync 통합을 구성하는 데 사용됩니다.

2단계/3단계. Access Graph GitLab Sync 설정#

GitLab Sync 구성을 위한 설정 마법사를 시작하려면 Teleport UI에 접근하고 Identity Security 사이드바 버튼을 클릭한 다음 Integrations를 클릭합니다.

"Setup new integration" 버튼을 클릭한 다음 "Gitlab"을 선택합니다. 아직 GitLab 통합을 구성하지 않은 경우 새 Teleport GitLab 통합을 만들라는 메시지가 표시됩니다. 또는 이전에 설정된 통합을 선택할 수 있습니다.

1단계에서 만든 GitLab 토큰과 GitLab 인스턴스 도메인을 제공하라는 메시지가 표시됩니다. 토큰이 성공적으로 검증되면 Access Graph에서 가져온 리소스를 볼 수 있습니다.

3단계/3단계. Access Graph에서 GitLab 리소스 보기#

GitLab 리소스가 가져와지면 Access Graph 페이지에서 볼 수 있습니다. 그래프 표현은 GitLab 인스턴스 내 사용자, 그룹, 프로젝트 간의 관계를 보여줍니다.

사용자는 그룹이나 프로젝트에 접근하는 권한을 가질 수 있습니다. 사용자가 그룹에 접근할 수 있는 경우 해당 그룹 내의 모든 프로젝트와 하위 프로젝트에 대한 권한을 상속합니다.

그래프의 해당 노드를 클릭하여 사용자, 그룹, 프로젝트에 부여된 권한을 볼 수 있습니다.

예를 들어 사용자에게 부여된 권한을 보려면 사용자 노드를 클릭하고 컨텍스트 메뉴에서 View Access를 선택합니다. 이렇게 하면 사용자에게 부여된 권한과 접근할 수 있는 리소스가 표시됩니다.

또한 쿼리를 실행하여 Access Graph에서 특정 정보를 가져올 수 있습니다. 예를 들면:

사용자가 접근할 수 있는 모든 프로젝트 가져오기#

다음 쿼리는 사용자가 접근할 수 있는 모든 프로젝트를 가져옵니다:

SELECT * FROM access_path WHERE "identity" = '' AND source='Gitlab'

또한 다음 쿼리를 실행하여 사용자의 접근 수준(owner, maintainer, developer, guest, reporter)으로 프로젝트를 필터링할 수 있습니다:

SELECT * FROM access_path WHERE "identity" = '' AND source='Gitlab' AND action='owner'

해당 프로젝트를 가져오려면 action 파라미터를 maintainer, developer, guest, reporter로 변경합니다.

프로젝트에 쓰기 접근 권한이 있는 모든 사용자 가져오기#

다음 쿼리는 라는 이름의 프로젝트에 읽기/쓰기 접근 권한이 있는 모든 사용자를 가져옵니다:

SELECT * FROM access_path WHERE "resource" = '' AND source='Gitlab'

문제 해결#

GitLab 통합을 설정한 후 Access Graph의 Integrations 페이지에서 가져오기 프로세스 상태를 모니터링할 수 있습니다. 가져오기가 실패하면 오류 메시지가 문제를 식별하는 데 도움이 됩니다.

또한 상태를 보고 가져오기 프로세스가 현재 실행 중인지 또는 성공적으로 완료되었는지 확인할 수 있습니다.

Unauthorized 오류가 발생하면 GitLab 토큰이 리소스에 접근하는 데 필요한 권한이 있고 토큰이 유효한지 확인합니다. 토큰이 만료된 경우 새 토큰을 만들고 통합 설정을 업데이트해야 합니다.

다른 문제가 발생하는 경우 Teleport 클러스터가 GitLab 인스턴스에 접근할 수 있고 GitLab API에 접근할 수 있는지 확인합니다.

문제가 계속되면 Access Graph의 Integrations 페이지에서 오류 로그를 검사하여 자세한 내용을 확인하세요.