InfoGrab 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에 새 인시던트를 생성하거나, 인시던트가 이미 있는 경우 업데이트합니다. 또한 통합은 각 접근 요청의 주석을 읽고, 주석에 따라 접근 요청을 자동으로 승인할 수 있습니다.

전제 조건#

  • A running Teleport Enterprise (v17.0.1 or higher) cluster. If you want to get started with Teleport, sign up for a free trial or set up a demo environment.

  • The tctl and tsh clients.

    Installing `tctl` and `tsh` clients
    1. Determine the version of your Teleport cluster. The tctl and tsh clients must be at most one major version behind your Teleport cluster version. Send a GET request to the Proxy Service at /v1/webapi/find and use a JSON query tool to obtain your cluster version. Replace with the web address of your Teleport Proxy Service:

      $ TELEPORT_DOMAIN=
      $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')"
      
    2. Follow the instructions for your platform to install tctl and tsh clients:

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

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

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

To check that you can connect to your Teleport cluster, sign in with tsh login, then verify that you can run tctl commands using your current credentials.

For example, run the following command, assigning to the domain name of the Teleport Proxy Service in your cluster and to your Teleport username:

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

If you can connect to the cluster and run the tctl status command, you can use your current credentials to run subsequent tctl commands from your workstation. If you host your own Teleport cluster, you can also run tctl commands on the computer that hosts the Teleport Auth Service for full permissions.

  • 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 플러그인을 등록할 준비가 되었습니다.

In Teleport Enterprise Cloud, Teleport manages the Datadog Incident Management for you, and you can enroll the Datadog Incident Management from the Teleport Web UI.

Visit the Teleport Web UI and on the left sidebar, click Add New followed by Integration:

Enroll an Access Request plugin

On the "Select Integration Type" menu, click the tile for your integration. You will see a page with instructions to set up the integration, as well as a form that you can use to configure the integration.

위에서 생성한 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

자동 승인 트리거#

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

문제 해결#

Note

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

다음 단계#

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에 새 인시던트를 생성하거나, 인시던트가 이미 있는 경우 업데이트합니다. 또한 통합은 각 접근 요청의 주석을 읽고, 주석에 따라 접근 요청을 자동으로 승인할 수 있습니다.

전제 조건#

  • A running Teleport Enterprise (v17.0.1 or higher) cluster. If you want to get started with Teleport, sign up for a free trial or set up a demo environment.

  • The tctl and tsh clients.

    Installing `tctl` and `tsh` clients
    1. Determine the version of your Teleport cluster. The tctl and tsh clients must be at most one major version behind your Teleport cluster version. Send a GET request to the Proxy Service at /v1/webapi/find and use a JSON query tool to obtain your cluster version. Replace with the web address of your Teleport Proxy Service:

      $ TELEPORT_DOMAIN=
      $ TELEPORT_VERSION="$(curl -s https://$TELEPORT_DOMAIN/v1/webapi/find | jq -r '.server_version')"
      
    2. Follow the instructions for your platform to install tctl and tsh clients:

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

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

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

To check that you can connect to your Teleport cluster, sign in with tsh login, then verify that you can run tctl commands using your current credentials.

For example, run the following command, assigning to the domain name of the Teleport Proxy Service in your cluster and to your Teleport username:

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

If you can connect to the cluster and run the tctl status command, you can use your current credentials to run subsequent tctl commands from your workstation. If you host your own Teleport cluster, you can also run tctl commands on the computer that hosts the Teleport Auth Service for full permissions.

  • 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 플러그인을 등록할 준비가 되었습니다.

In Teleport Enterprise Cloud, Teleport manages the Datadog Incident Management for you, and you can enroll the Datadog Incident Management from the Teleport Web UI.

Visit the Teleport Web UI and on the left sidebar, click Add New followed by Integration:

Enroll an Access Request plugin

On the "Select Integration Type" menu, click the tile for your integration. You will see a page with instructions to set up the integration, as well as a form that you can use to configure the integration.

위에서 생성한 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

자동 승인 트리거#

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

문제 해결#

Note

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

다음 단계#