我們不再更新 Amazon Machine Learning 服務或接受新使用者。本文件適用於現有使用者,但我們不再對其進行更新。如需詳細資訊,請參閱什麼是 Amazon Machine Learning。
本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
控制 Amazon ML 資源的存取 - 使用 IAM
AWS Identity and Access Management (IAM) 能讓您安全地控制使用者對 AWS 服務和資源的存取權限。搭配 Amazon Learning (Amazon Learning) 使用 IAM,您可以控制組織中的使用者是否可以使用特定的 AWS 資源。搭配 Amazon Learning (Amazon Learning) 使用 IAM 與 Amazon Machine Learning (Amazon ML),您可以控制組織中的使用者是否可以使用特定的 AWS 資源,以及是否可以使用特定的亞馬遜 ML API 動作。
IAM 可讓您:
-
在 AWS 帳戶底下建立使用者與群組。
-
將唯一安全登入資料指派給 AWS 帳戶下的每位使用者
-
控制每個使用者使用 AWS 資源執行任務的許可
-
與 AWS 帳戶中的使用者輕鬆共用您的 AWS 資源
-
為您的 AWS 帳戶建立角色和管理許可,以定義可擔任這些角色的使用者或服務
-
您可以在 IAM 中建立角色並管理許可,控制擔任該角色的實體或 AWS 服務可執行哪些操作。您也可以定義允許擔任該角色的實體。
如果您的組織已經有 IAM 身分,您可以使用它們來授予使用 AWS 資源執行任務的許可。
如需 IAM 的詳細資訊,請參閱《IAM 使用者指南》。
IAM 政策語法
IAM 政策為包含一或多個陳述式的 JSON 文件。每個陳述式結構如下:
{ "Statement":[{ "Effect":"effect", "Action":"action", "Resource":"arn", "Condition":{ "condition operator":{ "key":"value" } } }] }
政策陳述式包含下列元素:
-
效果:控制使用資源和 API 動作 (您稍後將於陳述式中指定) 的許可。有效值為
Allow
和Deny
。根據預設,IAM 使用者沒有使用資源和 API 動作的許可,因此所有請求均會遭到拒絕。明確Allow
會覆寫預設值。明確Deny
會覆寫任何Allows
。 -
動作:您授予或拒絕許可的特定 API 動作。
-
資源:受動作影響的資源。若要在陳述式中指定資源,您可以使用它的 Amazon Resource Name (ARN)。
-
Condition (選用):控制您的政策何時生效。
若要簡化 IAM 政策的建立和管理,您可以使用 AWS 政策產生器和 IAM 政策模擬器。
為亞馬遜毫升指定 IAM 政策操作
在 IAM 政策陳述式中,您可以為任何支援 IAM 的服務指定 API 動作。當您為 Amazon Machine Learning API 動作建立政策陳述式時,請在字首machinelearning:
API 動作名稱,如以下範例所示:
-
machinelearning:CreateDataSourceFromS3
-
machinelearning:DescribeDataSources
-
machinelearning:DeleteDataSource
-
machinelearning:GetDataSource
若要在單一陳述式中指定多個動作,請用逗號分隔:
"Action": ["machinelearning:action1", "machinelearning:action2"]
您也可以使用萬用字元指定多個動作。例如,您可以指定名稱開頭有 "Get" 文字的所有動作:
"Action": "machinelearning:Get*"
若要指定所有的 Amazon Machine Learning 動作,請使用 * 萬用字元:
"Action": "machinelearning:*"
如需完整的 Amazon Machine Learning API 動作清單,請參閱Amazon Machine Learning API 參考。
在 IAM 政策中為亞馬遜機器學習資源指定 ARN
IAM 政策聲明適用於一個或多個資源。您可以根據資源的 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 Machine Learning 的政策範例
範例 1:允許使用者讀取機器學習資源中繼資料
下列原則允許使用者或群組透過執行來讀取資料來源、ML 模型、批次預測和評估的中繼資料DescribeDataSources、DescribeMLModels、DescribeBatchPredictions、DescribeEvaluations、GetDataSource、GetMLModel、GetBatchPrediction,以及GetEvaluation對指定資源執行的動作。Describe* 操作許可不能限制在特定的資源上。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:Get*" ], "Resource": [ "arn:aws:machinelearning:<region>:<your-account-id>:datasource/S3-DS-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:datasource/REDSHIFT-DS-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/ML-MODEL-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/BP-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:evaluation/EV-ID1" ] }, { "Effect": "Allow", "Action": [ "machinelearning:Describe*" ], "Resource": [ "*" ] }] }
範例 2:允許使用者建立機器學習資源
以下政策允許使用者或群組透過執行 CreateDataSourceFromS3
、CreateDataSourceFromRedshift
、CreateDataSourceFromRDS
、CreateMLModel
、CreateBatchPrediction
和 CreateEvaluation
動作,來建立機器學習資料來源、ML 模型、批次預測和評估。您無法將這些動作的許可限制在特定資源上。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:CreateDataSourceFrom*", "machinelearning:CreateMLModel", "machinelearning:CreateBatchPrediction", "machinelearning:CreateEvaluation" ], "Resource": [ "*" ] }] }
範例 3:允許使用者建立和刪除) 即時端點,並在 ML 模型上執行即時預測
以下政策允許使用者或群組透過在模型上執行 CreateRealtimeEndpoint
、DeleteRealtimeEndpoint
和 Predict
動作,來為特定 ML 模型建立和刪除即時端點,以及執行即時預測。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:CreateRealtimeEndpoint", "machinelearning:DeleteRealtimeEndpoint", "machinelearning:Predict" ], "Resource": [ "arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/ML-MODEL" ] }] }
範例 4:允許使用者更新和刪除特定資源
以下政策允許透過提供許可給使用者或群組,讓他們在您帳戶的這些資源上執行 UpdateDataSource
、UpdateMLModel
、UpdateBatchPrediction
、UpdateEvaluation
、DeleteDataSource
、DeleteMLModel
、DeleteBatchPrediction
和 DeleteEvaluation
動作,更新和刪除您 AWS 帳戶中的特定資源。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:Update*", "machinelearning:DeleteDataSource", "machinelearning:DeleteMLModel", "machinelearning:DeleteBatchPrediction", "machinelearning:DeleteEvaluation" ], "Resource": [ "arn:aws:machinelearning:<region>:<your-account-id>:datasource/S3-DS-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:datasource/REDSHIFT-DS-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:mlmodel/ML-MODEL-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:batchprediction/BP-ID1", "arn:aws:machinelearning:<region>:<your-account-id>:evaluation/EV-ID1" ] }] }
範例 5:允許任何亞馬遜毫升
以下政策允許使用者或群組使用任何 Amazon ML 動作。由於此政策會授予您所有機器學習資源的完整存取權,因此僅限管理員使用。
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "machinelearning:*" ], "Resource": [ "*" ] }] }