

Amazon Machine Learning サービスの更新や、その新しいユーザーの受け入れは行っていません。このドキュメントは既存のユーザー向けに提供されていますが、更新は終了しています。詳細については、「[Amazon Machine Learning とは](https://docs.aws.amazon.com/machine-learning/latest/dg/what-is-amazon-machine-learning.html)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# IAM による Amazon ML リソースへのアクセスの制御
<a name="controlling-access-to-amazon-ml-resources-by-using-iam"></a>

AWS Identity and Access Management (IAM) を使用すると、ユーザーの AWS のサービスおよびリソースへのアクセスを安全に制御できます。IAM を使用すると、AWS ユーザー、グループ、およびロールを作成および管理し、アクセス権を使用して AWS リソースへのアクセスを許可および拒否できます。IAM を Amazon Machine Learning (Amazon ML) で使用すると、組織内のユーザーが特定の AWS リソースを使用できるかどうか、および特定の Amazon ML API アクションを使用してタスクを実行できるかどうかを制御できます。

 IAM を使用して、以下を行えます。
+  お客様の AWS アカウントでユーザーとグループを作成する。
+  お客様の AWS アカウントでユーザーごとに固有のセキュリティ認証情報を割り当てる 
+  AWS のリソースを使用してタスクを実行するために各ユーザーのアクセス権限を制御する 
+  お客様の AWS アカウントのリソースを AWS アカウント内のユーザー間で共有する 
+  AWS アカウントにロールを作成し、そのアクセス権限を管理して、それを行えるユーザーまたはサービスを定義する 
+ IAM でロールを作成し、権限を管理することで、そのロールを適用するエンティティまたは AWS のサービスによって実行可能なオペレーションをコントロールする。ロールをどのエンティティに適用するかについても定義できます。



 組織が既に IAM アイデンティティを持っている場合、AWS のリソースを使用してタスクを実行するためのアクセス権限を、それを使用して付与することができます。

IAM の詳細については、[IAM ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/) を参照してください。

## IAM ポリシー構文
<a name="policy-syntax"></a>

 IAM ポリシーは、1 つ、または複数のステートメントで構成される JSON ドキュメントです。各ステートメントは次のような構成です。

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

 ポリシーステートメントには以下の要素が含まれます。
+  **Effect:** ステートメントの後半で指定するリソースおよび API アクションを使用するためのアクセス許可を制御します。有効な値は、`Allow` および `Deny` です。デフォルトでは、IAM ユーザーはリソースおよび API アクションを使用するアクセス許可がないため、リクエストはすべて拒否されます。明示的な `Allow` はデフォルトに優先します。明示的な `Deny` は、すべての `Allows` に優先します。
+  **Action**: アクセス許可を付与または拒否する対象となる、特定の API アクションです。
+  **Resource]** (リソース): アクションによって影響を及ぼされるリソースです。ステートメントでリソースを指定するには、Amazon リソースネーム (ARN) を使用します。
+  **Condition (オプション)**: ポリシーが有効になるタイミングを制御します。

 IAM ポリシーの作成および管理を簡素化するために、AWS Policy Generator と IAM Policy Simulator を使用できます。

## Amazon MLAmazon ML の IAM ポリシーアクションの指定
<a name="actions-for-amazon-ml"></a>

 IAM ポリシーステートメントで、IAM をサポートするすべてのサービスの任意の API アクションを指定できます。Amazon ML API アクションのポリシーステートメントを作成する場合、次の例に示すように、API アクションの名前の前に `machinelearning:` を追加します。
+ `machinelearning:CreateDataSourceFromS3`
+ `machinelearning:DescribeDataSources`
+ `machinelearning:DeleteDataSource`
+ `machinelearning:GetDataSource`

 単一のステートメントで複数のアクションを指定するには、アクション間をコンマで区切ります。

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

ワイルドカードを使用して複数のアクションを指定することもできます。たとえば、名前が「Get」という単語で始まるすべてのアクションを指定できます。

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

Amazon ML アクションをすべて指定するには、\$1 ワイルドカードを使用します。

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

 すべての Amazon ML API アクションの一覧については、「[Amazon Machine Learning 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 ポリシーステートメントは 1 つまたは複数のリソースに適用されます。ARN でポリシーのリソースを指定します。

 Amazon ML リソースの ARN を指定するには、次の形式を使用します。

 "Resource": `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 ML のポリシーの例
<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 \$1 オペレーションのアクセス権限を特定のリソースに制限することはできません。

------
#### [ 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` アクションをアカウントのリソースで実行して、AWS アカウントの特定のリソースの更新や削除を実行することを許可します。

------
#### [ 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: すべての Amazon ML アクションを許可** 

 次のポリシーでは、任意の Amazon ML アクションの使用をユーザーまたはグループに許可します。このポリシーはすべての機械学習リソースへのフルアクセスを許可するため、管理者にのみ適用します。

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

****  

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

------