InfoGrab Docs

Teleport Identity Security로 AWS 접근 패턴 탐색

요약

Identity Security는 전체 인프라에 걸친 접근 관리를 간소화하고 중앙화합니다. Access Graph를 사용하는 Identity Security는 AWS 계정 내 접근 패턴에 대한 인사이트를 제공합니다. Identity Security는 CloudTrail 데이터 수집, EKS(Kubernetes) API 서버 감사 로그 수집, 위협 분석 및 Okta, GitHub Actions 같은 다른 서비스와의 상관관계 분석도 제공합니다.

Identity Security는 전체 인프라에 걸친 접근 관리를 간소화하고 중앙화합니다. 모든 사용자, 그룹, 컴퓨팅 리소스 간의 통합되고 최신 관계 및 정책을 확인하여 몇 초 만에 접근 관계를 파악할 수 있습니다.

Access Graph를 사용하는 Identity Security는 AWS 계정 내 접근 패턴에 대한 인사이트를 제공합니다. IAM 권한, 사용자, 그룹, 리소스, 아이덴티티를 스캔하여 시각적 표현을 제공하고 AWS 환경 내 권한 모델을 개선하는 데 도움을 줍니다. 이 기능을 통해 다음과 같은 질문에 답할 수 있습니다:

  • AWS 사용자와 역할이 접근할 수 있는 리소스는 무엇인가?
  • EC2 인스턴스와 연관된 아이덴티티를 통해 어떤 리소스에 접근할 수 있는가?
  • Teleport 사용자가 EC2 노드에 연결할 때 접근할 수 있는 AWS 리소스는 무엇인가?

Identity Security는 CloudTrail 데이터 수집, EKS(Kubernetes) API 서버 감사 로그 수집, 위협 분석 및 Okta, GitHub Actions 같은 다른 서비스와의 상관관계 분석도 제공합니다.

AWS 계정 내 IAM 권한을 분석하기 위해 Access Graph를 활용하려면 Access Graph 서비스, Discovery Service를 설정하고 AWS 계정과 통합해야 합니다.

Access Graph is a feature of the Teleport Identity Security product available to Teleport Enterprise edition customers.

To verify that Access Graph is set up correctly for your cluster, sign in to the Teleport Web UI, click the Identity Security sidebar button, and then the Browse menu item. Identities, resources, etc. should be listed.

작동 방식#

Access Graph는 AWS 접근 패턴을 탐색하고 IAM 정책, 그룹, 사용자, 사용자 그룹, EC2 인스턴스, EKS 클러스터, RDS 데이터베이스, KMS 키 등 다양한 AWS 리소스를 동기화합니다. 이러한 리소스는 Identity Security 사용 페이지에서 자세히 설명된 그래프 표현을 사용하여 시각화됩니다.

가져오기 과정은 세 가지 주요 단계로 이루어집니다:

클라우드 API 폴링#

Teleport Discovery Service는 구성된 AWS 계정을 지속적으로 스캔합니다. 15분 간격으로 AWS 계정에서 다음 리소스를 검색합니다:

  • 사용자
  • 그룹
  • 사용자 그룹
  • IAM 역할
  • IAM 정책
  • EC2 인스턴스
  • EKS 클러스터
  • RDS 데이터베이스
  • S3 버킷
  • KMS 키

필요한 모든 리소스를 가져오면 Teleport Discovery Service는 이를 Access Graph에 푸시하여 AWS 환경의 최신 정보로 업데이트된 상태를 유지합니다.

리소스 가져오기#

Identity Security의 Access Graph 기능은 AWS 계정에서 검색한 IAM 정책, 아이덴티티, 리소스를 분석하여 그래픽 표현을 만듭니다.

AWS CloudTrail 로그 가져오기 (선택 사항)#

CloudTrail이 AWS 계정의 활동을 기록하도록 구성된 경우, S3 버킷에 로그 파일을 전달합니다. Identity Activity Center는 거의 실시간으로 트레일 데이터를 처리할 수 있습니다. CloudTrail에서 Amazon SNS 알림을 활성화하면 새 로그 파일이 작성될 때마다 새 알림이 전송됩니다. 이 SNS 토픽은 들어오는 알림의 버퍼 역할을 하는 SQS 큐를 구독합니다.

Teleport는 AWS 통합을 사용하여 SQS 큐를 구독하고 정기적으로 새 메시지를 폴링합니다. 각 메시지에는 버킷 이름 및 객체 키와 같은 S3의 새 객체에 대한 메타데이터가 포함됩니다. Teleport는 이 정보를 사용하여 S3에서 직접 해당 CloudTrail 로그 파일을 가져옵니다.

파일이 다운로드되면 Teleport는 CloudTrail 이벤트를 파싱하고 감사 및 보안 목적으로 처리합니다. 이를 통해 Identity Activity Center는 로그인 시도, API 호출, 인프라 변경을 포함한 AWS 서비스 전반의 활동에 대한 지속적인 가시성을 제공합니다.

Amazon EKS API 서버 감사 로그 가져오기 (선택 사항)#

EKS가 API 서버 감사 로그를 CloudWatch Logs에 기록하도록 구성된 경우, Identity Activity Center는 거의 실시간으로 이러한 로그를 처리할 수 있습니다. Teleport는 이러한 로그를 지속적으로 가져와 감사 및 보안 목적으로 파싱합니다. 이를 통해 Identity Activity Center는 EKS 클러스터 내 활동에 대한 지속적인 가시성을 제공합니다.

사전 조건#

  • 실행 중인 Teleport Enterprise 클러스터 v18.0.0 이상.
  • 계정에 Identity Security가 활성화되어 있어야 합니다.
  • 셀프 호스팅 클러스터의 경우:
    • Auth Service 구성에 최신 license.pem이 사용되고 있는지 확인합니다.
    • 실행 중인 Access Graph 노드 v1.28.0 이상. Access Graph 설정 방법은 Identity Security 페이지를 참조하세요.
    • Access Graph 서비스를 실행하는 노드는 Teleport Auth Service에서 접근할 수 있어야 합니다.
    • SNS 토픽으로 알림이 전송되도록 설정된 AWS CloudTrail.
    • CloudTrail SNS 알림에서 원시 메시지를 받는 AWS SQS 큐.

1단계/4단계. Discovery Service 구성 (셀프 호스팅만 해당)#

Warning

클라우드 호스팅 Teleport Enterprise 클러스터가 있는 경우 이 단계를 무시하면 됩니다. 클라우드 호스팅 Teleport Enterprise는 이미 클러스터 내에 적절히 구성된 Discovery Service를 운영하고 있습니다.

Teleport Discovery Service를 활성화하려면 Auth Service에서 사용하는 teleport.yaml 구성에 최상위 discovery_service 섹션을 추가합니다. 이 서비스는 discovery_group 매칭으로 설정된 동적 discovery_config 리소스를 모니터링합니다.

.

discovery_service:
  enabled: true
  discovery_group:  name="discovery-group" />

클러스터 내에서 이미 Discovery Service를 운영 중인 경우 다음 요구 사항이 충족되는 한 재사용할 수 있습니다:

  • 2단계에서 기존 Discovery Service의 discovery_group과 일치하는 discovery_group을 사용합니다.
  • Discovery Service가 실행되는 머신에서 Access Graph 서비스에 접근할 수 있어야 합니다.

2단계/4단계. Identity Activity Center를 위한 CloudTrail 이벤트 통합 (선택 사항)#

Identity Activity Center CloudTrail 통합을 활성화하려면 기존 CloudTrail 트레일을 사용하거나 새로운 트레일을 만들 수 있습니다. 트레일은 단일 AWS 계정으로 범위를 지정하거나 여러 계정의 이벤트를 수집하는 AWS Organization 트레일로 구성할 수 있습니다. 기존 트레일이 있는 경우 비용을 줄이기 위해 해당 트레일을 사용하는 것이 좋습니다.

CloudTrail 데이터에 거의 실시간으로 접근하려면 트레일에 Amazon SNS 알림을 활성화해야 합니다. SNS 알림이 이미 구성되지 않은 경우 트레일 설정으로 이동하여 SNS 알림 전송을 활성화하고 새 SNS 토픽을 만듭니다.

Show Trail Settings

SNS 토픽을 설정한 후 새 Standard Amazon SQS 큐를 만들고 방금 만든 SNS 토픽을 구독합니다. 큐는 트레일 SNS 알림에만 사용되어야 합니다. 구독을 구성할 때 원시 메시지 전송 활성화 옵션을 활성화해야 합니다. 이 설정이 없으면 Identity Activity Center가 알림을 올바르게 파싱할 수 없습니다.

Show SNS Settings

선택 사항이지만 SQS 큐와 대상 S3 버킷 모두에 KMS 암호화를 활성화하는 것을 강력히 권장합니다. Identity Security가 SQS에서 메시지를 성공적으로 복호화하고 S3 버킷의 CloudTrail 로그에 접근할 수 있도록 다음 단계에서 필요한 KMS 키 권한을 구성해야 합니다.

3단계/4단계. Identity Activity Center를 위한 Amazon EKS CloudWatch 감사 로그 통합 (선택 사항)#

EKS API 서버 감사 로그에 거의 실시간으로 접근하려면 AWS 웹 콘솔을 사용하여 EKS 클러스터 구성으로 이동합니다. "Observability" 탭의 "Control plane logs" 섹션에서 "Manage" 버튼을 클릭합니다. 그런 다음 "Audit" 체크박스를 선택하여 컨트롤 플레인 로그를 CloudWatch Logs에 전송합니다.

Show EKS Audit Settings

4단계에서 수행되는 기본 설정은 구성된 AWS 리전의 모든 EKS 클러스터와 일치합니다. 로그를 가져올 EKS 클러스터를 더 선택적으로 지정하려면 EKS 클러스터의 태그와 일치하는 태그가 있는 discovery_config 리소스를 만들 수 있습니다. 태그가 일치하는 클러스터의 API 서버 감사 로그가 CloudWatch Logs에서 가져와 Identity Activity Center로 가져옵니다.

  • : discovery_config 리소스의 이름.
  • : 기존 Discovery Service의 discovery_group과 일치하는 discovery_group 이름 (1단계에서 설명된 대로).
  • : EKS 클러스터를 탐색할 AWS 리전 목록.
  • : EKS 클러스터가 일치해야 하는 태그 이름, 또는 모든 태그에 대해 "*".
  • : 일치하기 위해 명명된 태그가 가져야 하는 값 또는 값 목록, 또는 모든 값에 대해 "*". 목록인 경우 값 중 하나만 일치하면 됩니다.
kind: discovery_config
version: v1
metadata:
  name:  name="resource-name" />
spec:
  discovery_group:  name="discovery-group" />
  access_graph:
    aws:
      - regions: [ name="regions" />]
        eks_audit_logs:
          tags:
             name="tag-name" />:  name="tag-value" />
            ...
  1. 이 YAML 구성을 파일에 저장합니다.
  2. 클러스터의 Teleport Proxy Service 도메인 이름을 에 할당하여 클러스터에 이 구성 파일을 적용합니다:
    $ tctl create --proxy= -f 
    

이를 통해 Teleport는 EKS 클러스터 태그가 탐색 구성과 일치하는 지정된 리전의 EKS 클러스터에 대한 감사 로그를 가져오도록 구성됩니다. 지난 7일간의 로그가 가져와지고 EKS 클러스터 태그가 탐색 구성과 일치하는 한 지속적으로 가져와집니다.

4단계/4단계. Access Graph AWS Sync 설정#

AWS Sync 구성을 위한 설정 마법사를 시작하려면 Teleport UI에 접근하여 Identity Security 사이드바 버튼을 클릭한 다음 Integrations를 클릭합니다.

"Setup new integration" 버튼을 클릭한 다음 "AWS"를 선택합니다. 아직 AWS 통합을 구성하지 않은 경우 새 Teleport AWS 통합을 만들라는 메시지가 표시됩니다. 또는 이전에 설정된 통합을 선택할 수 있습니다.

통합을 선택하거나 만들면 AWS Cloud Shell에서 bash 스크립트를 실행하여 필요한 권한을 구성하도록 안내됩니다.

AWS Sync에 필요한 IAM 정책 목록

이 정책은 Teleport가 AWS 계정 내 리소스에서 정보를 접근하고 검색할 수 있도록 하는 읽기 전용 작업 세트로 설계되었습니다.

IAM 정책에는 다음 지시문이 포함됩니다:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances",
        "ec2:DescribeImages",
        "ec2:DescribeTags",
        "ec2:DescribeSnapshots",
        "ec2:DescribeKeyPairs",

        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:ListAccessEntries",
        "eks:ListAccessPolicies",
        "eks:ListAssociatedAccessPolicies",
        "eks:DescribeAccessEntry",

        "rds:DescribeDBInstances",
        "rds:DescribeDBClusters",
        "rds:ListTagsForResource",
        "rds:DescribeDBProxies",

        "dynamodb:ListTables",
        "dynamodb:DescribeTable",

        "redshift:DescribeClusters",
        "redshift:Describe*",

        "s3:ListAllMyBuckets",
        "s3:GetBucketPolicy",
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:GetBucketTagging",
        "s3:GetBucketPolicyStatus",
        "s3:GetBucketAcl",

        "iam:ListUsers",
        "iam:GetUser",
        "iam:ListRoles",
        "iam:ListGroups",
        "iam:ListPolicies",
        "iam:ListGroupsForUser",
        "iam:ListInstanceProfiles",
        "iam:ListUserPolicies",
        "iam:GetUserPolicy",
        "iam:ListAttachedUserPolicies",
        "iam:ListGroupPolicies",
        "iam:GetGroupPolicy",
        "iam:ListAttachedGroupPolicies",
        "iam:GetPolicy",
        "iam:GetPolicyVersion",
        "iam:ListRolePolicies",
        "iam:ListAttachedRolePolicies",
        "iam:GetRolePolicy",
        "iam:ListSAMLProviders",
        "iam:GetSAMLProvider",
        "iam:ListOpenIDConnectProviders",
        "iam:GetOpenIDConnectProvider",

        "kms:ListKeys",
        "kms:DescribeKey",
        "kms:ListResourceTags",
        "kms:ListAliases",
        "kms:GetKeyPolicy"
      ],
      "Resource": "*"
    }
  ]
}

Identity Activity Center가 활성화된 경우 CloudTrail 통합을 위해 다음 추가 구성이 필요합니다:

  • : CloudTrail 알림을 받는 SNS 토픽을 구독하는 Amazon SQS 큐의 ARN.
  • : CloudTrail이 로그 파일을 전달하는 Amazon S3 버킷의 ARN.
  • : SQS 큐의 메시지를 암호화하는 데 사용되는 AWS KMS 키의 ARN.
  • : CloudTrail 로그를 저장하는 S3 버킷의 객체를 암호화하는 데 사용되는 AWS KMS 키의 ARN.
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:ReceiveMessage",
        "sqs:DeleteMessage",
        "sqs:SendMessage"
      ],
      "Resource": "aws-sqs-queue"/>"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:ListBucket",
        "s3:ListBucketVersions",
        "s3:GetBucketLocation"
      ],
      "Resource": "aws-s3-trail-bucket"/>"
    },
    {
      "Effect": "Allow",
      "Action": [
          "kms:Decrypt",
          "kms:DescribeKey",
          "kms:GenerateDataKey",
          "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": [
        "aws-sqs-kms-queue-key"/>",
        "aws-s3-kms-key"/>"
      ]
    }
  ]
}

EKS 감사 로그 통합이 활성화된 경우 IAM 정책에는 다음 지시문이 포함됩니다:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:FilterLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/eks/*"
    }
  ]
}

IAM 정책이 Teleport에서 사용하는 IAM 역할에 성공적으로 연결되면 Teleport가 리소스를 가져올 리전을 지정하라는 메시지가 표시됩니다. 이 선택은 리전별 리소스에만 해당되며 S3 버킷, IAM 정책 또는 IAM 사용자와 같은 글로벌 리소스에는 영향을 주지 않습니다.

셀프 호스팅 클러스터를 운영 중인 경우 1단계에서 구성한 discovery_group도 입력해야 합니다.

Teleport Identity Security로 AWS 접근 패턴 탐색

원문 보기
요약

Identity Security는 전체 인프라에 걸친 접근 관리를 간소화하고 중앙화합니다. Access Graph를 사용하는 Identity Security는 AWS 계정 내 접근 패턴에 대한 인사이트를 제공합니다. Identity Security는 CloudTrail 데이터 수집, EKS(Kubernetes) API 서버 감사 로그 수집, 위협 분석 및 Okta, GitHub Actions 같은 다른 서비스와의 상관관계 분석도 제공합니다.

Identity Security는 전체 인프라에 걸친 접근 관리를 간소화하고 중앙화합니다. 모든 사용자, 그룹, 컴퓨팅 리소스 간의 통합되고 최신 관계 및 정책을 확인하여 몇 초 만에 접근 관계를 파악할 수 있습니다.

Access Graph를 사용하는 Identity Security는 AWS 계정 내 접근 패턴에 대한 인사이트를 제공합니다. IAM 권한, 사용자, 그룹, 리소스, 아이덴티티를 스캔하여 시각적 표현을 제공하고 AWS 환경 내 권한 모델을 개선하는 데 도움을 줍니다. 이 기능을 통해 다음과 같은 질문에 답할 수 있습니다:

  • AWS 사용자와 역할이 접근할 수 있는 리소스는 무엇인가?
  • EC2 인스턴스와 연관된 아이덴티티를 통해 어떤 리소스에 접근할 수 있는가?
  • Teleport 사용자가 EC2 노드에 연결할 때 접근할 수 있는 AWS 리소스는 무엇인가?

Identity Security는 CloudTrail 데이터 수집, EKS(Kubernetes) API 서버 감사 로그 수집, 위협 분석 및 Okta, GitHub Actions 같은 다른 서비스와의 상관관계 분석도 제공합니다.

AWS 계정 내 IAM 권한을 분석하기 위해 Access Graph를 활용하려면 Access Graph 서비스, Discovery Service를 설정하고 AWS 계정과 통합해야 합니다.

Access Graph is a feature of the Teleport Identity Security product available to Teleport Enterprise edition customers.

To verify that Access Graph is set up correctly for your cluster, sign in to the Teleport Web UI, click the Identity Security sidebar button, and then the Browse menu item. Identities, resources, etc. should be listed.

작동 방식#

Access Graph는 AWS 접근 패턴을 탐색하고 IAM 정책, 그룹, 사용자, 사용자 그룹, EC2 인스턴스, EKS 클러스터, RDS 데이터베이스, KMS 키 등 다양한 AWS 리소스를 동기화합니다. 이러한 리소스는 Identity Security 사용 페이지에서 자세히 설명된 그래프 표현을 사용하여 시각화됩니다.

가져오기 과정은 세 가지 주요 단계로 이루어집니다:

클라우드 API 폴링#

Teleport Discovery Service는 구성된 AWS 계정을 지속적으로 스캔합니다. 15분 간격으로 AWS 계정에서 다음 리소스를 검색합니다:

  • 사용자
  • 그룹
  • 사용자 그룹
  • IAM 역할
  • IAM 정책
  • EC2 인스턴스
  • EKS 클러스터
  • RDS 데이터베이스
  • S3 버킷
  • KMS 키

필요한 모든 리소스를 가져오면 Teleport Discovery Service는 이를 Access Graph에 푸시하여 AWS 환경의 최신 정보로 업데이트된 상태를 유지합니다.

리소스 가져오기#

Identity Security의 Access Graph 기능은 AWS 계정에서 검색한 IAM 정책, 아이덴티티, 리소스를 분석하여 그래픽 표현을 만듭니다.

AWS CloudTrail 로그 가져오기 (선택 사항)#

CloudTrail이 AWS 계정의 활동을 기록하도록 구성된 경우, S3 버킷에 로그 파일을 전달합니다. Identity Activity Center는 거의 실시간으로 트레일 데이터를 처리할 수 있습니다. CloudTrail에서 Amazon SNS 알림을 활성화하면 새 로그 파일이 작성될 때마다 새 알림이 전송됩니다. 이 SNS 토픽은 들어오는 알림의 버퍼 역할을 하는 SQS 큐를 구독합니다.

Teleport는 AWS 통합을 사용하여 SQS 큐를 구독하고 정기적으로 새 메시지를 폴링합니다. 각 메시지에는 버킷 이름 및 객체 키와 같은 S3의 새 객체에 대한 메타데이터가 포함됩니다. Teleport는 이 정보를 사용하여 S3에서 직접 해당 CloudTrail 로그 파일을 가져옵니다.

파일이 다운로드되면 Teleport는 CloudTrail 이벤트를 파싱하고 감사 및 보안 목적으로 처리합니다. 이를 통해 Identity Activity Center는 로그인 시도, API 호출, 인프라 변경을 포함한 AWS 서비스 전반의 활동에 대한 지속적인 가시성을 제공합니다.

Amazon EKS API 서버 감사 로그 가져오기 (선택 사항)#

EKS가 API 서버 감사 로그를 CloudWatch Logs에 기록하도록 구성된 경우, Identity Activity Center는 거의 실시간으로 이러한 로그를 처리할 수 있습니다. Teleport는 이러한 로그를 지속적으로 가져와 감사 및 보안 목적으로 파싱합니다. 이를 통해 Identity Activity Center는 EKS 클러스터 내 활동에 대한 지속적인 가시성을 제공합니다.

사전 조건#

  • 실행 중인 Teleport Enterprise 클러스터 v18.0.0 이상.
  • 계정에 Identity Security가 활성화되어 있어야 합니다.
  • 셀프 호스팅 클러스터의 경우:
    • Auth Service 구성에 최신 license.pem이 사용되고 있는지 확인합니다.
    • 실행 중인 Access Graph 노드 v1.28.0 이상. Access Graph 설정 방법은 Identity Security 페이지를 참조하세요.
    • Access Graph 서비스를 실행하는 노드는 Teleport Auth Service에서 접근할 수 있어야 합니다.
    • SNS 토픽으로 알림이 전송되도록 설정된 AWS CloudTrail.
    • CloudTrail SNS 알림에서 원시 메시지를 받는 AWS SQS 큐.

1단계/4단계. Discovery Service 구성 (셀프 호스팅만 해당)#

Warning

클라우드 호스팅 Teleport Enterprise 클러스터가 있는 경우 이 단계를 무시하면 됩니다. 클라우드 호스팅 Teleport Enterprise는 이미 클러스터 내에 적절히 구성된 Discovery Service를 운영하고 있습니다.

Teleport Discovery Service를 활성화하려면 Auth Service에서 사용하는 teleport.yaml 구성에 최상위 discovery_service 섹션을 추가합니다. 이 서비스는 discovery_group 매칭으로 설정된 동적 discovery_config 리소스를 모니터링합니다.

.

discovery_service:
  enabled: true
  discovery_group:  name="discovery-group" />

클러스터 내에서 이미 Discovery Service를 운영 중인 경우 다음 요구 사항이 충족되는 한 재사용할 수 있습니다:

  • 2단계에서 기존 Discovery Service의 discovery_group과 일치하는 discovery_group을 사용합니다.
  • Discovery Service가 실행되는 머신에서 Access Graph 서비스에 접근할 수 있어야 합니다.

2단계/4단계. Identity Activity Center를 위한 CloudTrail 이벤트 통합 (선택 사항)#

Identity Activity Center CloudTrail 통합을 활성화하려면 기존 CloudTrail 트레일을 사용하거나 새로운 트레일을 만들 수 있습니다. 트레일은 단일 AWS 계정으로 범위를 지정하거나 여러 계정의 이벤트를 수집하는 AWS Organization 트레일로 구성할 수 있습니다. 기존 트레일이 있는 경우 비용을 줄이기 위해 해당 트레일을 사용하는 것이 좋습니다.

CloudTrail 데이터에 거의 실시간으로 접근하려면 트레일에 Amazon SNS 알림을 활성화해야 합니다. SNS 알림이 이미 구성되지 않은 경우 트레일 설정으로 이동하여 SNS 알림 전송을 활성화하고 새 SNS 토픽을 만듭니다.

Show Trail Settings

SNS 토픽을 설정한 후 새 Standard Amazon SQS 큐를 만들고 방금 만든 SNS 토픽을 구독합니다. 큐는 트레일 SNS 알림에만 사용되어야 합니다. 구독을 구성할 때 원시 메시지 전송 활성화 옵션을 활성화해야 합니다. 이 설정이 없으면 Identity Activity Center가 알림을 올바르게 파싱할 수 없습니다.

Show SNS Settings

선택 사항이지만 SQS 큐와 대상 S3 버킷 모두에 KMS 암호화를 활성화하는 것을 강력히 권장합니다. Identity Security가 SQS에서 메시지를 성공적으로 복호화하고 S3 버킷의 CloudTrail 로그에 접근할 수 있도록 다음 단계에서 필요한 KMS 키 권한을 구성해야 합니다.

3단계/4단계. Identity Activity Center를 위한 Amazon EKS CloudWatch 감사 로그 통합 (선택 사항)#

EKS API 서버 감사 로그에 거의 실시간으로 접근하려면 AWS 웹 콘솔을 사용하여 EKS 클러스터 구성으로 이동합니다. "Observability" 탭의 "Control plane logs" 섹션에서 "Manage" 버튼을 클릭합니다. 그런 다음 "Audit" 체크박스를 선택하여 컨트롤 플레인 로그를 CloudWatch Logs에 전송합니다.

Show EKS Audit Settings

4단계에서 수행되는 기본 설정은 구성된 AWS 리전의 모든 EKS 클러스터와 일치합니다. 로그를 가져올 EKS 클러스터를 더 선택적으로 지정하려면 EKS 클러스터의 태그와 일치하는 태그가 있는 discovery_config 리소스를 만들 수 있습니다. 태그가 일치하는 클러스터의 API 서버 감사 로그가 CloudWatch Logs에서 가져와 Identity Activity Center로 가져옵니다.

  • : discovery_config 리소스의 이름.
  • : 기존 Discovery Service의 discovery_group과 일치하는 discovery_group 이름 (1단계에서 설명된 대로).
  • : EKS 클러스터를 탐색할 AWS 리전 목록.
  • : EKS 클러스터가 일치해야 하는 태그 이름, 또는 모든 태그에 대해 "*".
  • : 일치하기 위해 명명된 태그가 가져야 하는 값 또는 값 목록, 또는 모든 값에 대해 "*". 목록인 경우 값 중 하나만 일치하면 됩니다.
kind: discovery_config
version: v1
metadata:
  name:  name="resource-name" />
spec:
  discovery_group:  name="discovery-group" />
  access_graph:
    aws:
      - regions: [ name="regions" />]
        eks_audit_logs:
          tags:
             name="tag-name" />:  name="tag-value" />
            ...
  1. 이 YAML 구성을 파일에 저장합니다.
  2. 클러스터의 Teleport Proxy Service 도메인 이름을 에 할당하여 클러스터에 이 구성 파일을 적용합니다:
    $ tctl create --proxy= -f 
    

이를 통해 Teleport는 EKS 클러스터 태그가 탐색 구성과 일치하는 지정된 리전의 EKS 클러스터에 대한 감사 로그를 가져오도록 구성됩니다. 지난 7일간의 로그가 가져와지고 EKS 클러스터 태그가 탐색 구성과 일치하는 한 지속적으로 가져와집니다.

4단계/4단계. Access Graph AWS Sync 설정#

AWS Sync 구성을 위한 설정 마법사를 시작하려면 Teleport UI에 접근하여 Identity Security 사이드바 버튼을 클릭한 다음 Integrations를 클릭합니다.

"Setup new integration" 버튼을 클릭한 다음 "AWS"를 선택합니다. 아직 AWS 통합을 구성하지 않은 경우 새 Teleport AWS 통합을 만들라는 메시지가 표시됩니다. 또는 이전에 설정된 통합을 선택할 수 있습니다.

통합을 선택하거나 만들면 AWS Cloud Shell에서 bash 스크립트를 실행하여 필요한 권한을 구성하도록 안내됩니다.

AWS Sync에 필요한 IAM 정책 목록

이 정책은 Teleport가 AWS 계정 내 리소스에서 정보를 접근하고 검색할 수 있도록 하는 읽기 전용 작업 세트로 설계되었습니다.

IAM 정책에는 다음 지시문이 포함됩니다:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:DescribeInstances",
        "ec2:DescribeImages",
        "ec2:DescribeTags",
        "ec2:DescribeSnapshots",
        "ec2:DescribeKeyPairs",

        "eks:ListClusters",
        "eks:DescribeCluster",
        "eks:ListAccessEntries",
        "eks:ListAccessPolicies",
        "eks:ListAssociatedAccessPolicies",
        "eks:DescribeAccessEntry",

        "rds:DescribeDBInstances",
        "rds:DescribeDBClusters",
        "rds:ListTagsForResource",
        "rds:DescribeDBProxies",

        "dynamodb:ListTables",
        "dynamodb:DescribeTable",

        "redshift:DescribeClusters",
        "redshift:Describe*",

        "s3:ListAllMyBuckets",
        "s3:GetBucketPolicy",
        "s3:ListBucket",
        "s3:GetBucketLocation",
        "s3:GetBucketTagging",
        "s3:GetBucketPolicyStatus",
        "s3:GetBucketAcl",

        "iam:ListUsers",
        "iam:GetUser",
        "iam:ListRoles",
        "iam:ListGroups",
        "iam:ListPolicies",
        "iam:ListGroupsForUser",
        "iam:ListInstanceProfiles",
        "iam:ListUserPolicies",
        "iam:GetUserPolicy",
        "iam:ListAttachedUserPolicies",
        "iam:ListGroupPolicies",
        "iam:GetGroupPolicy",
        "iam:ListAttachedGroupPolicies",
        "iam:GetPolicy",
        "iam:GetPolicyVersion",
        "iam:ListRolePolicies",
        "iam:ListAttachedRolePolicies",
        "iam:GetRolePolicy",
        "iam:ListSAMLProviders",
        "iam:GetSAMLProvider",
        "iam:ListOpenIDConnectProviders",
        "iam:GetOpenIDConnectProvider",

        "kms:ListKeys",
        "kms:DescribeKey",
        "kms:ListResourceTags",
        "kms:ListAliases",
        "kms:GetKeyPolicy"
      ],
      "Resource": "*"
    }
  ]
}

Identity Activity Center가 활성화된 경우 CloudTrail 통합을 위해 다음 추가 구성이 필요합니다:

  • : CloudTrail 알림을 받는 SNS 토픽을 구독하는 Amazon SQS 큐의 ARN.
  • : CloudTrail이 로그 파일을 전달하는 Amazon S3 버킷의 ARN.
  • : SQS 큐의 메시지를 암호화하는 데 사용되는 AWS KMS 키의 ARN.
  • : CloudTrail 로그를 저장하는 S3 버킷의 객체를 암호화하는 데 사용되는 AWS KMS 키의 ARN.
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "sqs:ReceiveMessage",
        "sqs:DeleteMessage",
        "sqs:SendMessage"
      ],
      "Resource": "aws-sqs-queue"/>"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:ListBucket",
        "s3:ListBucketVersions",
        "s3:GetBucketLocation"
      ],
      "Resource": "aws-s3-trail-bucket"/>"
    },
    {
      "Effect": "Allow",
      "Action": [
          "kms:Decrypt",
          "kms:DescribeKey",
          "kms:GenerateDataKey",
          "kms:GenerateDataKeyWithoutPlaintext"
      ],
      "Resource": [
        "aws-sqs-kms-queue-key"/>",
        "aws-s3-kms-key"/>"
      ]
    }
  ]
}

EKS 감사 로그 통합이 활성화된 경우 IAM 정책에는 다음 지시문이 포함됩니다:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "logs:FilterLogEvents"
      ],
      "Resource": "arn:aws:logs:*:*:log-group:/aws/eks/*"
    }
  ]
}

IAM 정책이 Teleport에서 사용하는 IAM 역할에 성공적으로 연결되면 Teleport가 리소스를 가져올 리전을 지정하라는 메시지가 표시됩니다. 이 선택은 리전별 리소스에만 해당되며 S3 버킷, IAM 정책 또는 IAM 사용자와 같은 글로벌 리소스에는 영향을 주지 않습니다.

셀프 호스팅 클러스터를 운영 중인 경우 1단계에서 구성한 discovery_group도 입력해야 합니다.