이 제품은 선택한 Datadog 사이트에서 지원되지 않습니다. ().

Agentless Scanning은 Datadog Agent를 설치할 필요 없이 클라우드 인프라에 있는 취약점을 가시화할 수 있도록 도와줍니다. Agentless Scanning은 전체가 인프라 내에서 실행되어 Datadog으로 보내는 데이터는 최소로 하고 민감한 데이터를 외부로 보내지 않습니다. 스캐너가 클라우드 계정 내에서 실행되기 때문에 표준 클라우드 공급자 비용이 적용됩니다. 더 자세한 내용을 알아보려면 Agentless Scanning 개요를 참고하세요.

설정은 클라우드 계정별로 약 30분 정도 소요됩니다.

  1. 아래 필수 요구 사항을 확인하세요.
  2. 클라우드 제공자와 배포 방법을 선택합니다.
  3. 클라우드 계정에서 템플릿을 실행합니다.
  4. Datadog에서 스캔 결과를 확인합니다.

사전 필수 조건

Agentless Scanning을 설정하기 전에 다음 필수 조건을 충족하는지 확인하세요.

  • Remote Configuration: Datadog 조직에 Remote Configuration이 활성화되어 있어야 Agentless 스캐너로 스캔 지침을 보낼 수 있습니다.

  • API 및 Application Keys:

    • 스캐너가 스캔 결과를 Datadog으로 보내려면 Remote Configuration이 활성화된 API 키가 필요합니다.
    • Datadog API를 통해 스캔 기능을 활성화하려면 Integrations Manage 또는 Org Management 권한이 있는 애플리케이션 키가 필요합니다.
  • Cloud 권한: Agentless Scanning 인스턴스는 호스트, 호스트 이미지, 컨테이너 레지스트리, 함수를 스캔하기 위한 특정 권한이 필요합니다. Datadog은 설치 시에 아래와 같은 권한을 자동으로 적용하며 투명성을 확보합니다.

    Scanning permissions:

    • ebs:GetSnapshotBlock
    • ebs:ListChangedBlocks
    • ebs:ListSnapshotBlocks
    • ec2:CopySnapshot
    • ec2:CreateSnapshot
    • ec2:CreateTags
    • ec2:DeleteSnapshot
    • ec2:DeregisterImage
    • ec2:DescribeSnapshotAttribute
    • ec2:DescribeSnapshots
    • ec2:DescribeVolumes
    • ecr:BatchGetImage
    • ecr:GetAuthorizationToken
    • ecr:GetDownloadUrlForLayer
    • kms:CreateGrant
    • kms:Decrypt
    • kms:DescribeKey
    • lambda:GetFunction
    • lambda:GetLayerVersion

    Sensitive Data Scanning(DSPM)이 활성화된 경우에만:

    • kms:GenerateDataKey
    • s3:GetObject
    • s3:ListBucket

    • Microsoft.Compute/virtualMachines/read
    • Microsoft.Compute/virtualMachines/instanceView/read
    • Microsoft.Compute/virtualMachineScaleSets/read
    • Microsoft.Compute/virtualMachineScaleSets/instanceView/read
    • Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read
    • Microsoft.Compute/virtualMachineScaleSets/virtualMachines/instanceView/read
    • Microsoft.Compute/disks/read
    • Microsoft.Compute/disks/beginGetAccess/action
    • Microsoft.Compute/disks/endGetAccess/action
    • Microsoft.ContainerRegistry/registries/pull/read
    • compute.disks.create
    • compute.disks.createSnapshot
    • compute.disks.delete
    • compute.disks.get
    • compute.disks.setLabels
    • compute.disks.use
    • compute.globalOperations.get
    • compute.images.get
    • compute.instances.attachDisk
    • compute.instances.detachDisk
    • compute.snapshots.create
    • compute.snapshots.get
    • compute.snapshots.list
    • compute.snapshots.delete
    • compute.snapshots.setLabels

설정

배포를 구조화하는 방법(계정 개수 및 리전 개수에 따른 스캐너 배포)에 관한 자세한 내용은 Agentless Scanning 배포를 참고하세요.

클라우드 공급자를 선택해 사용 가능한 설정 방법을 확인해 보세요. 여러 클라우드 공급자에 Agentless Scanning을 설정하는 경우, 각 공급자별로 독립적으로 설정을 완료해야 합니다.

설정 선택

  • Datadog 신규 사용자: Cloud Security 소개 페이지에서 Get Started with Cloud Security를 클릭한 후 Quick Start를 선택합니다. Quick Start는 AWS CloudFormation을 사용하여 Cloud Security 기능을 모두 활성화한 상태로 Agentless Scanning 을 배포할 수 있는 가이드형 설정입니다. Cloud Security Management를 설정하지 않은 조직만 사용할 수 있습니다.
  • Datadog 내의 단일 AWS 계정: CloudFormation 또는 Terraform을 사용하세요. 여러 리전에 배포할 경우에는 Terraform을 권장합니다.
  • 여러 계정이 있는 AWS 조직: CloudFormation StackSet을 사용해 계정 멤버 전체에 스캔 기능을 배포하세요.
  • AWS 조직이 없이 여러 계정일 경우: 각 계정에 CloudFormation 또는 Terraform 설정을 따로 적용하세요.

Datadog과 통합된 Datadog 계정이 있고 Agentless Scanning을 사용하고 싶거나 새 AWS 계정을 추가하고 싶을 경우에는 CloudFormation을 사용하세요.

새 AWS 계정

  1. Cloud Security Setup 페이지에서 Cloud Integrations > AWS를 클릭합니다.
  2. AWS 섹션 하단에서 Add AWS accounts by following these steps를 클릭합니다. Add New AWS Account(s) 대화 상자가 표시됩니다.
  3. CloudFormation 스택을 생성할 AWS 리전을 선택합니다.
  4. Remote Configuration이 활성화된 API 키를 선택하세요.
  5. 클라우드 스토리지에 Sensitive Data Scanner를 활성화할지 여부를 선택합니다. 이 기능은 Amazon S3 리소스에 저장된 민감 데이터를 자동으로 카탈로그화하고 분류합니다.
  6. Launch CloudFormation Template을 클릭합니다. 새 창이 열리고 AWS CloudFormation 화면이 표시됩니다. 제공된 CloudFormation 템플릿을 사용하여 스택을 생성합니다. 템플릿에는 Agentless 스캐너를 배포하고 관리하는 데 필요한 IAM 권한이 포함되어 있습니다.

기존 AWS 계정

  1. Cloud Security Setup 페이지에서 Cloud Integrations > AWS를 클릭합니다.
  2. Agentless 스캐너를 배포하고 싶은 AWS 계정을 선택하세요. 그러면 측면 패널이 열립니다.
  3. Features 탭에서 Configure Agentless Scanning 또는 Manage를 클릭하여 Agentless Scanning Setup 모달을 엽니다.
  4. How would you like to set up Agentless Scanning? 섹션에서 CloudFormation을 선택하세요.
  5. Remote Configuration이 활성화된 API 키를 선택하세요.
  6. 활성화하고 싶은 기능을 토글하세요. 예를 들어, Vulnerability Management 또는 Sensitive Data Scanner 중에 선택할 수 있습니다.
  7. Launch CloudFormation Template을 클릭하세요. AWS CloudFormation 스크린이 있는 새 창이 열립니다. 기존 CloudFormation 템플릿을 사용해 새 스택을 생성하세요.
  8. Done을 클릭합니다.

여러 계정이 있는 AWS Organization의 경우, CloudFormation StackSet을 사용해 전체 멤버 계정에 Agentless Scanning 위임 역할을 배포하세요. 이 방법을 적용하면 AWS Organization에 추가된 새 계정의 온보딩과 구성이 자동화됩니다.

이 설정은 계정간 스캐닝에 필요한 위임 역할을 AWS Organization 전반, 또는 특정 OU(Organizational Unit)에 배포합니다. 먼저 CloudFormation 또는 [Terraform]((#aws-terraform-setup)을 사용해 중앙 스캔 계정에 먼저 Agentless Scanning을 설정한 후 StackSet을 배포해 나머지 계정을 구성하세요.

사전 필수 조건

  1. AWS 관리 계정에 액세스합니다.
  2. CloudFormation StackSets를 위해 Trusted Access with AWS Organizations이 먼저 활성화되어 있어야 합니다.
  3. Agentless Scanning이 이미 중앙 스캐닝 계정에 구성되어 있습니다(위 참고).

StackSet 배포

  1. AWS 관리 계정에 로그인하고 CloudFormation > StackSets으로 이동합니다.
  2. Create StackSet를 클릭합니다.
  3. Service-managed permissions를 선택합니다.
  4. Specify template 아래에서 Amazon S3 URL을 선택하고 다음 URL을 입력합니다.
    https://datadog-cloudformation-template-quickstart.s3.amazonaws.com/aws/v4.3.1/datadog_agentless_delegate_role_stackset.yaml
    
  5. StackSet name을 입력합니다(예: DatadogAgentlessScanningStackSet).
  6. ScannerInstanceRoleARN 파라미터를 구성합니다. 이 파라미터는 Agentless 스캐너 인스턴스에 연결된 IAM 역할의 ARN입니다.
    ScannerInstanceRoleARN은 스캐너 인스턴스 역할의 ARN과 정확히 일치해야 합니다(예: arn:aws:iam::123456789012:role/DatadogAgentlessScannerRole). arn:aws:iam::123456789012:root와 같은 루트 ARN을 사용하면 작동하지 않습니다.

    ScannerInstanceRoleARN은 위임 역할(대상 계정에 생성됨)과 스캐너 인스턴스(중앙 계정에서 이미 실행 중) 간에 신뢰 관계를 수립합니다. 이처럼 계정간 스캐닝을 활성화하여 다음을 실행하세요.

    • The scanner runs in Account 4.
    • The delegate role exists in Accounts 1, 2, 3 (deployed through the StackSet).
    • The scanner assumes the delegate roles to scan resources in those accounts.
  7. Deployment targets를 설정해 여러 AWS Organization 간, 또는 특정 OU로 배포합니다.
  8. Automatic deployment를 활성해 AWS Organization에 추가된 새 계정을 구성합니다.
  9. 배포를 위해 single region을 선택합니다(IAM 역할은 전역이며 계정별로 한 번만 배포하면 됨).
  10. StackSet 검토 및 전송합니다.

StackSet 배포 후, 멤버 계정은 중앙 스캐너 계정의 계정간 스캔을 허용하도록 구성됩니다.

Terraform Datadog Agentless Scanner 모듈은 Datadog Agentless 스캐너를 설치하는 데 재사용할 수 있는 구성을 제공합니다. 여러 리전이 있는 환경에서는 Terraform을 사용할 것을 권장합니다. Terraform은 리전별로 스캐너를 하나씩 배포하여 리전간 네트워킹 비용을 절감할 수 있습니다. 배포 토폴로지 선택과 관련한 안내는 Agentless Scanning 배포를 참고하세요. 멀티 지역 구성을 포함한 사용 사례는 GitHub 레포지토리에서 예시 디렉터리를 참고하세요.

새 AWS 계정

  1. Cloud Security Setup 페이지에서 Cloud Integrations > AWS를 클릭합니다.
  2. AWS 섹션 하단에서 Add AWS accounts by following these steps를 클릭합니다. Add New AWS Account(s) 대화 상자가 표시됩니다.
  3. Choose a method for adding your AWS account에서 Manually를 선택합니다.
  4. Datadog Agentless Scanner 모듈 설치 가이드를 따릅니다.
  5. I confirm that the Datadog IAM Role has been added to the AWS Account 체크박스를 선택합니다.
  6. AWS Account IDAWS Role Name을 입력합니다.
  7. Save를 클릭합니다.

기존 AWS 계정

  1. Cloud Security Setup 페이지에서 Cloud Integrations > AWS를 클릭합니다.
  2. Agentless 스캐너를 배포하고 싶은 AWS 계정을 클릭하여 측면 패널을 엽니다.
  3. Features 탭에서 Configure Agentless Scanning 또는 Manage를 클릭하여 Agentless Scanning Setup 모달을 엽니다.
  4. How would you like to set up Agentless Scanning? 섹션에서 Terraform을 선택합니다.
  5. Datadog Agentless Scanner 모듈 설치 가이드를 따릅니다.
  6. I confirm the Terraform module is installed 체크박스를 선택합니다.
  7. Done을 클릭합니다.

위 설정 방법 중 하나를 완료한 후 설정을 인증합니다.

설정 선택

Azure Resource Manager 템플릿을 사용해 Agentless Scanner를 배포하세요. 이 템플릿에는 Agentless 스캐너를 배포하고 관리하는 데 필요한 역할 정의가 포함되어 있습니다.

새 Azure 구독

Datadog Azure 통합 설정이 되어 있는지 확인합니다.

Complete the following steps to enable Agentless Scanning for your Azure subscriptions:

Cloud Security Setup page
  1. On the Cloud Security Setup page, click Cloud Integrations > Azure.
  2. Locate the tenant ID of your subscription.
  3. (Optional) To enable detection of misconfigurations, toggle Resource Scanning to the on position.
  4. Expand the list of Azure subscriptions and locate the subscription where you want to deploy the Agentless scanner.
  5. Click the Enable button under Vulnerability Scanning.
  6. The Vulnerability Scanning dialog is displayed. Toggle Vulnerability Scanning to the on position.
  7. Under How would you like to set up Agentless Scanning?, select Azure Resource Manager.
  8. Click Launch Azure Resource Manager to be redirected to the Azure portal.
Azure portal
  1. Log in to the Azure portal. The template creation form is displayed.
  2. Select the subscription and the resource group in which the Agentless scanners are to be deployed. Datadog recommends that you deploy the Datadog Agentless Scanner in a dedicated resource group.
  3. In Subscriptions to scan, select all the subscriptions you want to scan.
  4. Enter your Datadog API Key, select your Datadog Site, and fill out the remainder of the form.
  5. Click Review + create.

기존 Azure 구독

Complete the following steps to enable Agentless Scanning for your Azure subscriptions:

Cloud Security Setup page
  1. On the Cloud Security Setup page, click Cloud Integrations > Azure.
  2. Locate the tenant ID of your subscription.
  3. (Optional) To enable detection of misconfigurations, toggle Resource Scanning to the on position.
  4. Expand the list of Azure subscriptions and locate the subscription where you want to deploy the Agentless scanner.
  5. Click the Enable button under Vulnerability Scanning.
  6. The Vulnerability Scanning dialog is displayed. Toggle Vulnerability Scanning to the on position.
  7. Under How would you like to set up Agentless Scanning?, select Azure Resource Manager.
  8. Click Launch Azure Resource Manager to be redirected to the Azure portal.
Azure portal
  1. Log in to the Azure portal. The template creation form is displayed.
  2. Select the subscription and the resource group in which the Agentless scanners are to be deployed. Datadog recommends that you deploy the Datadog Agentless Scanner in a dedicated resource group.
  3. In Subscriptions to scan, select all the subscriptions you want to scan.
  4. Enter your Datadog API Key, select your Datadog Site, and fill out the remainder of the form.
  5. Click Review + create.

Terraform Datadog Agentless Scanner 모듈은 Datadog Agentless 스캐너를 설치하는 데 재사용할 수 있는 구성을 제공합니다. 여러 리전이 있는 환경에서는 Terraform을 사용할 것을 권장합니다. 배포 토폴로지 선택과 관련한 안내는 Agentless Scanning 배포를 참고하세요. 사용 사례는 GitHub 레포지토리에서 예시 디렉터리를 참고하세요.

  1. Cloud Security Setup 페이지에서 Cloud Integrations > Azure를 클릭합니다.
  2. Agentless 스캐너를 배포하려는 구독이 포함된 Tenant를 확장합니다.
  3. Agentless 스캐너를 배포하고 싶은 위치에서 Azure 구독을 위해 Enable 버튼을 누르세요.
  4. Vulnerability Scanning 토글 스위치를 켭니다.
  5. How would you like to set up Agentless Scanning? 섹션에서 Terraform을 선택합니다.
  6. Datadog Agentless Scanner 모듈 설치 안내를 따르세요.
  7. Done을 클릭합니다.

위 설정 방법 중 하나를 완료한 후 설정을 인증합니다.

설정 선택

아직 GCP 프로젝트를 Datadog으로 연결하지 않은 경우, 먼저 GCP 통합을 설정하세요.

Google Cloud Shell을 사용해 GCP 프로젝트용 Agentless Scanning을 설정하세요. 이 방법은 GCP용 Terraform Datadog Agentless Scanner 모듈을 래핑하는 설정 스크립트를 다운로드하기 때문에 직접 Terraform을 관리할 필요가 없습니다. 실행하기 전에 스크립트를 검토할 수 있습니다.

GCP 권한 필요: Cloud Shell에서 사용하는 ID에 프로젝트 Owner 또는 이와 동등한 수준의 권한이 있어야 합니다. 스크립트가 Terraform 문의 GCS 버킷을 생성하기 때문에 해당 프로젝트의 Storage 권한도 필요합니다(예: roles/storage.admin 또는 storage.buckets.create / storage.buckets.get / storage.buckets.update). 또는 기존 버킷 이름에 TF_STATE_BUCKET 환경 변수를 사용해 기존 버킷을 재사용할 수도 있습니다. 이 경우 스크립트에서 버킷을 생성하지 않습니다. “Terraform 문 스토리지"에 403 오류가 발생한 경우, 트러블슈팅 가이드에서 [GCP: 문 버킷 생성 실패][26]를 참고하세요.

  1. Cloud Security Setup 페이지에서 Cloud Integrations > GCP를 클릭하세요.
  2. Agentless 스캐너를 배포하려는 프로젝트가 포함된 계정을 확장합니다.
  3. Agentless 스캐너를 배포하고 싶은 위치의 GCP 프로젝트에서 Enable 버튼을 클릭하세요. Vulnerability Scanning 모달이 열립니다.
  4. How would you like to set up Agentless Scanning? 섹션에서 Cloud Shell을 선택하세요.
  5. Remote Configuration이 활성화되어 있는 API key를 선택하세요. 애플리케이션 키는 자동으로 생성됩니다.
  6. 스캔하고 싶은 GCP 프로젝트를 선택하세요.
  7. 스캐너 구성:
    • 이미 배포한 스캐너가 있는 경우에는 use an existing scanner(권장)를 선택하고, 그 외에는 deploy a new scanner를 선택합니다.
    • 새 스캐너를 배포할 경우, 스캐너 프로젝트를 선택(선택한 프로젝트 중 하나여야 함)하세요. Datadog에서는 호스트가 150개 이상인 리전마다 스캐너를 설치할 것을 권장합니다.
  8. Copy command를 클릭해 생성된 명령을 복사하고Open Google Cloud Shell을 클릭해 Google Cloud Shell을 엽니다. 명령을 검토하고 실행합니다. 스크립트가 GCP용 Terraform Datadog Agentless Scanner 모듈에 적용되어 선택한 프로젝트와 리전에 스캐너가 배포 및 구성됩니다.
  9. 명령이 완료된 후에 Datadog 설정 페이지로 돌아가서 Done을 클릭합니다.

Terraform Datadog Agentless Scanner 모듈은 Datadog Agentless 스캐너를 설치하는 데 재사용할 수 있는 구성을 제공합니다. 여러 리전이 있는 환경에서는 Terraform을 사용할 것을 권장합니다. 배포 토폴로지 선택과 관련한 안내는 Agentless Scanning 배포를 참고하세요. 사용 사례는 GitHub 레포지토리에서 예시 디렉터리를 참고하세요.

  1. Cloud Security Setup 페이지에서 Cloud Integrations > GCP를 클릭하세요.
  2. Agentless 스캐너를 배포하려는 프로젝트가 포함된 계정을 확장합니다.
  3. Agentless 스캐너를 배포하려는 GCP 프로젝트에서 Enable 버튼을 클릭합니다.
  4. Vulnerability Scanning 토글 스위치를 켭니다.
  5. Datadog Agentless Scanner 모듈 설치 안내를 따르세요.
  6. Done을 클릭합니다.

위 설정 방법 중 하나를 완료한 후 설정을 인증합니다.

설정 확인

설정 완료 후에 Agentless Scanning가 첫 결과를 내놓는 데 시간이 걸립니다. 이 첫 스캔 주기는 약 30분 정도가 소요됩니다.

2시간 후에도 아무런 결과나 나타나지 않으면 Agentless Scanning 트러블슈팅 가이드를 참고하세요.

스캔 결과는 다음 위치에서 확인할 수 있습니다.

스캔에서 리소스 제외

특정 호스트, 컨테이너, 또는 함수를 스캔에서 제와하려면 Resource Evaluation Filters를 참고하세요.

Agentless Scanning 비활성화

  1. Cloud Security Setup 페이지에서 Cloud Integrations > AWS를 클릭합니다.
  2. 필요한 경우 필터를 사용하여 Agentless Scanning을 중지하려는 계정을 찾으세요. 해당 계정을 클릭하면 설정이 포함된 측면 패널이 열립니다.
  3. Features 탭에서 Configure Agentless Scanning 또는 Manage를 클릭하여 Agentless Scanning Setup 모달을 엽니다.
  4. **How would you like to set up Agentless Scanning?**에서 Terraform을 클릭합니다.
  5. Enable Features에서 Enable Agentless Vulnerability management 옆 토글 스위치를 끕니다.
  6. Done을 클릭합니다.
  1. Cloud Security Setup 페이지에서 Cloud Integrations > Azure를 클릭합니다.
  2. 구독 테넌트를 찾고, 구독 목록을 확장한 다음, Agentless Scanning을 비활성화하려는 구독을 확인합니다.
  3. Enabled 레이블 옆에 Edit 버튼()을 클릭하고 Vulnerability Scanning 모달을 엽니다.
  4. Vulnerability Scanning 옆 토글 스위치를 끕니다.
  5. Done을 클릭합니다.
  1. Cloud Security Setup 페이지에서 Cloud Integrations > GCP를 클릭합니다.
  2. Agentless Scanning을 비활성화하려는 프로젝트가 포함된 계정을 확장합니다.
  3. Enabled 레이블 옆에 Edit 버튼()을 클릭하고 Vulnerability Scanning 모달을 엽니다.
  4. Vulnerability Scanning 옆 토글 스위치를 끕니다.
  5. Done을 클릭합니다.

Agentless Scanning 제거

Agentless Scanning을 설치할 때 사용한 배포 방법을 선택하세요.

Agentless Scanning을 제거하려면 Terraform 코드에서 스캐너 모듈을 제거합니다. 자세한 내용은 Terraform 모듈 문서를 참고하세요.

Agentless Scanning을 제거하려면 AWS 콘솔에 로그인하여 Agentless Scanning을 위해 생성된 CloudFormation 스택을 삭제합니다(서브 스택 이름은 DatadogIntegration-DatadogAgentlessScanning-... 패턴임).

Google Cloud Shell을 사용해 설정된 Agentless Scanning을 삭제하려면 설치할 때 사용한 설정 명령을 실행하되, 마지막에 deploydestroy로 바꿉니다. 다음 예를 참고하세요.

curl -sSL "<CLOUD_SHELL_SCRIPT_URL>" -o gcp_agentless_setup.pyz && \
DD_API_KEY="<DD_API_KEY>" \
DD_APP_KEY="<DD_APP_KEY>" \
DD_SITE="<DD_SITE>" \
SCANNER_PROJECT="<SCANNER_PROJECT>" \
SCANNER_REGIONS="<SCANNER_REGIONS>" \
PROJECTS_TO_SCAN="<PROJECTS>" \
python3 gcp_agentless_setup.pyz destroy

명령을 실행하기 전에 설정 스크립트 소스를 검토할 수 있습니다.

Agentless Scanning을 제거하려면 Azure 구독에 로그인합니다. Agentless 스캐너 전용 리소스 그룹을 생성한 경우, 해당 리소스 그룹과 다음 Azure 역할 정의를 삭제합니다.

  • Datadog Agentless Scanner Role
  • Datadog Agentless Scanner Delegate Role

전용 리소스 그룹을 사용하지 않은 경우Datadog:trueDatadogAgentlessScanner:true 태그로 식별되는 스캐너 리소스를 수동으로 삭제해야 합니다.

참고 자료