View a markdown version of this page

AWS Security Agent에 대한 IAM 역할 생성 - AWS 보안 에이전트

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS Security Agent에 대한 IAM 역할 생성

AWS Security Agent는 다음 세 가지 방법으로 IAM 역할을 사용합니다.

  1. 애플리케이션 역할: AWS Security Agent 애플리케이션을 생성할 때 사용됩니다. IAM Identity Center 및 관리자 액세스 링크 사용 사례의 경우 서비스는이 역할을 수임하여 WebApp 사용자에게 AWS Security Agent APIs와 상호 작용할 수 있는 권한을 부여합니다.

  2. 침투 테스트 서비스 역할: 에이전트 공간을 생성할 때 사용 가능한 역할 목록으로 지정됩니다. 나중에 WebApp 사용자는 침투 테스트를 생성할 때 이러한 역할 중 하나를 선택합니다. AWS Security Agent 서비스는이 역할을 수임하여 테스트 중에 AWS 리소스에 액세스합니다.

  3. 액터 역할: 대상 웹 애플리케이션(예: AWS API Gateway APIs)에 대한 요청을 인증하고 권한을 부여하는 데 사용됩니다. 이러한 역할은 에이전트 공간 생성 중에 제공됩니다. AWS Security Agent 에이전트는 대상 애플리케이션과 상호 작용하기 위해 액터 역할을 수임합니다.

애플리케이션 역할

Application Role은 서비스에서 AWS Security Agent 애플리케이션을 생성할 때 사용됩니다. IAM Identity Center 및 관리자 액세스 링크 인증 시나리오의 경우 AWS Security Agent 서비스는이 역할을 수임하여 WebApp 사용자에게 AWS Security Agent APIs와 상호 작용하는 데 필요한 권한을 부여합니다.

필수 권한

이 역할에는 다음과 같은 권한이 필요합니다.

  • AWS Security Agent API 작업 호출

  • 애플리케이션 구성 데이터 읽기 및 쓰기

  • 사용자 세션 정보 액세스

  • WebApp 사용자의 인증 토큰 관리

신뢰 정책

신뢰 정책은 AWS Security Agent 서비스가이 역할을 수임하도록 허용해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "securityagent.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

권한 정책

역할에는 다음에 대한 권한이 포함되어야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "securityagent:GetApplication", "securityagent:UpdateApplication", "securityagent:ListAgentInstances", "securityagent:CreatePentestSession" ], "Resource": "arn:aws:securityagent:*:*:application/*" } ] }
참고

특정 애플리케이션 요구 사항과 최소 권한 원칙에 따라 권한을 사용자 지정합니다.

침투 테스트 서비스 역할

침투 테스트 서비스 역할은 에이전트 공간을 사용 가능한 역할 목록으로 생성할 때 지정됩니다. WebApp 사용자는 침투 테스트를 생성할 때 이러한 역할 중 하나를 선택합니다. 그런 다음 AWS Security Agent 서비스는이 역할을 수임하여 AWS 리소스에 액세스하고 테스트합니다.

필수 권한

이 역할에는 침투 테스트 중에 AWS 리소스에 액세스하고 분석할 수 있는 권한이 필요합니다.

  • VPC 구성 및 네트워크 토폴로지 읽기 및 설명

  • EC2 인스턴스, 보안 그룹 및 네트워크 ACLs 검사

  • IAM 정책 및 리소스 권한 분석

  • CloudWatch 로그 및 지표 읽기

  • 보안 테스트와 관련된 AWS 서비스 구성에 액세스

신뢰 정책

신뢰 정책은 AWS Security Agent 서비스가 침투 테스트 작업을 위해이 역할을 수임하도록 허용해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "securityagent.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "your-external-id" } } } ] }
참고

교차 계정 또는 서비스 액세스를 허용할 때 추가 보안을 위해 외부 ID를 사용합니다.

권한 정책

역할에는 AWS 리소스에 대한 읽기 전용 액세스가 포함되어야 합니다. 다음 관리형 정책을 사용하는 것이 좋습니다.

  • SecurityAudit - 보안 감사를 위한 AWS 관리형 정책

  • ViewOnlyAccess - 대부분의 AWS 서비스에 대한 읽기 전용 액세스

또는 특정 권한이 있는 사용자 지정 정책을 생성합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:Describe*", "vpc:Describe*", "iam:Get*", "iam:List*", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "cloudwatch:Describe*", "cloudwatch:Get*", "cloudwatch:List*", "s3:GetObject", "s3:ListBucket" ], "Resource": "*" } ] }
중요

침투 테스트 범위에 필요한 최소 권한만 부여합니다. 보안 테스트에 포함할 AWS 서비스에 따라 권한을 검토하고 조정합니다.

액터 역할

액터 역할은 침투 테스트 중에 대상 웹 애플리케이션에 대한 요청을 인증하고 승인하는 데 사용됩니다. 이러한 역할은 에이전트 공간 생성 중에 제공되며 AWS Security Agent 에이전트는 이러한 역할이 대상 애플리케이션 엔드포인트(예: AWS API Gateway APIs, Lambda 함수 URLs 또는 기타 AWS 호스팅 애플리케이션)와 상호 작용한다고 가정합니다.

필수 권한

이 역할에는 다음과 같은 권한이 필요합니다.

  • API Gateway 엔드포인트 호출

  • Lambda 함수 실행

  • 애플리케이션별 AWS 리소스에 액세스

  • 대상 애플리케이션의 인증 메커니즘으로 인증

  • 애플리케이션 엔드포인트에 대해 HTTP 작업 수행

신뢰 정책

신뢰 정책은 AWS Security Agent 에이전트 서비스가이 역할을 수임하도록 허용해야 합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "securityagent.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "your-external-id" } } } ] }

권한 정책

권한은 대상 애플리케이션 아키텍처에 따라 다릅니다. 다음은 일반적인 시나리오의 예입니다.

API Gateway 애플리케이션의 경우

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "execute-api:Invoke" ], "Resource": "arn:aws:execute-api:us-east-1:*:your-api-id/*" } ] }

Lambda 함수 URLs 경우

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunctionUrl", "lambda:InvokeFunction" ], "Resource": "arn:aws:lambda:us-east-1:*:function:your-function-name" } ] }

Cognito 인증을 사용하는 Application Load Balancer의 경우

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cognito-idp:InitiateAuth", "cognito-idp:RespondToAuthChallenge" ], "Resource": "arn:aws:cognito-idp:us-east-1:*:userpool/your-user-pool-id" } ] }
중요

대상 애플리케이션의 인증 및 권한 부여 요구 사항에 맞게 액터 역할 권한을 구성합니다. 역할은 Security Agent가 침투 테스트 중에 시뮬레이션할 사용자 또는 서비스와 동일한 수준의 액세스 권한을 가져야 합니다.