InfoGrab DocsInfoGrab Docs

Datadog Incident Management로 접근 요청 처리

요약

Teleport의 Datadog Incident Management 통합을 통해 엔지니어는 공격 벡터가 될 수 있는 영구적인 관리자 권한 없이 인시던트를 해결하는 데 필요한 인프라에 접근할 수 있습니다. Teleport의 Datadog Incident Management 통합을 사용하면 Teleport 역할 접근 요청을 Datadog 인시던트로 처리하고, 적절한 온콜 팀에 알리고, Teleport를 통해 요청을 승인하거나 거부할 수 있습니다.

Teleport의 Datadog Incident Management 통합을 통해 엔지니어는 공격 벡터가 될 수 있는 영구적인 관리자 권한 없이 인시던트를 해결하는 데 필요한 인프라에 접근할 수 있습니다.

Teleport의 Datadog Incident Management 통합을 사용하면 Teleport 역할 접근 요청을 Datadog 인시던트로 처리하고, 적절한 온콜 팀에 알리고, Teleport를 통해 요청을 승인하거나 거부할 수 있습니다.

이 가이드는 Datadog용 Teleport 접근 요청 플러그인 설정 방법을 설명합니다.

작동 방식#

Teleport Datadog Incident Management 통합은 Teleport gRPC API에 연결하고 역할 접근 요청을 수신합니다. 통합이 역할 접근 요청의 상태 변경을 받으면 Datadog에 새 인시던트를 생성하거나, 인시던트가 이미 있는 경우 업데이트합니다. 또한 통합은 각 접근 요청의 주석을 읽고, 주석에 따라 접근 요청을 자동으로 승인할 수 있습니다.

전제 조건#

  • 실행 중인 Teleport Enterprise (v17.0.1 or higher) 클러스터. Teleport를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.

  • tctl and tsh clients.

    Installing `tctl` and `tsh` clients
    1. Teleport 클러스터의 버전을 확인합니다. tctl and tsh clients는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의 /v1/webapi/find로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다. teleport.example.com:443를 Teleport Proxy Service의 웹 주소로 바꿉니다:

      $ TELEPORT_DOMAIN=teleport.example.com:443
      $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')"
      
    2. 사용 중인 플랫폼에 대한 지침에 따라 tctl and tsh clients를 설치합니다:

Mac

     `tctl` and `tsh` clients가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
     ```

     Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
 
     
Warning
       Homebrew를 사용하여 Teleport를 설치하는 것은 지원되지 않습니다. Homebrew의
       Teleport 패키지는 Teleport에서 유지 관리하지 않으므로 신뢰성이나 보안을
       보장할 수 없습니다.
     

Windows - Powershell

     ```code
     $ curl.exe -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-windows-amd64-bin.zip
     # Unzip the archive and move the `tctl` and `tsh` clients to your %PATH%
     # NOTE: Do not place the `tctl` and `tsh` clients in the System32 directory, as this can cause issues when using WinSCP.
     # Use %SystemRoot% (C:\Windows) or %USERPROFILE% (C:\Users\<username>) instead.
     ```
 
   

 
   

Linux

     Linux 설치판의 모든 Teleport 바이너리에는 `tctl` and `tsh` clients가 포함되어 있습니다.  RPM/DEB
     패키지 및 i386/ARM/ARM64용 다운로드를 포함한 더 많은 옵션은
     [설치 페이지](../installation/installation.mdx)를 참조하세요.
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
     $ tar -xzf teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
     $ cd teleport
     $ sudo ./install
     # Teleport binaries have been copied to /usr/local/bin
     ```
   

 
  • "Datadog Admin Role"을 가진 Datadog 계정. 플러그인에 필요한 자격 증명을 생성하려면 서비스 계정을 만들어야 하므로 관리자 역할이 필요합니다.

    Datadog에서 사용자 페이지를 방문하여 Personal Settings -> Profile로 이동하고 Roles 필드의 값을 확인하여 역할을 볼 수 있습니다.

  • Datadog 플러그인을 실행할 Linux 호스트 또는 Kubernetes 클러스터.

Teleport cluster에 연결할 수 있는지 확인하려면 tsh login으로 로그인한 다음, 현재 자격 증명으로 tctl 명령을 실행할 수 있는지 확인합니다.

예를 들어, teleport.example.com에 cluster 내 Teleport Proxy Service의 도메인 이름을, email@example.com에 Teleport 사용자 이름을 지정하여 다음 명령을 실행합니다:

$ tsh login --proxy=teleport.example.com --user=email@example.com
$ tctl status
# Cluster  (=teleport.url=)
# Version  (=teleport.version=)
# CA pin   (=presets.ca_pin=)

cluster에 연결하여 tctl status 명령을 실행할 수 있다면, 현재 자격 증명을 사용하여 워크스테이션에서 이후의 tctl 명령을 실행할 수 있습니다. 자체 Teleport cluster를 호스팅하는 경우, 전체 권한을 얻기 위해 Teleport Auth Service를 호스팅하는 컴퓨터에서 tctl 명령을 실행할 수도 있습니다.

  • Teleport 사용자에게는 editor 역할 또는 Teleport 역할을 만들고 사용자에게 부여하는 권한을 제공하는 역할이 필요합니다.

1/6단계. Datadog 팀 만들기#

Datadog Incident Management 플러그인을 시연하기 위해 Datadog에서 팀을 만듭니다. Datadog 웹 UI에서 Teams 탭으로 이동하고 New Team을 클릭하여 새 Datadog 팀을 만듭니다. 이름을 "Teleport Access"로 지정합니다.

특정 접근 요청을 "Teleport Access" 팀으로 라우팅하도록 Datadog Incident Management 플러그인을 구성할 것입니다.

2/6단계. RBAC 리소스 정의#

Datadog Incident Management 플러그인을 설정하기 전에 Teleport 클러스터에서 역할 접근 요청을 활성화해야 합니다.

요청자 및 검토자 역할 만들기#

이 가이드의 목적상 내장된 editor 역할을 요청할 수 있는 editor-requester 역할과 editor 역할에 대한 요청을 검토할 수 있는 editor-reviewer 역할을 정의합니다.

Teleport Web UI에서 Zero Trust Access -> Roles로 이동합니다. 그런 다음 Create New Role을 선택하고 원하는 역할을 만듭니다.

kind: role
version: v7
metadata:
  name: editor-reviewer
spec:
  allow:
    review_requests:
      roles: ['editor']
---
kind: role
version: v7
metadata:
  name: editor-requester
spec:
  allow:
    request:
      roles: ['editor']
      thresholds:
        - approve: 1
          deny: 1

요청자 및 검토자 사용자 만들기#

먼저 자신에게 editor-reviewer 역할을 할당합니다. 이렇게 하면 사용자가 editor 역할에 대한 접근 요청을 검토할 수 있습니다. 사용자 역할을 편집하려면 Zero Trust Access -> Users로 이동하고, 사용자에 대해 Options -> Edit를 선택하고 editor-reviewer 역할을 추가합니다.

다음으로 editor-requester 역할을 가진 myuser@example.com 사용자를 만듭니다. 이 가이드 후반에 이 사용자로 접근 요청을 만들어 Datadog 플러그인을 테스트합니다. 이 사용자에 대해 Zero Trust Access -> Users로 이동합니다. 그런 다음 Enroll Users를 선택하고 editor-requester 역할을 가진 사용자를 만듭니다.

최종적으로 다음과 같은 두 명의 사용자가 있어야 합니다:

Teleport Users

3/6단계. Datadog 자격 증명 생성#

Datadog용 접근 요청 플러그인은 Teleport Auth Service에서 접근 요청 이벤트를 받아 Datadog 인시던트 형식으로 변환하고 Datadog API로 보냅니다. 이 작업을 위해 Teleport 플러그인에 유효한 Datadog API 키와 애플리케이션 키를 제공해야 합니다.

Datadog API 키 생성#

먼저 Datadog 웹 UI에서 Organization Settings -> Access -> API Keys로 이동하여 조직의 API 키를 봅니다. 새 API 키를 생성하려면 New Key를 클릭하고 이름을 "Teleport Access"로 지정합니다. 이후 단계에서 붙여 넣을 수 있도록 API 키를 복사합니다.

Datadog dashboard for API Keys

Datadog 서비스 계정 만들기#

다음으로 Organization Settings -> Identity & Accounts -> Service Accounts로 이동하여 조직의 서비스 계정을 봅니다. 새 서비스 계정을 만들려면 New Service Account를 클릭하고 이름을 "Teleport Access"로 지정합니다. 서비스 계정에 연결할 이메일을 원하는 것으로 제공한 다음 "Datadog Standard Role" 역할을 할당합니다. 이 역할은 Datadog에서 인시던트를 관리하는 데 필요한 권한을 제공합니다.

Datadog dashboard for Service Accounts

방금 만든 "Teleport Access" 서비스 계정을 클릭한 다음 Application Keys 탭을 클릭하고 New Key를 클릭한 다음 이름을 "Teleport Access"로 지정하여 새 애플리케이션 키를 만듭니다. 이후 단계에서 붙여 넣을 수 있도록 애플리케이션 키를 복사합니다.

Datadog dashboard for Application Keys

4/6단계. Datadog Incident Management 플러그인 등록#

이제 Datadog Incident Management 플러그인을 등록할 준비가 되었습니다.

Teleport Enterprise Cloud에서는 Teleport가 the Datadog Incident Management를 대신 관리하며, Teleport 웹 UI에서 the Datadog Incident Management를 등록할 수 있습니다.

Teleport 웹 UI로 이동하여 왼쪽 사이드바에서 Add New를 클릭한 다음 Integration을 클릭하십시오:

Enroll an Access Request plugin

"Select Integration Type" 메뉴에서 사용할 통합의 타일을 클릭하십시오. 통합을 설정하는 방법에 대한 지침과 함께 통합을 구성하는 데 사용할 수 있는 양식이 있는 페이지가 표시됩니다.

위에서 생성한 API 및 애플리케이션 키를 제공합니다. 원하는 API 엔드포인트를 선택합니다. 그런 다음 앞서 만든 Datadog 팀 핸들을 대체 수신자로 제공합니다. 이는 "teleport-access"여야 합니다.

대체 수신자는 알림의 기본 수신자입니다. 수신자는 Datadog 사용자 이메일 또는 Datadog 팀 핸들일 수 있습니다. 접근 모니터링 규칙을 사용하여 나중에 더 많은 사용자 지정 알림 라우팅 규칙을 구성할 수 있습니다.

수신자가 Datadog 팀인 경우 팀 이름이 Datadog 인시던트 팀 속성에 추가됩니다.

플러그인은 인시던트를 만들고 수신자 팀으로 레이블을 지정합니다. 기본적으로 팀 구성원에게 알림이 전송되지 않으며, 팀 구성원에게 알림을 보내려면 Datadog 알림 규칙을 구성해야 합니다. 이를 위해 Incidents -> Settings -> Notifications -> Rules로 이동하고 수신자 팀으로 레이블이 지정된 알림과 일치하는 새 규칙을 만듭니다.

Datadog dashboard for Incident Notification Rules

제안된 검토자

사용자는 접근 요청을 만들 때 Datadog 사용자 이메일을 제공하여 특정 검토자를 제안할 수 있습니다. 예를 들면:

$ tsh request create --roles=editor --reviewers=alice@example.com,ivan@example.com

접근 요청에 제안된 검토자가 포함된 경우 Datadog Incident Management 플러그인은 이를 알릴 사용자 목록에 추가합니다.

5/6단계. Datadog Incident Management 플러그인 테스트#

접근 요청 만들기#

Teleport 사용자 myuser@example.com으로 editor 역할에 대한 접근 요청을 만듭니다. Access Requests 탭으로 이동하고 New Access Request를 클릭합니다:

New access request

Datadog에서 접근 요청에 대한 정보가 포함된 새 인시던트가 표시됩니다:

Datadog dashboard showing an Access Request

요청 해결#

접근 요청 메시지를 받으면 링크를 클릭하여 Teleport를 방문하고 요청을 승인하거나 거부합니다:

Review access request

접근 요청 감사

Datadog 플러그인이 알림을 보낼 때, 알림을 받는 모든 사람이 포함된 링크를 따라 접근 요청 URL로 이동할 수 있습니다. 사용자가 접근 요청을 검토하려면 Teleport 역할을 통해 권한이 부여되어야 하지만, 올바른 사용자가 올바른 요청을 검토하고 있는지 확인하기 위해 Teleport 감사 로그를 확인해야 합니다.

접근 요청 검토를 감사할 때 Teleport Web UI에서 Access Request Reviewed 유형의 이벤트를 확인합니다.

6/6단계. 자동 승인 구성#

Datadog 온콜 일정 설정#

접근 요청의 자동 승인을 활성화하려면 Datadog 팀의 온콜 일정을 설정해야 합니다. On-Call -> Teams로 이동하고 Add Team to On-Call을 선택하여 "Teleport Access" 팀의 온콜 일정을 설정합니다.

자동 승인을 지원하도록 Teleport RBAC 업데이트#

Teleport editor-requester 역할을 구성하고 teleport.dev/schedules 주석을 추가합니다. teleport.dev/schedules 주석은 자동 승인을 위한 온콜 일정, 서비스 및 팀을 지정하는 데 사용됩니다. Datadog 플러그인의 경우 이 주석은 Datadog 팀 핸들 이름 목록을 기대합니다.

"teleport-access" 팀을 주석에 추가합니다. 이 팀의 온콜 사용자가 만든 접근 요청은 자동으로 승인됩니다.

kind: role
version: v7
metadata:
  name: editor-requester
spec:
  allow:
    request:
      annotations:
        teleport.dev/schedules:
        - teleport-access
      roles: ['editor']
      thresholds:
        - approve: 1
          deny: 1
Tip

Web UI를 사용하여 역할을 생성하고 편집할 수도 있습니다. Access -> Roles로 이동하여 Create New Role을 클릭하거나 편집할 기존 역할을 선택하십시오.

자동 승인 트리거#

자동 승인을 트리거하려면 Datadog의 현재 온콜 사용자로 Teleport에 로그인하고 editor 역할에 대한 접근 요청을 만듭니다. 자동 승인을 위해서는 Teleport 사용자 이름이 Datadog 온콜 사용자 이메일과 일치해야 합니다.

문제 해결#

Note

이 섹션의 내용은 원문 문서를 참조하세요. (access-plugin-troubleshooting.mdx)

다음 단계#

Datadog Incident Management로 접근 요청 처리

Teleport v18.9
원문 보기
요약

Teleport의 Datadog Incident Management 통합을 통해 엔지니어는 공격 벡터가 될 수 있는 영구적인 관리자 권한 없이 인시던트를 해결하는 데 필요한 인프라에 접근할 수 있습니다. Teleport의 Datadog Incident Management 통합을 사용하면 Teleport 역할 접근 요청을 Datadog 인시던트로 처리하고, 적절한 온콜 팀에 알리고, Teleport를 통해 요청을 승인하거나 거부할 수 있습니다.

Teleport의 Datadog Incident Management 통합을 통해 엔지니어는 공격 벡터가 될 수 있는 영구적인 관리자 권한 없이 인시던트를 해결하는 데 필요한 인프라에 접근할 수 있습니다.

Teleport의 Datadog Incident Management 통합을 사용하면 Teleport 역할 접근 요청을 Datadog 인시던트로 처리하고, 적절한 온콜 팀에 알리고, Teleport를 통해 요청을 승인하거나 거부할 수 있습니다.

이 가이드는 Datadog용 Teleport 접근 요청 플러그인 설정 방법을 설명합니다.

작동 방식#

Teleport Datadog Incident Management 통합은 Teleport gRPC API에 연결하고 역할 접근 요청을 수신합니다. 통합이 역할 접근 요청의 상태 변경을 받으면 Datadog에 새 인시던트를 생성하거나, 인시던트가 이미 있는 경우 업데이트합니다. 또한 통합은 각 접근 요청의 주석을 읽고, 주석에 따라 접근 요청을 자동으로 승인할 수 있습니다.

전제 조건#

  • 실행 중인 Teleport Enterprise (v17.0.1 or higher) 클러스터. Teleport를 시작하려면 무료 체험판에 가입하거나 데모 환경을 구성하세요.

  • tctl and tsh clients.

    Installing `tctl` and `tsh` clients
    1. Teleport 클러스터의 버전을 확인합니다. tctl and tsh clients는 Teleport 클러스터 버전보다 최대 한 개의 메이저 버전까지만 뒤처질 수 있습니다. Proxy Service의 /v1/webapi/find로 GET 요청을 보내고 JSON 쿼리 도구를 사용하여 클러스터 버전을 확인합니다. teleport.example.com:443를 Teleport Proxy Service의 웹 주소로 바꿉니다:

      $ TELEPORT_DOMAIN=teleport.example.com:443
      $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')"
      
    2. 사용 중인 플랫폼에 대한 지침에 따라 tctl and tsh clients를 설치합니다:

Mac

     `tctl` and `tsh` clients가 포함된, 서명된 Teleport macOS .pkg 설치 프로그램을 다운로드합니다:
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-${TELEPORT_VERSION?}.pkg
     ```

     Finder에서 `pkg` 파일을 더블 클릭하여 설치를 시작합니다.
 
     
Warning
       Homebrew를 사용하여 Teleport를 설치하는 것은 지원되지 않습니다. Homebrew의
       Teleport 패키지는 Teleport에서 유지 관리하지 않으므로 신뢰성이나 보안을
       보장할 수 없습니다.
     

Windows - Powershell

     ```code
     $ curl.exe -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-windows-amd64-bin.zip
     # Unzip the archive and move the `tctl` and `tsh` clients to your %PATH%
     # NOTE: Do not place the `tctl` and `tsh` clients in the System32 directory, as this can cause issues when using WinSCP.
     # Use %SystemRoot% (C:\Windows) or %USERPROFILE% (C:\Users\<username>) instead.
     ```
 
   

 
   

Linux

     Linux 설치판의 모든 Teleport 바이너리에는 `tctl` and `tsh` clients가 포함되어 있습니다.  RPM/DEB
     패키지 및 i386/ARM/ARM64용 다운로드를 포함한 더 많은 옵션은
     [설치 페이지](../installation/installation.mdx)를 참조하세요.
 
     ```code
     $ curl -O https://cdn.teleport.dev/teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
     $ tar -xzf teleport-v${TELEPORT_VERSION?}-linux-amd64-bin.tar.gz
     $ cd teleport
     $ sudo ./install
     # Teleport binaries have been copied to /usr/local/bin
     ```
   

 
  • "Datadog Admin Role"을 가진 Datadog 계정. 플러그인에 필요한 자격 증명을 생성하려면 서비스 계정을 만들어야 하므로 관리자 역할이 필요합니다.

    Datadog에서 사용자 페이지를 방문하여 Personal Settings -> Profile로 이동하고 Roles 필드의 값을 확인하여 역할을 볼 수 있습니다.

  • Datadog 플러그인을 실행할 Linux 호스트 또는 Kubernetes 클러스터.

Teleport cluster에 연결할 수 있는지 확인하려면 tsh login으로 로그인한 다음, 현재 자격 증명으로 tctl 명령을 실행할 수 있는지 확인합니다.

예를 들어, teleport.example.com에 cluster 내 Teleport Proxy Service의 도메인 이름을, email@example.com에 Teleport 사용자 이름을 지정하여 다음 명령을 실행합니다:

$ tsh login --proxy=teleport.example.com --user=email@example.com
$ tctl status
# Cluster  (=teleport.url=)
# Version  (=teleport.version=)
# CA pin   (=presets.ca_pin=)

cluster에 연결하여 tctl status 명령을 실행할 수 있다면, 현재 자격 증명을 사용하여 워크스테이션에서 이후의 tctl 명령을 실행할 수 있습니다. 자체 Teleport cluster를 호스팅하는 경우, 전체 권한을 얻기 위해 Teleport Auth Service를 호스팅하는 컴퓨터에서 tctl 명령을 실행할 수도 있습니다.

  • Teleport 사용자에게는 editor 역할 또는 Teleport 역할을 만들고 사용자에게 부여하는 권한을 제공하는 역할이 필요합니다.

1/6단계. Datadog 팀 만들기#

Datadog Incident Management 플러그인을 시연하기 위해 Datadog에서 팀을 만듭니다. Datadog 웹 UI에서 Teams 탭으로 이동하고 New Team을 클릭하여 새 Datadog 팀을 만듭니다. 이름을 "Teleport Access"로 지정합니다.

특정 접근 요청을 "Teleport Access" 팀으로 라우팅하도록 Datadog Incident Management 플러그인을 구성할 것입니다.

2/6단계. RBAC 리소스 정의#

Datadog Incident Management 플러그인을 설정하기 전에 Teleport 클러스터에서 역할 접근 요청을 활성화해야 합니다.

요청자 및 검토자 역할 만들기#

이 가이드의 목적상 내장된 editor 역할을 요청할 수 있는 editor-requester 역할과 editor 역할에 대한 요청을 검토할 수 있는 editor-reviewer 역할을 정의합니다.

Teleport Web UI에서 Zero Trust Access -> Roles로 이동합니다. 그런 다음 Create New Role을 선택하고 원하는 역할을 만듭니다.

kind: role
version: v7
metadata:
  name: editor-reviewer
spec:
  allow:
    review_requests:
      roles: ['editor']
---
kind: role
version: v7
metadata:
  name: editor-requester
spec:
  allow:
    request:
      roles: ['editor']
      thresholds:
        - approve: 1
          deny: 1

요청자 및 검토자 사용자 만들기#

먼저 자신에게 editor-reviewer 역할을 할당합니다. 이렇게 하면 사용자가 editor 역할에 대한 접근 요청을 검토할 수 있습니다. 사용자 역할을 편집하려면 Zero Trust Access -> Users로 이동하고, 사용자에 대해 Options -> Edit를 선택하고 editor-reviewer 역할을 추가합니다.

다음으로 editor-requester 역할을 가진 myuser@example.com 사용자를 만듭니다. 이 가이드 후반에 이 사용자로 접근 요청을 만들어 Datadog 플러그인을 테스트합니다. 이 사용자에 대해 Zero Trust Access -> Users로 이동합니다. 그런 다음 Enroll Users를 선택하고 editor-requester 역할을 가진 사용자를 만듭니다.

최종적으로 다음과 같은 두 명의 사용자가 있어야 합니다:

Teleport Users

3/6단계. Datadog 자격 증명 생성#

Datadog용 접근 요청 플러그인은 Teleport Auth Service에서 접근 요청 이벤트를 받아 Datadog 인시던트 형식으로 변환하고 Datadog API로 보냅니다. 이 작업을 위해 Teleport 플러그인에 유효한 Datadog API 키와 애플리케이션 키를 제공해야 합니다.

Datadog API 키 생성#

먼저 Datadog 웹 UI에서 Organization Settings -> Access -> API Keys로 이동하여 조직의 API 키를 봅니다. 새 API 키를 생성하려면 New Key를 클릭하고 이름을 "Teleport Access"로 지정합니다. 이후 단계에서 붙여 넣을 수 있도록 API 키를 복사합니다.

Datadog dashboard for API Keys

Datadog 서비스 계정 만들기#

다음으로 Organization Settings -> Identity & Accounts -> Service Accounts로 이동하여 조직의 서비스 계정을 봅니다. 새 서비스 계정을 만들려면 New Service Account를 클릭하고 이름을 "Teleport Access"로 지정합니다. 서비스 계정에 연결할 이메일을 원하는 것으로 제공한 다음 "Datadog Standard Role" 역할을 할당합니다. 이 역할은 Datadog에서 인시던트를 관리하는 데 필요한 권한을 제공합니다.

Datadog dashboard for Service Accounts

방금 만든 "Teleport Access" 서비스 계정을 클릭한 다음 Application Keys 탭을 클릭하고 New Key를 클릭한 다음 이름을 "Teleport Access"로 지정하여 새 애플리케이션 키를 만듭니다. 이후 단계에서 붙여 넣을 수 있도록 애플리케이션 키를 복사합니다.

Datadog dashboard for Application Keys

4/6단계. Datadog Incident Management 플러그인 등록#

이제 Datadog Incident Management 플러그인을 등록할 준비가 되었습니다.

Teleport Enterprise Cloud에서는 Teleport가 the Datadog Incident Management를 대신 관리하며, Teleport 웹 UI에서 the Datadog Incident Management를 등록할 수 있습니다.

Teleport 웹 UI로 이동하여 왼쪽 사이드바에서 Add New를 클릭한 다음 Integration을 클릭하십시오:

Enroll an Access Request plugin

"Select Integration Type" 메뉴에서 사용할 통합의 타일을 클릭하십시오. 통합을 설정하는 방법에 대한 지침과 함께 통합을 구성하는 데 사용할 수 있는 양식이 있는 페이지가 표시됩니다.

위에서 생성한 API 및 애플리케이션 키를 제공합니다. 원하는 API 엔드포인트를 선택합니다. 그런 다음 앞서 만든 Datadog 팀 핸들을 대체 수신자로 제공합니다. 이는 "teleport-access"여야 합니다.

대체 수신자는 알림의 기본 수신자입니다. 수신자는 Datadog 사용자 이메일 또는 Datadog 팀 핸들일 수 있습니다. 접근 모니터링 규칙을 사용하여 나중에 더 많은 사용자 지정 알림 라우팅 규칙을 구성할 수 있습니다.

수신자가 Datadog 팀인 경우 팀 이름이 Datadog 인시던트 팀 속성에 추가됩니다.

플러그인은 인시던트를 만들고 수신자 팀으로 레이블을 지정합니다. 기본적으로 팀 구성원에게 알림이 전송되지 않으며, 팀 구성원에게 알림을 보내려면 Datadog 알림 규칙을 구성해야 합니다. 이를 위해 Incidents -> Settings -> Notifications -> Rules로 이동하고 수신자 팀으로 레이블이 지정된 알림과 일치하는 새 규칙을 만듭니다.

Datadog dashboard for Incident Notification Rules

제안된 검토자

사용자는 접근 요청을 만들 때 Datadog 사용자 이메일을 제공하여 특정 검토자를 제안할 수 있습니다. 예를 들면:

$ tsh request create --roles=editor --reviewers=alice@example.com,ivan@example.com

접근 요청에 제안된 검토자가 포함된 경우 Datadog Incident Management 플러그인은 이를 알릴 사용자 목록에 추가합니다.

5/6단계. Datadog Incident Management 플러그인 테스트#

접근 요청 만들기#

Teleport 사용자 myuser@example.com으로 editor 역할에 대한 접근 요청을 만듭니다. Access Requests 탭으로 이동하고 New Access Request를 클릭합니다:

New access request

Datadog에서 접근 요청에 대한 정보가 포함된 새 인시던트가 표시됩니다:

Datadog dashboard showing an Access Request

요청 해결#

접근 요청 메시지를 받으면 링크를 클릭하여 Teleport를 방문하고 요청을 승인하거나 거부합니다:

Review access request

접근 요청 감사

Datadog 플러그인이 알림을 보낼 때, 알림을 받는 모든 사람이 포함된 링크를 따라 접근 요청 URL로 이동할 수 있습니다. 사용자가 접근 요청을 검토하려면 Teleport 역할을 통해 권한이 부여되어야 하지만, 올바른 사용자가 올바른 요청을 검토하고 있는지 확인하기 위해 Teleport 감사 로그를 확인해야 합니다.

접근 요청 검토를 감사할 때 Teleport Web UI에서 Access Request Reviewed 유형의 이벤트를 확인합니다.

6/6단계. 자동 승인 구성#

Datadog 온콜 일정 설정#

접근 요청의 자동 승인을 활성화하려면 Datadog 팀의 온콜 일정을 설정해야 합니다. On-Call -> Teams로 이동하고 Add Team to On-Call을 선택하여 "Teleport Access" 팀의 온콜 일정을 설정합니다.

자동 승인을 지원하도록 Teleport RBAC 업데이트#

Teleport editor-requester 역할을 구성하고 teleport.dev/schedules 주석을 추가합니다. teleport.dev/schedules 주석은 자동 승인을 위한 온콜 일정, 서비스 및 팀을 지정하는 데 사용됩니다. Datadog 플러그인의 경우 이 주석은 Datadog 팀 핸들 이름 목록을 기대합니다.

"teleport-access" 팀을 주석에 추가합니다. 이 팀의 온콜 사용자가 만든 접근 요청은 자동으로 승인됩니다.

kind: role
version: v7
metadata:
  name: editor-requester
spec:
  allow:
    request:
      annotations:
        teleport.dev/schedules:
        - teleport-access
      roles: ['editor']
      thresholds:
        - approve: 1
          deny: 1
Tip

Web UI를 사용하여 역할을 생성하고 편집할 수도 있습니다. Access -> Roles로 이동하여 Create New Role을 클릭하거나 편집할 기존 역할을 선택하십시오.

자동 승인 트리거#

자동 승인을 트리거하려면 Datadog의 현재 온콜 사용자로 Teleport에 로그인하고 editor 역할에 대한 접근 요청을 만듭니다. 자동 승인을 위해서는 Teleport 사용자 이름이 Datadog 온콜 사용자 이메일과 일치해야 합니다.

문제 해결#

Note

이 섹션의 내용은 원문 문서를 참조하세요. (access-plugin-troubleshooting.mdx)

다음 단계#