교차 서비스 혼동된 대리자 방지 - Amazon SageMaker AI

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

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

혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에 작업을 수행하도록 강요할 수 있는 보안 문제입니다. 에서는 교차 서비스 위장으로 인해 AWS혼동된 대리자 문제가 발생할 수 있습니다. 교차 서비스 가장은 한 서비스(호출하는 서비스)가 다른 서비스(호출되는 서비스)를 호출하고 호출되는 서비스의 승격된 권한을 활용하여 호출하는 서비스에서 액세스할 권한이 없는 리소스에 대해 작업할 때 발생할 수 있습니다. 혼동된 대리자 문제를 통한 무단 액세스를 방지하기 위해는 서비스 간에 데이터를 보호하는 데 도움이 되는 도구를 AWS 제공합니다. 이러한 도구를 사용하면 서비스 위탁자에게 부여된 권한을 제어하여 계정의 필요한 리소스로만 위탁자의 액세스를 제한할 수 있습니다. 서비스 위탁자의 액세스 권한을 주의 깊게 관리하면 권한이 없어야 하는 데이터 또는 리소스에 서비스가 부적절하게 액세스할 위험을 완화하는 데 도움이 될 수 있습니다.

일반 지침을 읽거나 특정 SageMaker AI 기능의 예제로 이동합니다.

전역 조건 키로 권한 제한

Amazon SageMaker AI가 다른 서비스를 제공하는 리소스에 대한 권한을 제한하려면 리소스 정책에서 aws:SourceArnaws:SourceAccount 전역 조건 키를 사용하는 것이 좋습니다. 두 전역 조건 키와 계정을 포함한 aws:SourceArn값을 모두 사용하는 경우, aws:SourceAccount값 및 aws:SourceArn값의 계정은 동일한 정책 명령문에서 사용할 경우 반드시 동일한 계정 ID를 사용해야 합니다. 하나의 리소스만 교차 서비스 액세스와 연결되도록 허용하려는 경우 aws:SourceArn을 사용하세요. 해당 계정의 모든 리소스가 교차 서비스 사용과 연결되도록 허용하려는 경우 aws:SourceAccount을(를) 사용합니다.

혼동된 대리자 문제로부터 보호하는 가장 효과적인 방법은 aws:SourceArn 글로벌 조건 키를 전체 리소스와 함께 사용하는 ARN 것입니다. 전체 리소스를 모르거나 여러 리소스를 지정하는 경우의 알 ARN 수 없는 부분에 대해 와일드카드(*)와 함께 aws:SourceArn 전역 조건 키를 사용합니다ARN. 예: arn:aws:sagemaker:*:123456789012:*.

다음 예제에서는 SageMaker AI에서 aws:SourceArnaws:SourceAccount 전역 조건 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다.

{ "Version": "2012-10-17", "Statement": { "Sid": "ConfusedDeputyPreventionExamplePolicy", "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, # Specify an action and resource policy for another service "Action": "service:ActionName", "Resource": [ "arn:aws:service:::ResourceName/*" ], "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:region:123456789012:*" }, "StringEquals": { "aws:SourceAccount": "123456789012" } } } }

SageMaker 엣지 관리자

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 123456789012 us-west-2 리전의 계정 번호로 생성된 SageMaker Edge Manager의 교차 서비스 혼동 대리자 문제를 방지하는 방법을 보여줍니다.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } }

이 템플릿aws:SourceArn의를 ARN 하나의 특정 패키징 작업으로 대체하여 권한을 추가로 제한할 수 있습니다.

SageMaker AI 이미지

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 SageMaker AI 이미지에 대한 교차 서비스 혼동 대리자 문제를 방지하는 방법을 보여줍니다. 이 템플릿은 Image또는 ImageVersion에 함께 사용하세요. 이 예제에서는 계정 번호가 인 ImageVersion 레코드ARN를 사용합니다123456789012. 단, 계정 번호는 aws:SourceArn값의 일부이므로 aws:SourceAccount값을 지정할 필요가 없습니다.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:us-west-2:123456789012:image-version" } } } }

이 템플릿aws:SourceArn의를 특정 이미지 또는 이미지 버전 전체로 바꾸ARN지 마십시오. 는 위에 제공된 형식이어야 하며 image 또는를 지정ARN해야 합니다image-version. partition 자리 표시자는 이미지 또는 이미지 버전이 실행 중인 위치에 따라 AWS 상용 파티션(aws) 또는 중국 AWS 내 파티션(aws-cn)을 지정해야 합니다. 마찬가지로의 region 자리 표시자는 SageMaker AI 이미지를 사용할 ARN 수 있는 유효한 리전일 수 있습니다.

SageMaker AI 추론

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 SageMaker AI 실시간, 서버리스비동기 추론에 대한 교차 서비스 혼동 대리자 문제를 방지하는 방법을 보여줍니다. 단, 계정 번호는 aws:SourceArn값의 일부이므로 aws:SourceAccount값을 지정할 필요가 없습니다.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } }

이 템플릿aws:SourceArn의를 ARN 특정 모델 또는 엔드포인트의 전체로 바꾸지 마십시오. 는 위에 제공된 형식이어야 ARN 합니다. ARN 템플릿의 별표는 와일드카드가 아니므로 변경해서는 안 됩니다.

SageMaker AI 배치 변환 작업

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 us-west-2 리전123456789012의 계정 번호로 생성된 SageMaker AI 배치 변환 작업에 대한 서비스 간 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 계정 번호가에 있으므로 aws:SourceAccount 값을 지정할 필요가 ARN없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:transform-job/*" } } } ] }

이 템플릿aws:SourceArn의를 하나의 특정 배치 변환 작업ARN으로 대체하여 권한을 추가로 제한할 수 있습니다.

SageMaker AI Marketplace

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 us-west-2 리전의 계정 번호로 생성된 SageMaker AI Marketplace 리소스123456789012에 대한 교차 서비스 혼동 대리자 문제를 방지하는 방법을 보여줍니다. 계정 번호가에 있으므로 aws:SourceAccount 값을 지정할 필요가 ARN없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } ] }

이 템플릿aws:SourceArn의를 ARN 특정 알고리즘 또는 모델 패키지의 전체로 바꾸지 마십시오. 는 위에 제공된 형식이어야 ARN 합니다. ARN 템플릿의 별표는 와일드카드를 나타내며 검증 단계의 모든 훈련 작업, 모델 및 배치 변환 작업과 SageMaker AI Marketplace에 게시된 알고리즘 및 모델 패키지를 다룹니다.

SageMaker Neo

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 123456789012 us-west-2 리전의 계정 번호로 생성된 SageMaker Neo 컴파일 작업에 대한 교차 서비스 혼동 대리자 문제를 방지하는 방법을 보여줍니다. 계정 번호가에 있으므로 aws:SourceAccount 값을 지정할 필요가 ARN없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:compilation-job/*" } } } ] }

이 템플릿ARN의 aws:SourceArn를 하나의 특정 컴파일 작업으로 대체하여 권한을 추가로 제한할 수 있습니다.

SageMaker 파이프라인

다음 예제에서는 aws:SourceArn 글로벌 조건 키를 사용하여 하나 이상의 파이프라인에서 파이프라인 실행 레코드를 사용하여 SageMaker 파이프라인에 대한 교차 서비스 혼동 대리자 문제를 방지하는 방법을 보여줍니다. 계정 번호가에 있으므로 aws:SourceAccount 값을 지정할 필요가 ARN없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:partition:sagemaker:region:123456789012:pipeline/mypipeline/*" } } } ] }

이 템플릿aws:SourceArn의를 특정 파이프라인 실행의 전체로 바꾸ARN지 마십시오. 는 위에 제공된 형식이어야 ARN 합니다. partition 자리 표시자는 파이프라인이 실행 중인 위치에 따라 AWS 상용 파티션(aws) 또는 중국 AWS 내 파티션(aws-cn)을 지정해야 합니다. 마찬가지로의 region 자리 표시자는 SageMaker 파이프라인을 사용할 ARN 수 있는 유효한 리전일 수 있습니다.

ARN 템플릿의 별표는 와일드카드를 나타내며 라는 파이프라인의 모든 파이프라인 실행을 포함합니다mypipeline. 특정 파이프라인 하나가 아닌 계정 123456789012내 모든 파이프라인에 대한 AssumeRole권한을 허용하려면 aws:SourceArnarn:aws:sagemaker:*:123456789012:pipeline/*이 됩니다.

SageMaker 처리 작업

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 us-west-2 리전123456789012의 계정 번호로 생성된 작업 SageMaker 처리에 대한 서비스 간 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 계정 번호가에 있으므로 aws:SourceAccount 값을 지정할 필요가 ARN없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:processing-job/*" } } } ] }

이 템플릿aws:SourceArn의를 ARN 하나의 특정 처리 작업으로 대체하여 권한을 추가로 제한할 수 있습니다.

SageMaker 스튜디오

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 123456789012 us-west-2 리전의 계정 번호로 생성된 SageMaker Studio의 교차 서비스 혼동 대리자 문제를 방지하는 방법을 보여줍니다. 단, 계정 번호는 aws:SourceArn값의 일부이므로 aws:SourceAccount값을 지정할 필요가 없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:*" } } } ] }

이 템플릿ARN의 aws:SourceArn를 특정 Studio 애플리케이션, 사용자 프로필 또는 도메인으로 완전히 바꾸지 마십시오. 는 이전 예제에서 제공된 형식이어야 ARN 합니다. ARN 템플릿의 별표는 와일드카드가 아니므로 변경해서는 안 됩니다.

SageMaker 훈련 작업

다음 예제에서는 aws:SourceArn 전역 조건 키를 사용하여 us-west-2 리전123456789012의 계정 번호로 생성된 SageMaker 훈련 작업에 대한 교차 서비스 혼동 대리자 문제를 방지하는 방법을 보여줍니다. 계정 번호가에 있으므로 aws:SourceAccount 값을 지정할 필요가 ARN없습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:sagemaker:us-west-2:123456789012:training-job/*" } } } ] }

이 템플릿aws:SourceArn의를 ARN 하나의 특정 훈련 작업으로 대체하여 권한을 추가로 제한할 수 있습니다.

다음

실행 역할 관리에 대한 자세한 내용은 SageMaker AI 역할을 참조하세요.