Infograb logo
Opsgenie를 통한 액세스 요청

Teleport의 Opsgenie 통합을 통해 엔지니어는 장기적인 관리자 권한 없이 알림을 신속하게 해결하기 위해 필요한 인프라에 접근할 수 있습니다. 이러한 권한은 공격 벡터가 될 수 있습니다.

Teleport의 Opsgenie 통합은 Teleport 역할 접근 요청을 Opsgenie 알림으로 처리하고, 적절한 대기 팀에 알리며, Teleport를 통해 요청을 승인하거나 거부할 수 있습니다. 또한 요청자가 알림에 영향을 받는 서비스의 대기 팀에 속해 있는 경우 역할 접근 요청을 자동으로 승인하도록 플러그인을 구성할 수 있습니다.

이 가이드에서는 Opsgenie를 위한 Teleport의 액세스 요청 플러그인을 설정하는 방법을 설명합니다.

전제 조건

  • Teleport 엔터프라이즈 클라우드 계정.

  • 엔터프라이즈 tctl 관리 도구 및 tsh 클라이언트 도구 버전 >= 16.2.0.

    설치된 도구를 확인하려면 다음 명령을 실행하십시오:

    tctl version

    Teleport Enterprise v16.2.0 go1.22


    tsh version

    Teleport v16.2.0 go1.22

    이 도구는 적절한 설치 지침을 따라 다운로드할 수 있습니다.

  • '읽기' 및 '생성 및 업데이트' 액세스 권한으로 API 키를 생성할 수 있는 Opsgenie 계정.

  • 당신의 Teleport 클러스터에 연결할 수 있는지 확인하려면, tsh login으로 로그인한 다음 현재 자격 증명을 사용하여 tctl 명령어를 실행할 수 있는지 확인하십시오.

    예를 들어:

    tsh login --proxy=teleport.example.com --user=email@example.com
    tctl status

    클러스터 teleport.example.com

    버전 16.2.0

    CA 핀 sha256:abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678abdc1245efgh5678

    클러스터에 연결하고 tctl status 명령어를 실행할 수 있다면, 현재 자격 증명을 사용하여 작업대에서 후속 tctl 명령어를 실행할 수 있습니다.

    자신의 Teleport 클러스터를 호스팅하는 경우, Teleport 인증 서비스를 호스팅하는 컴퓨터에서 전체 권한으로 tctl 명령어를 실행할 수도 있습니다.

1단계/5단계. 서비스 생성

teleport-access-request-notifications라는 이름의 Opsgenie 팀을 생성합니다.

특정 사용자가 액세스 요청을 생성할 때 Opsgenie 플러그인을 구성하여 teleport-access-request-notifications 팀에 알림을 생성하도록 합니다.

2단계/5단계. RBAC 리소스 정의

Teleport Opsgenie 플러그인은 Teleport Auth 서비스로부터 액세스 요청 이벤트를 수신하고, 이러한 이벤트를 기반으로 Opsgenie API와 상호 작용합니다.

요청자 역할 생성

사용자를 생성하려면 먼저 Management -> Access -> Roles로 이동합니다.

그런 다음 '새 역할 만들기'를 선택하고 요청자 역할을 만듭니다.

kind: role
version: v5
metadata:
  name: requester
spec:
  allow:
    request:
      roles: ['editor']
      thresholds:
        - approve: 1
          deny: 1
      annotations:
        teleport.dev/notify-services: ['teleport-access-request-notifications']
        teleport.dev/teams: ['teleport-team']
        teleport.dev/schedules: ['teleport-access-alert-schedules']

teleport.dev/notify-services 주석은 알림이 생성될 일정들을 지정합니다.
teleport.dev/teams 주석은 알림이 생성될 팀들을 지정합니다. 이는 여러 일정이 있거나 팀과 함께만 작동하는 Opsgenie 통합이 있을 때 유용합니다.
teleport.dev/schedules 주석은 알림이 확인할 일정을 지정하고, 요청하는 사용자가 대기 중인 경우 액세스 요청을 자동으로 승인합니다.

액세스를 요청할 사용자 생성

requester 역할을 가진 myuser라는 사용자를 생성합니다. 나중에 이 가이드에서 이 사용자로 액세스 요청을 생성하여 Opsgenie 플러그인을 테스트할 것입니다:

사용자를 생성하려면 먼저 Management -> Access -> Users로 이동합니다.

그런 다음 '새 사용자 만들기'를 선택하고 요청자 역할을 가진 사용자를 생성합니다.

3단계/5단계. Opsgenie API 키 설정

Opsgenie 플러그인이 알림을 생성하고 수정하며 사용자, 서비스 및 대기 정책을 나열하는 데 사용할 API 키를 생성합니다.

Opsgenie 대시보드에서 SETTINGS → INTEGRATIONS로 이동합니다.

자세한 내용은 https://support.atlassian.com/opsgenie/docs/create-a-default-api-integration/ 를 참조하십시오.

4단계/5단계. Opsgenie 플러그인 구성

이 시점에서 Opsgenie 플러그인이 Opsgenie API에 연결하는 데 사용할 자격 증명을 생성했습니다. 이 API 키를 사용하도록 플러그인을 구성하려면 Management -> Integrations -> Enroll New Integration로 이동합니다.

5단계/5단계. Opsgenie 플러그인 테스트

액세스 요청 생성

Teleport 사용자 myuser로서 editor 역할을 위한 액세스 요청을 생성합니다:

Teleport 관리자는 tctl을 사용하여 다른 사용자의 액세스 요청을 생성할 수 있습니다:

tctl request create myuser --roles=editor

사용자는 tsh를 사용하여 액세스 요청을 생성하고 승인된 역할로 로그인할 수 있습니다:

tsh request create --roles=editor
요청 승인 중... (id: 8f77d2d1-2bbf-4031-a300-58926237a807)

사용자는 "액세스 요청" 탭을 방문하고 "새 요청"을 클릭하여 웹 UI를 사용하여 액세스를 요청할 수 있습니다:

Opsgenie에서 이 요청에 대한 액세스 요청 정보를 포함하는 새로운 알림을 볼 수 있습니다. 이는 플러그인 등록 시 지정된 기본 일정에 나타나거나 요청자의 역할의 teleport.dev/notify-services 주석에 지정된 일정에 나타납니다.

요청 해결

접근 요청 메시지를 수신하면 링크를 클릭하여 Teleport를 방문하고 요청을 승인하거나 거부하세요:

명령줄에서도 접근 요청을 검토할 수 있습니다:

REQUEST_ID를 요청의 ID로 교체하세요

tctl request approve REQUEST_ID
tctl request deny REQUEST_ID

REQUEST_ID를 요청의 ID로 교체하세요

tsh request review --approve REQUEST_ID
tsh request review --deny REQUEST_ID
액세스 요청 감사

Opsgenie 플러그인이 알림을 전송하면 알림을 받은 누구나 포함된 링크를 따라 액세스 요청 URL로 이동할 수 있습니다. 사용자가 액세스 요청을 검토하기 위해 Teleport 역할을 통해 승인되어야 하지만, 올바른 사용자가 올바른 요청을 검토하고 있는지 확인하기 위해 Teleport 감사 로그를 확인해야 합니다.

액세스 요청 리뷰를 감사할 때는 Teleport 웹 UI에서 Access Request Reviewed 유형의 이벤트를 확인하십시오.

Teleport 원문 보기