InfoGrab DocsInfoGrab Docs

Identity Activity Center 셀프 호스팅

요약

이 가이드에서는 Teleport의 Identity Security 제품에서 Identity Activity Center를 활성화하는 데 필요한 인프라를 설정합니다. Teleport Identity Activity Center는 가시성을 향상시키고, 여러 데이터 소스에 걸쳐 사람과 비인간 ID 모두의 활동을 검색하고 분석할 수 있게 해주는 중앙 집중식 데이터 플랫폼입니다.

이 가이드에서는 Teleport의 Identity Security 제품에서 Identity Activity Center를 활성화하는 데 필요한 인프라를 설정합니다. Identity Activity Center를 사용하면 다양한 소스의 감사 로그와 접근 경로를 중앙화하여 가시성과 관리를 향상시킬 수 있습니다.

Teleport Identity Activity Center는 가시성을 향상시키고, 여러 데이터 소스에 걸쳐 사람과 비인간 ID 모두의 활동을 검색하고 분석할 수 있게 해주는 중앙 집중식 데이터 플랫폼입니다.

이는 AWS, GitHub, Okta, Teleport와 같은 서비스 전반의 접근 정책을 해당 ID들의 실시간 활동과 매핑하는 풍부한 시각화 계층을 제공합니다.

보안 및 운영 팀을 지원하기 위해 구축된 Identity Activity Center는 서로 다른 플랫폼에 걸쳐 동일한 ID의 활동을 결합하여 플랫폼 전반의 ID 기반 이벤트 상관관계를 개선하고 조사를 신속하게 처리합니다. 감사 로그에서 이상 징후를 감지하고, 비정상적인 동작을 강조하며, 각 ID가 기업 서비스 전반에서 갖는 접근 수준을 설명하는 지능형 알림 엔진을 통해 사고 대응 시 맥락적 인사이트를 제공합니다.

Identity Activity Center는 Teleport Enterprise 고객에게만 제공되는 Teleport Identity Security 제품의 기능입니다.

작동 방식#

Teleport Identity Security는 AWS SQS 큐를 사용하여 감사 로그를 게시하고 소비합니다. 고가용성 모드로 배포된 경우, Teleport Identity Security는 큐에서 메시지를 소비하고 위치와 같은 메타데이터로 변환 및 보강한 다음, 장기 보관용 S3 버킷에 Parquet 파일로 기록하는 역할을 담당하는 리더를 선출합니다.

Amazon Athena는 Identity Activity Center의 쿼리 엔진을 구동합니다. 스키마를 지정하고 장기 보관용 S3 버킷에 저장된 Parquet 파일에서 데이터를 검색하기 위해, Amazon Athena는 AWS Glue 테이블을 활용합니다. 이러한 구성을 통해 감사 로그를 효율적으로 쿼리하고 분석할 수 있어, 아이덴티티 보안에 대한 향상된 인사이트와 간소화된 데이터 관리가 가능해집니다.

사전 요구사항#

  • v18.0.0 이상의 실행 중인 Teleport Enterprise 클러스터.
  • Teleport Identity Security가 활성화된 최신 Teleport Enterprise 라이선스 파일.
  • v14 이상의 PostgreSQL 데이터베이스 서버.
    • Access Graph는 데이터를 저장하기 위해 전용 데이터베이스가 필요합니다. Access Graph가 데이터베이스에 연결할 때 사용하는 사용자는 이 데이터베이스의 소유자이거나 이와 유사한 광범위한 권한, 즉 최소한 public 스키마에 대한 CREATE TABLE 권한과 CREATE SCHEMA 권한을 보유해야 합니다.
    • Amazon RDS for PostgreSQL을 지원합니다.
  • Access Graph 서비스용 TLS 인증서
  • v1.28.0 이상의 실행 중인 셀프 호스팅 Access Graph 노드. 사용 중인 플랫폼에 맞는 다음 가이드 중 하나를 참고하세요.
Note

Identity Activity Center는 현재 셀프 호스팅 클러스터에서만 지원됩니다. Teleport Enterprise Cloud 지원은 올해 하반기에 출시될 예정입니다.

1/3단계. 인프라 설정#

다음 Terraform 스크립트를 사용하여 Identity Activity Center를 지원하는 데 필요한 인프라를 설정할 수 있습니다.

Terraform 스크립트

아래는 Terraform 스크립트를 실행하는 데 필요한 변수 목록과 그 설명입니다.

  • eu-central-1는 인프라가 생성될 리전의 이름입니다.
  • example-sqs-queue는 AWS SQS 큐의 이름입니다.
  • example-sqs-dlq는 AWS SQS 데드레터 큐의 이름입니다.
  • example-kms-key는 S3 버킷 파일과 SQS 메시지를 암호화하는 데 사용되는 AWS KMS 암호화 키의 이름입니다.
  • example-long-term-bucket는 이벤트를 저장하는 데 사용되는 장기 보관용 S3 버킷입니다.
  • example-transient-bucket는 쿼리 결과 및 대용량 파일과 같은 임시 파일을 저장하는 데 사용되는 임시 S3 버킷입니다.
  • example-db는 AWS Glue 데이터베이스의 이름입니다.
  • example-table는 AWS Glue 테이블의 이름입니다.
  • example-workgroup는 Amazon Athena 워크그룹의 이름입니다.
  • aws-account-id는 AWS 계정 ID입니다.

아래 스크립트를 사용하여 변수를 정의하거나 Teleport IaC 스크립트에서 구성하세요.

cat > variables.auto.tfvars << EOF
aws_region                = "eu-central-1"
iac_sqs_queue_name        = "example-sqs-queue"
iac_sqs_dlq_name          = "example-sqs-dlq"
iac_kms_key_alias         = "example-kms-key"
iac_long_term_bucket_name = "example-long-term-bucket"
iac_transient_bucket_name = "example-transient-bucket"
iac_database_name         = "example-db"
iac_table_name            = "example-table"
iac_workgroup             = "example-workgroup"
EOF

다음 Terraform 스크립트를 실행하여 필요한 인프라를 생성하세요.

variables.tf#

variables.tf 파일에는 필요한 Terraform 변수에 대한 설명이 포함되어 있습니다.

<div class="admonition note"><div class="admonition-title">Note</div><p>이 섹션의 내용은 원문 문서를 참조하세요. (<code>variables.tf</code>)</p></div>

identity_activity_center.tf#

identity_activity_center.tf 파일에는 Terraform이 생성하고 관리할 모든 리소스에 대한 선언이 포함되어 있습니다. 여기에는 AWS KMS 키, 임시 및 장기 보관용 AWS S3 버킷, AWS Glue 테이블 및 데이터베이스가 포함됩니다.

<div class="admonition note"><div class="admonition-title">Note</div><p>이 섹션의 내용은 원문 문서를 참조하세요. (<code>identity_activity_center.tf</code>)</p></div>

policy.tf#

policy.tf에는 Identity Security 서비스가 리소스에 접근하고 쿼리를 실행할 수 있도록, Identity Security 서비스가 실행되는 AWS 아이덴티티에 반드시 연결되어야 하는 AWS IAM 정책의 선언이 포함되어 있습니다. Identity Security에 EC2 인스턴스를 사용하는 경우 인스턴스 역할에 정책을 연결하세요. ECS 또는 EKS를 사용하는 경우 태스크 또는 파드 역할에 정책을 연결하세요.

<div class="admonition note"><div class="admonition-title">Note</div><p>이 섹션의 내용은 원문 문서를 참조하세요. (<code>policy.tf</code>)</p></div>

Terraform 스크립트는 다음 두 가지 변수를 출력합니다.

  • identity_activity_center_iam_policy: Identity Security가 AWS 리소스에 연결하는 데 필요한 AWS IAM 정책입니다. Identity Security AWS IAM 역할에 이 정책을 연결하세요.
  • identity_activity_center_yaml: Identity Security 구성 또는 Helm 차트 값에 추가할 YAML 구성입니다.

2/3단계. MaxMind GeoIP City 데이터베이스 구성(선택 사항)#

Note

MaxMind GeoIP 데이터베이스 구성은 선택 사항이지만, 지리적 위치 추적을 위해 구성하는 것을 권장합니다.

국가, 도시, 지역, 위도, 경도 등 IP 주소를 기반으로 한 GeoIP 세부 정보로 감사 이벤트를 보강하려면, MaxMind GeoIP City 데이터베이스를 사용하는 것을 강력히 권장합니다.

MaxMind는 GeoIP City 데이터베이스의 무료 버전과 유료 버전을 모두 제공합니다. 무료 버전은 유료 버전에 비해 정확도가 낮고 업데이트 빈도도 낮습니다. 무료 버전을 다운로드하거나 유료 버전을 구매하는 방법에 대한 안내는 MaxMind Developer 웹사이트에서 확인할 수 있습니다.

셀프 호스팅 클러스터에 대한 향상된 위치 세부 정보를 구성하려면, Identity Security가 실행되는 머신에 데이터베이스 파일을 업로드하세요. 아래 구성 파일에서 해당 위치를 지정합니다.

Helm 차트를 사용하여 설치된 셀프 호스팅 클러스터에 대한 향상된 위치 세부 정보를 구성하려면, 먼저 IP 데이터베이스가 포함된 시크릿을 생성하세요.

$ kubectl create secret generic maxmind-geoip-city-db --from-file=GeoLite2-City.mmdb

3/3단계. Identity Security 구성 수정#

Access Graph 서비스에서 Identity Activity Center 구성을 수정한 다음 서비스를 재시작하세요.

  1. Access Graph 서비스를 실행하는 호스트에서, Identity Security 구성을 업데이트하고 다음 섹션을 추가하세요.

    # Configuration for Teleport Access Graph service.
    # Example: /etc/access_graph/config.yaml
    # Add the following section to enable Identity Activity Center.
    # ...
    identity_activity_center:
      region: eu-central-1
      database: example-db
      table: example-table
      s3: s3://example-long-term-bucket/data/
      s3_results: s3://example-transient-bucket/results/
      s3_large_files: s3://example-transient-bucket/large_files
      workgroup: example-workgroup
      sqs_queue_url: https://sqs.eu-central-1.amazonaws.com/aws-account-id/example-sqs-queue
      maxmind_geoip_city_db_path: /path/to/geoIp-city.mmdb # optional
    # ...
    
  2. Access Graph 서비스를 실행하는 Docker 컨테이너를 찾으세요.

    $ docker ps
    
  3. Access Graph 서비스 컨테이너의 ID로 container-id를 지정하여 Access Graph 서비스를 재시작하세요.

    $ docker restart container-id
    

Helm 차트를 사용하여 설치된 셀프 호스팅 클러스터에 대해 구성하려면, 다음 세부 정보로 Helm 차트 값을 업데이트하세요.


# optional
 volumes:
 - name: maxmind-geoip-city-db
   secret:
     secretName: maxmind-geoip-city-db
     optional: false

# optional
 volumeMounts:
 - name: maxmind-geoip-city-db
   mountPath: "/etc/maxmindGeoIP/"
   readOnly: true

identity_activity_center:
  enabled: true
  region: eu-central-1
  database: example-db
  table: example-table
  s3: s3://example-long-term-bucket/data/
  s3_results: s3://example-transient-bucket/results/
  s3_large_files: s3://example-transient-bucket/large_files
  workgroup: example-workgroup
  sqs_queue_url: https://sqs.eu-central-1.amazonaws.com/aws-account-id/example-sqs-queue
  maxmind_geoip_city_db_path: "/etc/maxmindGeoIP/GeoLite2-City.mmdb" # optional

Identity Security Helm 차트 릴리스를 업그레이드하세요. 아래 명령어는 값 파일이 tag-values.yaml에 있다고 가정합니다.

$ helm upgrade -n teleport-access-graph -f tag-values.yaml \
    --version (=access_graph.version=) teleport-access-graph teleport/teleport-access-graph

Identity Activity Center 셀프 호스팅

Teleport v18.9
원문 보기
요약

이 가이드에서는 Teleport의 Identity Security 제품에서 Identity Activity Center를 활성화하는 데 필요한 인프라를 설정합니다. Teleport Identity Activity Center는 가시성을 향상시키고, 여러 데이터 소스에 걸쳐 사람과 비인간 ID 모두의 활동을 검색하고 분석할 수 있게 해주는 중앙 집중식 데이터 플랫폼입니다.

이 가이드에서는 Teleport의 Identity Security 제품에서 Identity Activity Center를 활성화하는 데 필요한 인프라를 설정합니다. Identity Activity Center를 사용하면 다양한 소스의 감사 로그와 접근 경로를 중앙화하여 가시성과 관리를 향상시킬 수 있습니다.

Teleport Identity Activity Center는 가시성을 향상시키고, 여러 데이터 소스에 걸쳐 사람과 비인간 ID 모두의 활동을 검색하고 분석할 수 있게 해주는 중앙 집중식 데이터 플랫폼입니다.

이는 AWS, GitHub, Okta, Teleport와 같은 서비스 전반의 접근 정책을 해당 ID들의 실시간 활동과 매핑하는 풍부한 시각화 계층을 제공합니다.

보안 및 운영 팀을 지원하기 위해 구축된 Identity Activity Center는 서로 다른 플랫폼에 걸쳐 동일한 ID의 활동을 결합하여 플랫폼 전반의 ID 기반 이벤트 상관관계를 개선하고 조사를 신속하게 처리합니다. 감사 로그에서 이상 징후를 감지하고, 비정상적인 동작을 강조하며, 각 ID가 기업 서비스 전반에서 갖는 접근 수준을 설명하는 지능형 알림 엔진을 통해 사고 대응 시 맥락적 인사이트를 제공합니다.

Identity Activity Center는 Teleport Enterprise 고객에게만 제공되는 Teleport Identity Security 제품의 기능입니다.

작동 방식#

Teleport Identity Security는 AWS SQS 큐를 사용하여 감사 로그를 게시하고 소비합니다. 고가용성 모드로 배포된 경우, Teleport Identity Security는 큐에서 메시지를 소비하고 위치와 같은 메타데이터로 변환 및 보강한 다음, 장기 보관용 S3 버킷에 Parquet 파일로 기록하는 역할을 담당하는 리더를 선출합니다.

Amazon Athena는 Identity Activity Center의 쿼리 엔진을 구동합니다. 스키마를 지정하고 장기 보관용 S3 버킷에 저장된 Parquet 파일에서 데이터를 검색하기 위해, Amazon Athena는 AWS Glue 테이블을 활용합니다. 이러한 구성을 통해 감사 로그를 효율적으로 쿼리하고 분석할 수 있어, 아이덴티티 보안에 대한 향상된 인사이트와 간소화된 데이터 관리가 가능해집니다.

사전 요구사항#

  • v18.0.0 이상의 실행 중인 Teleport Enterprise 클러스터.
  • Teleport Identity Security가 활성화된 최신 Teleport Enterprise 라이선스 파일.
  • v14 이상의 PostgreSQL 데이터베이스 서버.
    • Access Graph는 데이터를 저장하기 위해 전용 데이터베이스가 필요합니다. Access Graph가 데이터베이스에 연결할 때 사용하는 사용자는 이 데이터베이스의 소유자이거나 이와 유사한 광범위한 권한, 즉 최소한 public 스키마에 대한 CREATE TABLE 권한과 CREATE SCHEMA 권한을 보유해야 합니다.
    • Amazon RDS for PostgreSQL을 지원합니다.
  • Access Graph 서비스용 TLS 인증서
  • v1.28.0 이상의 실행 중인 셀프 호스팅 Access Graph 노드. 사용 중인 플랫폼에 맞는 다음 가이드 중 하나를 참고하세요.
Note

Identity Activity Center는 현재 셀프 호스팅 클러스터에서만 지원됩니다. Teleport Enterprise Cloud 지원은 올해 하반기에 출시될 예정입니다.

1/3단계. 인프라 설정#

다음 Terraform 스크립트를 사용하여 Identity Activity Center를 지원하는 데 필요한 인프라를 설정할 수 있습니다.

Terraform 스크립트

아래는 Terraform 스크립트를 실행하는 데 필요한 변수 목록과 그 설명입니다.

  • eu-central-1는 인프라가 생성될 리전의 이름입니다.
  • example-sqs-queue는 AWS SQS 큐의 이름입니다.
  • example-sqs-dlq는 AWS SQS 데드레터 큐의 이름입니다.
  • example-kms-key는 S3 버킷 파일과 SQS 메시지를 암호화하는 데 사용되는 AWS KMS 암호화 키의 이름입니다.
  • example-long-term-bucket는 이벤트를 저장하는 데 사용되는 장기 보관용 S3 버킷입니다.
  • example-transient-bucket는 쿼리 결과 및 대용량 파일과 같은 임시 파일을 저장하는 데 사용되는 임시 S3 버킷입니다.
  • example-db는 AWS Glue 데이터베이스의 이름입니다.
  • example-table는 AWS Glue 테이블의 이름입니다.
  • example-workgroup는 Amazon Athena 워크그룹의 이름입니다.
  • aws-account-id는 AWS 계정 ID입니다.

아래 스크립트를 사용하여 변수를 정의하거나 Teleport IaC 스크립트에서 구성하세요.

cat > variables.auto.tfvars << EOF
aws_region                = "eu-central-1"
iac_sqs_queue_name        = "example-sqs-queue"
iac_sqs_dlq_name          = "example-sqs-dlq"
iac_kms_key_alias         = "example-kms-key"
iac_long_term_bucket_name = "example-long-term-bucket"
iac_transient_bucket_name = "example-transient-bucket"
iac_database_name         = "example-db"
iac_table_name            = "example-table"
iac_workgroup             = "example-workgroup"
EOF

다음 Terraform 스크립트를 실행하여 필요한 인프라를 생성하세요.

variables.tf#

variables.tf 파일에는 필요한 Terraform 변수에 대한 설명이 포함되어 있습니다.

<div class="admonition note"><div class="admonition-title">Note</div><p>이 섹션의 내용은 원문 문서를 참조하세요. (<code>variables.tf</code>)</p></div>

identity_activity_center.tf#

identity_activity_center.tf 파일에는 Terraform이 생성하고 관리할 모든 리소스에 대한 선언이 포함되어 있습니다. 여기에는 AWS KMS 키, 임시 및 장기 보관용 AWS S3 버킷, AWS Glue 테이블 및 데이터베이스가 포함됩니다.

<div class="admonition note"><div class="admonition-title">Note</div><p>이 섹션의 내용은 원문 문서를 참조하세요. (<code>identity_activity_center.tf</code>)</p></div>

policy.tf#

policy.tf에는 Identity Security 서비스가 리소스에 접근하고 쿼리를 실행할 수 있도록, Identity Security 서비스가 실행되는 AWS 아이덴티티에 반드시 연결되어야 하는 AWS IAM 정책의 선언이 포함되어 있습니다. Identity Security에 EC2 인스턴스를 사용하는 경우 인스턴스 역할에 정책을 연결하세요. ECS 또는 EKS를 사용하는 경우 태스크 또는 파드 역할에 정책을 연결하세요.

<div class="admonition note"><div class="admonition-title">Note</div><p>이 섹션의 내용은 원문 문서를 참조하세요. (<code>policy.tf</code>)</p></div>

Terraform 스크립트는 다음 두 가지 변수를 출력합니다.

  • identity_activity_center_iam_policy: Identity Security가 AWS 리소스에 연결하는 데 필요한 AWS IAM 정책입니다. Identity Security AWS IAM 역할에 이 정책을 연결하세요.
  • identity_activity_center_yaml: Identity Security 구성 또는 Helm 차트 값에 추가할 YAML 구성입니다.

2/3단계. MaxMind GeoIP City 데이터베이스 구성(선택 사항)#

Note

MaxMind GeoIP 데이터베이스 구성은 선택 사항이지만, 지리적 위치 추적을 위해 구성하는 것을 권장합니다.

국가, 도시, 지역, 위도, 경도 등 IP 주소를 기반으로 한 GeoIP 세부 정보로 감사 이벤트를 보강하려면, MaxMind GeoIP City 데이터베이스를 사용하는 것을 강력히 권장합니다.

MaxMind는 GeoIP City 데이터베이스의 무료 버전과 유료 버전을 모두 제공합니다. 무료 버전은 유료 버전에 비해 정확도가 낮고 업데이트 빈도도 낮습니다. 무료 버전을 다운로드하거나 유료 버전을 구매하는 방법에 대한 안내는 MaxMind Developer 웹사이트에서 확인할 수 있습니다.

셀프 호스팅 클러스터에 대한 향상된 위치 세부 정보를 구성하려면, Identity Security가 실행되는 머신에 데이터베이스 파일을 업로드하세요. 아래 구성 파일에서 해당 위치를 지정합니다.

Helm 차트를 사용하여 설치된 셀프 호스팅 클러스터에 대한 향상된 위치 세부 정보를 구성하려면, 먼저 IP 데이터베이스가 포함된 시크릿을 생성하세요.

$ kubectl create secret generic maxmind-geoip-city-db --from-file=GeoLite2-City.mmdb

3/3단계. Identity Security 구성 수정#

Access Graph 서비스에서 Identity Activity Center 구성을 수정한 다음 서비스를 재시작하세요.

  1. Access Graph 서비스를 실행하는 호스트에서, Identity Security 구성을 업데이트하고 다음 섹션을 추가하세요.

    # Configuration for Teleport Access Graph service.
    # Example: /etc/access_graph/config.yaml
    # Add the following section to enable Identity Activity Center.
    # ...
    identity_activity_center:
      region: eu-central-1
      database: example-db
      table: example-table
      s3: s3://example-long-term-bucket/data/
      s3_results: s3://example-transient-bucket/results/
      s3_large_files: s3://example-transient-bucket/large_files
      workgroup: example-workgroup
      sqs_queue_url: https://sqs.eu-central-1.amazonaws.com/aws-account-id/example-sqs-queue
      maxmind_geoip_city_db_path: /path/to/geoIp-city.mmdb # optional
    # ...
    
  2. Access Graph 서비스를 실행하는 Docker 컨테이너를 찾으세요.

    $ docker ps
    
  3. Access Graph 서비스 컨테이너의 ID로 container-id를 지정하여 Access Graph 서비스를 재시작하세요.

    $ docker restart container-id
    

Helm 차트를 사용하여 설치된 셀프 호스팅 클러스터에 대해 구성하려면, 다음 세부 정보로 Helm 차트 값을 업데이트하세요.


# optional
 volumes:
 - name: maxmind-geoip-city-db
   secret:
     secretName: maxmind-geoip-city-db
     optional: false

# optional
 volumeMounts:
 - name: maxmind-geoip-city-db
   mountPath: "/etc/maxmindGeoIP/"
   readOnly: true

identity_activity_center:
  enabled: true
  region: eu-central-1
  database: example-db
  table: example-table
  s3: s3://example-long-term-bucket/data/
  s3_results: s3://example-transient-bucket/results/
  s3_large_files: s3://example-transient-bucket/large_files
  workgroup: example-workgroup
  sqs_queue_url: https://sqs.eu-central-1.amazonaws.com/aws-account-id/example-sqs-queue
  maxmind_geoip_city_db_path: "/etc/maxmindGeoIP/GeoLite2-City.mmdb" # optional

Identity Security Helm 차트 릴리스를 업그레이드하세요. 아래 명령어는 값 파일이 tag-values.yaml에 있다고 가정합니다.

$ helm upgrade -n teleport-access-graph -f tag-values.yaml \
    --version (=access_graph.version=) teleport-access-graph teleport/teleport-access-graph