기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
교차 서비스 혼동된 대리자 예방
AWS에서 교차 서비스 가장은 한 서비스(호출하는 서비스)가 다른 서비스(호출되는 서비스)를 직접적으로 호출할 때 발생할 수 있습니다. 호출 서비스는 다른 고객의 리소스에 대해 적절한 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있으며, 이로 인해 대리인 문제가 발생할 수 있습니다.
이를 방지하기 위해 AWS에서는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 보안 주체를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 제공합니다.
Amazon Rekognition이 리소스에 다른 서비스를 제공하는 권한을 제한하려면 리소스 정책에서 aws:SourceArn
및 aws:SourceAccount
글로벌 조건 컨텍스트 키를 사용하는 것이 좋습니다.
만약 aws:SourceArn
값에 Amazon S3 버킷 ARN과 같은 계정 ID가 포함되어 있지 않은 경우, 권한을 제한하려면 두 가지 키를 모두 사용해야 합니다. 두 가지 키를 모두 사용하고 aws:SourceArn
값이 계정 ID를 포함하는 경우, aws:SourceAccount
값 및 aws:SourceArn
값의 계정은 동일한 정책 설명문에서 사용할 경우 반드시 동일한 계정 ID를 사용해야 합니다.
하나의 리소스만 교차 서비스 액세스와 연결되도록 허용하려는 경우 aws:SourceArn
을(를) 사용하세요. 해당 계정의 모든 리소스가 교차 서비스 사용과 연결되도록 허용하려는 경우 aws:SourceAccount
을(를) 사용하세요.
aws:SourceArn
의 값은 Rekognition에서 사용하는 리소스의 ARN이어야 하며, arn:aws:rekognition:region:account:resource
와 같은 형식으로 지정됩니다.
arn:User ARN
의 값은 비디오 분석 작업을 호출할 사용자(역할을 맡은 사용자)의 ARN이어야 합니다.
혼동된 대리인 문제에 대한 권장 접근 방식은 리소스의 전체 ARN이 포함된 aws:SourceArn
글로벌 조건 컨텍스트 키를 사용하는 것입니다.
리소스의 전체 ARN을 모르거나 여러 리소스를 지정하는 경우, ARN의 알 수 없는 부분에 대해 와일드카드 문자(*
)를 포함한 aws:SourceArn
글로벌 조건 컨텍스트 키를 사용합니다. 예: arn:aws:
.rekognition
:*:111122223333:*
혼동된 대리인 문제를 방지하려면 다음 단계를 수행하세요.
-
IAM 콘솔의 탐색 창에서 Roles 옵션을 선택합니다. 콘솔에 현재 계정의 역할이 표시됩니다.
-
수정할 역할의 이름을 선택합니다. 수정할 역할은 AmazonRekognitionServiceRole 권한 정책을 적용받아야 합니다. 신뢰 관계 탭을 선택합니다.
-
신뢰 정책 편집(Edit trust policy)을 선택합니다.
-
신뢰 정책 편집 페이지에서 기본 JSON 정책을
aws:SourceArn
및aws:SourceAccount
글로벌 조건 컨텍스트 키 중 하나 또는 둘 다를 사용하는 정책으로 바꿉니다. 다음 정책 예시를 참조하세요. -
정책 업데이트(Update policy)를 선택합니다.
다음 예에서는 Amazon Rekognition에서 aws:SourceArn
및 aws:SourceAccount
글로벌 조건 컨텍스트 키를 사용하여 혼동된 대리인 문제를 방지하는 방법을 보여줍니다.
저장된 동영상 및 스트리밍 동영상을 작업하는 경우 IAM 역할에서 다음과 같은 정책을 사용할 수 있습니다.
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" }, "StringLike":{ "aws:SourceArn":"arn:aws:rekognition:region:111122223333:streamprocessor/*" } } } ] }
저장된 비디오만 다루는 경우 IAM 역할에서 다음과 같은 정책을 사용할 수 있습니다(단, streamprocessor
를 지정하는 StringLike
인수를 포함시킬 필요는 없습니다).
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":"rekognition.amazonaws.com", "AWS":"arn:User ARN" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"Account ID" } } } ] }