실행 정책

실행 정책은 귀하의 Datadog 사이트에서는 지원되지 않습니다 ().

개요

실행 정책을 통해 팀원에 대한 정보, 작업 실행 위치, 그리고 실행할 수 있는 작업을 제어할 수 있습니다. 각 실행 정책은 액션 집합에 대한 단일 허용/거부 규칙과 규칙이 적용되는 Agent로 구성됩니다. Agent 태그를 통해 해당 Agent를 선택합니다. 실행 정책은 프라이빗 액션 권한을 부여할 때 다음 두 가지 주요 이점을 제공합니다.

  • 대규모 액세스 관리: 연결을 통해 각 러너에서 통합당 하나의 연결을 생성하는데, 이를 대규모 플릿 전체에서 관리하기 어렵습니다. 실행 정책을 사용할 경우, 태그로 Agent를 선택하여 여러 러너에 대한 액세스를 한 번에 제어할 수 있습니다. 단일 정책에 여러 개의 대상 Agent 세트를 명시할 수 있으므로, 동일한 규칙을 중복 없이 여러 팀이나 환경에 적용할 수 있습니다.
  • 세부 제어: 특정 작업이나 작업 세트를 허용하거나 거부할 수 있으며, Kubernetes 정책 대상을 특정 대상 네임스페이스로 제한하는 등 통합별 범위를 적용할 수 있습니다.

실행 정책은 Datadog Agent 내부에서 실행되는 프라이빗 액션 러너가 소유자가 없는 상태로 등록된 경우에 적용됩니다. 소유자가 없는 러너는 특정 사용자에게 연결되지 않고, 프라이빗 액션 러너 기능이 있는 API 키로 등록됩니다. 소유자가 없는 상태로 러너가 등록되는 과정에 대한 자세한 내용은 등록 및 소유권을 참조하세요.

전제 조건

  • (프라이빗 액션 러너 기능이 있는 API 키를 사용하여) 소유자가 없는 상태로 등록된 Datadog Agent 내에서 실행되는 프라이빗 액션 러너
  • 실행 정책을 생성, 업데이트, 삭제할 수 있는 ExecutionGroupWrite 권한 권한을 참조하세요.

권한

실행 정책을 생성, 업데이트, 삭제하려면 ExecutionGroupWrite 권한이 있어야 합니다.

  • 기본 Datadog Admin 역할에 이 권한이 포함되어 있습니다.
  • 다른 사용자에게 이 권한을 부여하려면 사용자 지정 역할에 추가하고 실행 정책을 관리하는 사용자나 팀에 해당 역할을 할당합니다.

이 권한은 실행 정책을 관리할 수 있는 사용자를 제어합니다. 특정 실행 정책을 사용하여 프라이빗 액션을 실행할 수 있는 사용자를 제어하려면 해당 정책의 액세스 설정을 확인하세요.

정책 구조

실행 정책은 프라이빗 액션 세트를 허용하거나 거부하는 단일 규칙입니다. 이 정책은 해당 작업과 적용 대상 Agent를 비롯한 구성 요소로 이루어져 있습니다.

대상 및 액세스 섹션에서는 이러한 구성 요소를 상세히 설명합니다. 모든 구성 요소를 포함하는 실행 정책을 생성하려면 실행 정책 생성하기 섹션을 참조하세요.

대상은 실행 정책을 적용할 Agent(프라이빗 액션 러너 실행)를 선택하는 태그 선택기입니다. 정책에서 두 가지 이상의 대상을 정의할 수 있으므로, 정책 중복 없이 동일한 규칙을 여러 Agent 세트에 적용할 수 있습니다. 예를 들어 팀 또는 환경별로 대상을 하나씩 정의할 수 있습니다.

각 대상은 태그 집합입니다.

  • 태그는 AND 시맨틱과 일치합니다. Agent가 대상과 일치하려면 대상의 모든 태그를 포함해야 합니다.
  • 프라이빗 액션 러너가 활성화된 모든 Agent를 대상으로 지정하려면 와일드카드*를 단독 대상으로 사용하세요.
  • 부분/패턴 와일드카드(예: env:* 또는 *:prod)와 *을 다른 태그와 결합하는 방식은 지원되지 않습니다.
  • (선택 사항) 대상의 이름을 지정하면 동일한 정책에서 여러 대상을 구분하는 데 도움이 됩니다.

대상 태그를 편집하면 Datadog에서 해당 대상과 일치하는 Agent 수를 실시간으로 보여줍니다.

대상을 지정하지 않은 실행 정책도 유효하지만 아무런 효과를 발휘하지 못합니다. Agent와 일치하는 항목이 없기 때문에 어떠한 작업도 승인하지 않습니다. Datadog은 해당 정책을 “대상 없음"으로 표시하므로 정책을 완료해야 할지, 아니면 제거해야 할지 알 수 있습니다.

실행 정책의 액세스 설정에서 정책을 조회 및 관리할 수 있는 사용자와 정책 적용 대상을 제어합니다. 액세스는 ExecutionGroupWrite권한과 함께 작동합니다. 권한은 실행 정책을 관리할 수 있는 사용자를 결정하며, 액세스는 각 사용자가 조회 및 편집할 수 있는 특정 정책과 적용되는 특정 정책을 결정합니다.

실행 정책은 자격 증명을 저장하지 않습니다. 액세스는 대상 지정 및 권한 부여만 제어합니다.

액세스 수준조회 가능편집 가능정책 적용
조회자(Viewer)예아니요아니요
처리자(Resolver)예아니요예
편집자(Editor)예예예

정책이 사용자에게 “적용되는지” 여부는 액세스와 권한 부여를 연결하는 요소입니다. 허용 정책은 적용 대상 사용자에게만 작업을 할당하며, 거부 정책은 적용 대상 사용자만 제한합니다. 조회자는 정책을 확인할 수 있지만 정책에 의해 권한을 부여받거나 제한되지 않습니다.

실행 정책을 생성하면 해당 정책의 편집자로 지정됩니다. 정책에 액세스 설정이 없는 경우, 이는 조직 내 모든 구성원에게 적용됩니다.

실행 정책 생성하기

  1. 작업 > 실행 정책으로 이동하여 실행 정책 생성하기를 클릭합니다.
  2. 이름(예: Read-only Kubernetes)을 입력하거나 자동 생성된 이름을 사용합니다.
  3. 효과를 허용 또는 거부로 설정합니다.
  4. Actions에서 통합과 포함하려는 작업을 선택합니다. 특정 작업이나 전체 번들을 선택하거나, 특수 All actions / All read-only 선택기를 사용할 수 있습니다.
  5. (선택 사항) 범위를 설정합니다. 예를 들어 Kubernetes의 경우 대상 네임스페이스를 설정하여 정책의 적용 범위를 특정 네임스페이스로 제한합니다.
  6. 대상에서 하나 이상의 태그를 추가해 이 정책을 적용할 Agent를 선택합니다. Agent가 대상과 일치하려면 대상의 모든 태그를 포함해야 합니다. 소유자가 없는 프라이빗 액션 러너가 활성화된 모든 Agent를 대상으로 지정하려면 와일드카드 *를 단독으로 사용하세요. 두 개 이상의 Agent 세트에 동일한 정책을 적용하려면 대상을 하나 이상 추가하세요. 자세한 내용은 대상 섹션을 참조하세요.
  7. 액세스에서 정책을 조회 및 편집할 수 있는 사용자와 정책의 적용 대상을 설정합니다. 자세한 내용은 액세스 섹션을 참조하세요.
  8. 생성을 클릭합니다.

워크플로에서 실행 정책 사용

워크플로에서 프라이빗 액션 단계를 구성할 때, 연결을 선택하는 대신 Agent를 직접 대상으로 지정할 수 있습니다.

  1. 단계의 연결 선택기에서 연결 대신 대상을 선택합니다.
  2. Agent를 식별하는 방법 선택:
    • Hostname: 특정 Datadog Agent 호스트의 프라이빗 액션 러너에 적합합니다.
    • Orch Cluster ID: Kubernetes Cluster Agent의 프라이빗 액션 러너에 적합합니다.
  3. 대상 Agent의 호스트 이름 또는 오케스트레이션 클러스터 ID를 입력합니다.

이렇게 하면 대상 Agent로만 식별되는 단계에 대한 가상 연결이 생성되며 자격 증명은 포함되지 않습니다. 워크플로 실행 시, 실행 정책이 해당 대상과 요청 사용자에 대해 승인하는 경우에만 작업이 실행됩니다.

지원되는 통합

실행 정책은 다음 통합에 대한 작업을 승인합니다.

  • Kubernetes(com.datadoghq.kubernetes.*)
  • 원격 작업(com.datadoghq.remoteaction.*) (rshell 번들(runCommand 작업) 및 네트워크 경로 작업 포함)
  • 스크립트(com.datadoghq.script.*)

Private Action Runner Reference에서 각 러너 유형이 지원하는 작업을 확인하세요. 실행 정책을 통해 통합을 승인할 수 없는 경우, 대신 Connections을 사용하세요.

기본 실행 정책

Datadog은 러너를 등록하는 즉시 읽기 전용 작업이 작동하도록 기본 실행 정책을 조직에 프로비저닝합니다. 별도의 설정은 필요하지 않습니다. 자세한 내용은 다음과 같습니다.

  • 프라이빗 액션 러너를 실행하는 모든 Agent를 대상으로 지정합니다(대상 선택기 *).
  • 읽기 전용 Kubernetes 및 읽기 전용 원격 작업에 대한 권한을 부여합니다.
  • 조직의 모든 구성원이 읽기 전용 작업을 실행하도록 허용합니다. 기본적으로 Datadog Admin 역할에 포함된 ExecutionGroupWrite 권한을 보유한 사용자는 이를 편집할 수 있습니다.

기본 실행 정책은 읽기 전용 작업에 한해서 적용됩니다. 쓰기 가능한 작업을 실행하거나 특정 Agent, 네임스페이스, 팀, 사용자로 액세스 범위를 지정하려면 실행 정책 생성하기를 참조하세요.

승인 워크플로

작업이 전달되기 전 Datadog에서 권한을 부여하므로, 러너는 이미 승인된 작업만 실행합니다. Datadog Agent에서 러너를 대상으로 프라이빗 액션 요청 시:

  1. Datadog은 대상 Agent(호스트 이름 또는 오케스트레이션 클러스터 ID 기준)와 해당 태그를 식별합니다.
  2. Datadog은 대상이 해당 태그와 일치하는 실행 정책을 찾습니다.
  3. Datadog은 요청된 작업과 요청 사용자에 대해 일치하는 정책을 평가합니다.
  4. 정책에서 작업을 허용하며 이를 거부하는 정책이 없으면 작업이 Agent로 전달되어 실행됩니다. 그렇지 않으면 작업이 거부되어 Agent에 도달할 수 없습니다.

평가 과정에서는 다음 두 가지 규칙을 따릅니다.

  • 기본 거부: 작업을 명시적으로 허용하는 정책이 없으면 거부합니다.
  • 허용보다 거부 우선: 일치하는 정책 중 하나라도 작업을 거부할 경우, 다른 정책에서 허용하더라도 작업이 거부됩니다.

실행 정책은 자격 증명을 저장하지 않습니다. 해당 정책은 작업을 실행할 수 있는 위치, 실행할 수 있는 작업, 작업을 실행할 수 있는 사용자를 결정합니다.

추가 자료