

더 이상 Amazon Machine Learning 서비스를 업데이트하거나 새 사용자를 받지 않습니다. 이 설명서는 기존 사용자에 제공되지만 더 이상 업데이트되지 않습니다. 자세한 내용은 [머신 러닝이란?](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html) 단원을 참조하세요.

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

# Amazon ML 리소스에 대한 액세스 제어 - IAM 사용
<a name="controlling-access-to-amazon-ml-resources-by-using-iam"></a>

AWS Identity and Access Management (IAM)를 사용하면 사용자의 AWS 서비스 및 리소스에 대한 액세스를 안전하게 제어할 수 있습니다. IAM을 사용하면 사용자, 그룹 및 역할을 생성 및 관리하고 권한을 사용하여 리소스에 대한 액세스를 허용 및 거부할 수 있습니다. IAM과 Amazon Machine Learning(Amazon ML)을 함께 사용하면 조직 내 사용자별로 특정 리소스의 사용 권한을 제어할 수 있습니다.

 IAM을 사용하여 다음을 수행할 수 있습니다.
+  계정의 사용자와 그룹 생성 
+  계정 사용자 각각에 고유한 보안 인증 할당 
+  작업 수행 시 각 사용자의 리소스 사용 권한 제어 
+  계정의 사용자 간에 리소스를 쉽게 공유 
+  계정에 적용할 규칙 생성 및 이들 역할을 수임할 수 있는 사용자나 서비스를 규정하기 위해 이들 역할에 대한 권한 관리 
+ IAM에서 역할을 생성하고 권한을 관리하여 역할을 맡는 엔티티 또는 서비스가 수행할 수 있는 작업을 제어할 수 있습니다. 어떤 개체가 해당 역할을 맡도록 허용된 개체를 정의할 수도 있습니다.



 조직에 이미 IAM 자격 증명이 있으면 이를 사용해 리소스를 사용하는 작업 권한을 부여할 수 있습니다.

IAM에 대한 자세한 내용은 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/)를 참조하세요.

## IAM 정책 구문
<a name="policy-syntax"></a>

 IAM 정책은 하나 이상의 구문으로 구성된 JSON 문서입니다. 각 구문의 구조는 다음과 같습니다.

```
{
    "Statement":[{
        "Effect":"effect",
        "Action":"action",
        "Resource":"arn",
        "Condition":{
            "condition operator":{
                "key":"value"
            }
        }
    }]
}
```

 정책 구문은 다음 요소로 구성됩니다.
+  **효과:** 명령문의 뒷부분에서 지정할 리소스 및 API 작업 사용 권한을 제어합니다. 유효 값은 `Allow` 및 `Deny`입니다. 기본적으로 IAM 사용자에게는 리소스 및 API 작업을 사용할 권한이 없으므로 모든 요청이 거부됩니다. 명시적 `Allow`은 기본 설정 보다 우선합니다. 명시적 `Deny`은 어떤 `Allows` 보다 우선합니다.
+  **작업**: 권한을 부여하거나 거부할 특정 API 작업입니다.
+  **리소스**: 작업의 영향을 받는 리소스입니다. 구문에서 리소스를 지정하려면 Amazon 리소스 이름(ARN)을 사용합니다.
+  **조건(선택 사항)**: 정책이 적용되는 시기를 제어합니다.

 IAM 정책을 간단하게 생성하고 관리하려면 IAM 정책 생성기 및 IAM 정책 시뮬레이터를 사용합니다.

## Amazon MLAmazon ML에 대한 IAM 정책 작업 지정
<a name="actions-for-amazon-ml"></a>

 IAM 정책 구문에서 IAM을 지원하는 모든 서비스의 API 작업을 지정할 수 있습니다. ML API 작업에 대한 정책 구문을 생성할 때는 다음 예와 같이 API 작업의 이름 앞에 `machinelearning:`을 추가하세요.
+ `machinelearning:CreateDataSourceFromS3`
+ `machinelearning:DescribeDataSources`
+ `machinelearning:DeleteDataSource`
+ `machinelearning:GetDataSource`

 단일 구문에서 여러 작업을 지정하려면 다음과 같이 쉼표로 구분합니다.

```
"Action": ["machinelearning:action1", "machinelearning:action2"]
```

와일드카드를 사용하여 여러 작업을 지정할 수도 있습니다. 예를 들어 다음과 같이 이름이 "Get"으로 시작되는 모든 작업을 지정할 수 있습니다.

```
"Action": "machinelearning:Get*"
```

모든 Amazon ML 작업을 지정하려면 다음과 같이 \* 와일드카드를 사용합니다.

```
"Action": "machinelearning:*"
```

 ML API 작업의 전체 목록은 [머신 러닝 API 참조](https://docs.aws.amazon.com/machine-learning/latest/APIReference/) 단원을 참조하세요.

## IAM 정책에서 Amazon ML 리소스용 ARN 지정
<a name="amazon-resource-names-arns-for-amazon-ml"></a>

 IAM 정책 구문은 하나 이상의 리소스에 적용됩니다. ARN으로 정책 리소스를 지정합니다.

 Amazon ML 리소스의 ARN을 지정하려면 다음 형식을 사용합니다.

 최대 1GB"리소스": `arn:aws:machinelearning:region:account:resource-type/identifier `

 다음 예제에서는 공통 ARN을 지정하는 방법을 보여줍니다.

 데이터 소스 ID: `my-s3-datasource-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:datasource/my-s3-datasource-id
```

 ML 모델 ID: `my-ml-model-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/my-ml-model-id
```

 배치 예측 ID: `my-batchprediction-id `

```
"Resource":
arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/my-batchprediction-id
```

 평가 ID: `my-evaluation-id `

```
"Resource": arn:aws:machinelearning:<region>:<your-account-id>:evaluation/my-evaluation-id
```

## Amazon SNS에 대한 정책 예제
<a name="example-policies-for-amazon-ml"></a>

 **예제 1: 사용자가 기계 학습 리소스의 메타데이터를 읽을 수 있도록 허용** 

다음 정책은 사용자나 그룹이 지정된 리소스에서 [DescribeDataSources](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeDataSources.html), [DescribeMLModels](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeMLModels.html), [DescribeBatchPredictions](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeBatchPredictions.html), [DescribeEvaluations](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_DescribeEvaluations.html), [GetDataSource](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetDataSource.html), [GetMLModel](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetMLModel.html), [GetBatchPrediction](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetBatchPrediction.html) 및 [GetEvaluation](https://docs.aws.amazon.com/machine-learning/latest/APIReference/API_GetEvaluation.html) 작업을 수행하여 데이터 소스, ML 모델, 배치 예측 및 평가의 메타데이터를 읽을 수 있도록 허용합니다. Describe \* 작업 권한은 특정 리소스로 제한할 수 없습니다.

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

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:Get*" ], "Resource": [
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:datasource/S3-DS-ID1",
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:datasource/REDSHIFT-DS-ID1",
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:mlmodel/ML-MODEL-ID1",
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:batchprediction/BP-ID1",
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:evaluation/EV-ID1"
    ] }, { "Effect": "Allow", "Action": [ "machinelearning:Describe*" ], "Resource": [ "*" ] } ]
    }
```

------

 **예제 2: 사용자가 기계 학습 리소스를 만들 수 있도록 허용** 

 다음 정책은 사용자나 그룹이 `CreateDataSourceFromS3`, `CreateDataSourceFromRedshift`, `CreateDataSourceFromRDS`, `CreateMLModel`, `CreateBatchPrediction` 및 `CreateEvaluation` 작업을 수행하여 기계 학습 데이터 소스, ML 모델, 배치 예측 및 평가를 생성할 수 있도록 허용합니다. 이들 작업의 권한을 특정 리소스로 제한할 수 없습니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "machinelearning:CreateDataSourceFrom*",
                "machinelearning:CreateMLModel",
                "machinelearning:CreateBatchPrediction",
                "machinelearning:CreateEvaluation"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------

 **예제 3: 사용자가 실시간 엔드포인트를 생성 및 삭제하고 ML 모델에서 실시간 예측을 수행하도록 허용** 

 다음 정책은 사용자나 그룹이 실시간 엔드포인트를 생성 및 삭제하고, 해당 모델에서 `CreateRealtimeEndpoint`, `DeleteRealtimeEndpoint` 및 `Predict` 작업을 수행하여 특정 ML 모델에 대한 실시간 예측을 수행할 수 있도록 허용합니다.

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

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:CreateRealtimeEndpoint", "machinelearning:DeleteRealtimeEndpoint",
    "machinelearning:Predict" ], "Resource": [
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:mlmodel/ML-MODEL"
    ] } ] }
```

------

 **예제 4: 사용자가 특정 리소스를 업데이트하고 삭제하도록 허용** 

 다음 정책은 사용자나 그룹이 계정의 해당 리소스에서 `UpdateDataSource`, `UpdateMLModel`, `UpdateBatchPrediction`, `UpdateEvaluation`, `DeleteDataSource`, `DeleteMLModel`, `DeleteBatchPrediction` 및 `DeleteEvaluation` 작업을 수행할 권한을 부여하여 계정의 특정 리소스를 업데이트하고 삭제할 수 있도록 허용합니다.

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

****  

```
{ "Version":"2012-10-17",		 	 	  "Statement": [ { "Effect": "Allow", "Action": [
    "machinelearning:Update*", "machinelearning:DeleteDataSource", "machinelearning:DeleteMLModel",
    "machinelearning:DeleteBatchPrediction", "machinelearning:DeleteEvaluation" ], "Resource": [
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:datasource/S3-DS-ID1",
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:datasource/REDSHIFT-DS-ID1",
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:mlmodel/ML-MODEL-ID1",
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:batchprediction/BP-ID1",
        "arn:aws:machinelearning:{{us-east-1}}:{{123456789012}}:evaluation/EV-ID1"
    ] } ] }
```

------

 **예제 5: 모든 ML 작업 허용** 

 다음 정책은 사용자나 그룹이 모든 Amazon ML 작업을 사용할 수 있도록 허용합니다. 이 정책은 모든 기계 학습 리스소에 대한 전체 액세스 권한을 부여하므로 관리자로만 제한해야 합니다.

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "machinelearning:*"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

------