교차 서비스 혼동된 대리인 방지 - Amazon EC2 Auto Scaling

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

교차 서비스 혼동된 대리인 방지

혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다.

에서 AWS크로스 서비스 사칭으로 인해 대리인 문제가 발생할 수 있습니다. 교차 서비스 가장은 한 서비스(호출하는 서비스)가 다른 서비스(호출되는 서비스)를 호출할 때 발생할 수 있습니다. 직접적으로 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다.

이를 방지하기 위해 계정 내 리소스에 대한 액세스 권한이 부여된 서비스 보안 주체를 통해 모든 서비스의 데이터를 보호하는 데 도움이 되는 도구를 AWS 제공합니다. Amazon EC2 Auto Scaling 서비스 역할에 대한 신뢰 정책에 aws:SourceArnaws:SourceAccount 전역 조건 컨텍스트 키를 사용하는 것이 좋습니다. 이러한 키는 Amazon EC2 Auto Scaling이 리소스에 대해 다른 서비스에 부여하는 권한을 제한합니다.

SourceArnSourceAccount 필드의 값은 Amazon EC2 Auto Scaling에서 AWS Security Token Service (AWS STS) 를 사용하여 사용자를 대신하여 역할을 맡을 때 설정됩니다.

aws:SourceArn 또는 aws:SourceAccount 전역 조건 키를 사용하려면 값을 Amazon EC2 Auto Scaling이 저장하는 리소스의 Amazon 리소스 이름(ARN) 또는 계정으로 설정합니다. 가능하면 더 구체적인 aws:SourceArn을 사용합니다. 값을 ARN 또는 ARN 패턴(ARN의 알 수 없는 부분에 대해 와일드카드(*) 사용)으로 설정합니다. 리소스의 ARN을 모르면 aws:SourceAccount를 대신 사용합니다.

다음 예제에서는 Amazon EC2 Auto Scaling에서 aws:SourceArnaws:SourceAccount 전역 조건 컨텍스트 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다.

예제: aws:SourceArnaws:SourceAccount 조건 키 사용

서비스가 사용자를 대신하여 작업을 수행하기 위해 수임한 역할을 서비스 역할이라고 합니다. Amazon이 아닌 다른 곳으로 알림을 보내는 수명 주기 후크를 생성하려는 경우 EventBridge, Amazon EC2 Auto Scaling이 사용자를 대신하여 Amazon SNS 주제 또는 Amazon SQS 대기열에 알림을 보내도록 허용하는 서비스 역할을 생성해야 합니다. 교차 서비스 액세스에 Auto Scaling 그룹을 하나만 연결하려면 서비스 역할의 신뢰 정책을 다음과 같이 지정합니다.

이 예제 신뢰 정책은 조건문을 사용하여 서비스 역할에 대한 AssumeRole 기능을 지정된 계정의 지정된 Auto Scaling 그룹에 영향을 주는 작업으로만 제한합니다. aws:SourceArnaws:SourceAccount 조건은 독립적으로 평가됩니다. 서비스 역할을 사용하려는 모든 요청은 두 조건을 모두 충족해야 합니다.

이 정책을 사용하기 전에 리전, 계정 ID, UUID 및 그룹 이름을 계정의 유효한 값으로 바꿉니다.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "autoscaling.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:autoscaling:region:account_id:autoScalingGroup:uuid:autoScalingGroupName/my-asg" }, "StringEquals": { "aws:SourceAccount": "account_id" } } } }

이전 예제에서:

  • Principal 요소는 서비스(autoscaling.amazonaws.com)의 서비스 보안 주체를 지정합니다.

  • Action 요소는 sts:AssumeRole 작업을 지정합니다.

  • Condition 요소는 aws:SourceArnaws:SourceAccount 전역 조건 키를 지정합니다. 소스의 ARN에는 계정 ID가 포함되어 있으므로 aws:SourceAccount와 함께 aws:SourceArn을 사용할 필요가 없습니다.

추가 정보

자세한 정보는 IAM 사용 설명서AWS 글로벌 조건 컨텍스트 키, 혼동된 대리자 문제역할 신뢰 정책 수정(콘솔)을 참조하세요.