

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

# 교차 서비스 혼동된 대리자 방지
<a name="security-confused-deputy-prevention"></a>

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

일반 지침을 읽거나 특정 SageMaker AI 기능에 대한 예를 살펴보세요.

**Topics**
+ [전역 조건 키로 권한 제한](#security-confused-deputy-context-keys)
+ [SageMaker Edge Manager](#security-confused-deputy-edge-manager)
+ [SageMaker 이미지](#security-confused-deputy-images)
+ [SageMaker AI 추론](#security-confused-deputy-inference)
+ [SageMaker AI 배치 변환 작업](#security-confused-deputy-batch)
+ [SageMaker AI Marketplace](#security-confused-deputy-marketplace)
+ [SageMaker Neo](#security-confused-deputy-neo)
+ [SageMaker Pipelines](#security-confused-deputy-pipelines)
+ [SageMaker 처리 작업](#security-confused-deputy-processing-job)
+ [SageMaker Studio](#security-confused-deputy-studio)
+ [SageMaker 훈련 작업](#security-confused-deputy-training-job)

## 전역 조건 키로 권한 제한
<a name="security-confused-deputy-context-keys"></a>

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

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

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

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": {
    "Sid": "ConfusedDeputyPreventionExamplePolicy",
    "Effect": "Allow",
    "Principal": {
      "Service": "sagemaker.amazonaws.com"
    },
    "Action": "sagemaker:StartSession",
    "Resource": "arn:aws:sagemaker:us-east-1:123456789012:ResourceName/*",
    "Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:sagemaker:us-east-1:123456789012:*"
      },
      "StringEquals": {
        "aws:SourceAccount": "123456789012"
      }
    }
  }
}
```

------

## SageMaker Edge Manager
<a name="security-confused-deputy-edge-manager"></a>

다음 예제는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker Edge Manager의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn`글로벌 조건 키를 사용하는 방법을 보여줍니다.

------
#### [ JSON ]

****  

```
{
  "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 이미지
<a name="security-confused-deputy-images"></a>

다음 예제에서는 [SageMaker 이미지](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html)에서 `aws:SourceArn`전역 조건 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 이 템플릿은 `[Image](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Image.html)`또는 `[ImageVersion](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ImageVersion.html)`에 함께 사용하세요. 이 예에서는 계정 번호가 *123456789012*인 `ImageVersion`레코드 ARN을 사용합니다. 단, 계정 번호는 `aws:SourceArn`값의 일부이므로 `aws:SourceAccount`값을 지정할 필요가 없습니다.

------
#### [ JSON ]

****  

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

------

이 템플릿의 `aws:SourceArn`을 특정 이미지 또는 이미지 버전의 전체 ARN으로 대체하지 마세요. ARN은 위에 제공된 형식이어야 하며 또는 `image`또는 `image-version`중 하나를 지정해야 합니다. `partition` 자리 표시자는 이미지 또는 이미지 버전이 실행 중인 위치에 따라 AWS 상용 파티션(`aws`) 또는 중국 AWS 내 파티션(`aws-cn`)을 지정해야 합니다. 마찬가지로 ARN의 `region`자리 표시자는 SageMaker 이미지를 사용할 수 있는 모든 [유효한 리전](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html)일 수 있습니다.

## SageMaker AI 추론
<a name="security-confused-deputy-inference"></a>

다음 예시는 `aws:SourceArn` 전역 조건 키를 사용하여 SageMaker AI [실시간](https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints), [서버리스](https://docs.aws.amazon.com/sagemaker/latest/dg/serverless-endpoints) 및 [비동기](https://docs.aws.amazon.com/sagemaker/latest/dg/async-inference) 추론에 대한 서비스 간 혼동된 대리인 문제를 방지하는 방법을 보여줍니다. 단, 계정 번호는 `aws:SourceArn`값의 일부이므로 `aws:SourceAccount`값을 지정할 필요가 없습니다.

------
#### [ JSON ]

****  

```
{
  "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 배치 변환 작업
<a name="security-confused-deputy-batch"></a>

다음 예시는 *us-west-2* 리전에서 계정 번호 *123456789012*로 생성된 SageMaker AI [배치 변환 작업](https://docs.aws.amazon.com/sagemaker/latest/dg/batch-transform.html)에 대해 `aws:SourceArn` 전역 조건 키를 사용하여 서비스 간 혼동되는 대리인 문제를 방지하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

------
#### [ JSON ]

****  

```
{
  "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
<a name="security-confused-deputy-marketplace"></a>

다음 예시는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker AI Marketplace 리소스의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn` 전역 조건 키를 사용하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

------
#### [ JSON ]

****  

```
{
  "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
<a name="security-confused-deputy-neo"></a>

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

------
#### [ JSON ]

****  

```
{
  "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/*"
        }
      }
    }
  ]
}
```

------

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

## SageMaker Pipelines
<a name="security-confused-deputy-pipelines"></a>

다음 예제에서는 하나 이상의 파이프라인에서 파이프라인 실행 기록을 이용하여 [SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines-overview.html)에서 `aws:SourceArn`전역 조건 키를 사용하여 서비스 간 혼동된 대리자 문제를 방지하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

------
#### [ JSON ]

****  

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

------

이 템플릿의 `aws:SourceArn`을 특정 파이프라인 실행의 전체 ARN으로 대체하지 마세요. ARN은 위에 제공된 형식이어야 합니다. `partition` 자리 표시자는 파이프라인이 실행 중인 위치에 따라 AWS 상용 파티션(`aws`) 또는 중국 AWS 내 파티션(`aws-cn`)을 지정해야 합니다. 마찬가지로 ARN의 `region`자리 표시자는 SageMaker Pipelines을 사용할 수 있는 모든 [유효한 리전](https://docs.aws.amazon.com/sagemaker/latest/dg/regions-quotas.html)일 수 있습니다.

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

## SageMaker 처리 작업
<a name="security-confused-deputy-processing-job"></a>

다음 예시는 *us-west-2* 리전의 계정 번호 *123456789012*로 생성된 SageMaker Processing 작업의 서비스 간 혼동된 대리인 문제를 방지하기 위해 `aws:SourceArn` 전역 조건 키를 사용하는 방법을 보여줍니다. 단, 계정 번호는 ARN에 있기 때문에 `aws:SourceAccount`값을 지정할 필요가 없습니다.

------
#### [ JSON ]

****  

```
{
  "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 Studio
<a name="security-confused-deputy-studio"></a>

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

------
#### [ JSON ]

****  

```
{
  "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`을 특정 Studio 애플리케이션, 사용자 프로필 또는 도메인의 전체 ARN으로 바꾸지 마세요. ARN은 이전 예에서 제공한 형식이어야 합니다. ARN 템플릿의 별표는 와일드카드를 나타내지 않으므로 변경해서는 안 됩니다.

## SageMaker 훈련 작업
<a name="security-confused-deputy-training-job"></a>

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

------
#### [ JSON ]

****  

```
{
  "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 Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles)을 참조하세요.