Amazon S3 に予測を出力するために Amazon ML のアクセス許可を得る - Amazon Machine Learning

Amazon Machine Learning サービスの更新や、その新しいユーザーの受け入れは行っていません。このドキュメントは既存のユーザー向けに提供されていますが、更新は終了しています。詳細については、「Amazon Machine Learning とは」を参照してください。

Amazon S3 に予測を出力するために Amazon ML のアクセス許可を得る

バッチ予測オペレーションの結果を Amazon S3 に出力するには、バッチ予測生成オペレーションの入力として提供された出力場所に対する以下のアクセス権限を Amazon ML に付与する必要があります。

  • S3 バケットおよびプレフィックスの GetObject アクセス許可。

  • S3 バケットおよびプレフィックスの PutObject アクセス許可。

  • S3 バケットおよびプレフィックスの PutObjectAcl アクセス許可。

    • オブジェクトが作成された後で既定の ACL bucket-owner-full-control アクセス許可をユーザーの AWS アカウントに与えるために、Amazon ML にはこれらのアクセス許可が必要です。

  • S3 バケットの ListBucket アクセス許可。他のアクションと異なり、ListBucket はバケット全体のアクセス許可 (プレフィックスにではなく) が付与されている必要があります。ただし、条件句を使用してアクセス権限を特定のプレフィックスにスコープできます。

Amazon ML コンソールを使用してバッチ予測リクエストを作成する場合、これらのアクセス許可をバケットに追加することができます。ウィザードの手順を完了する時に、それらを追加するかどうかを確認するプロンプトが表示されます。

以下のポリシーの例は、サンプルの場所 s3://examplebucket/exampleprefix にデータを書き込むアクセス許可を Amazon ML に付与する方法を示しています。ListBucket アクセス許可の適用範囲は exampleprefix 入力パスにのみに絞り込まれ、出力プレフィックスの put object ACL のアクセス許可を Amazon ML に付与しています。

{ "Version": "2008-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com"}, "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*" "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }, { "Effect": "Allow", "Principal": { "Service": "machinelearning.amazonaws.com"}, "Action": "s3:PutObjectAcl", "Resource": "arn:aws:s3:::examplebucket/exampleprefix/*", "Condition": { "StringEquals": { "s3:x-amz-acl":"bucket-owner-full-control" } "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }, { "Effect": "Allow", "Principal": {"Service": "machinelearning.amazonaws.com"}, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::examplebucket", "Condition": { "StringLike": { "s3:prefix": "exampleprefix/*" } "StringEquals": { "aws:SourceAccount": "123456789012" } "ArnLike": { "aws:SourceArn": "arn:aws:machinelearning:us-east-1:123456789012:*" } } }] }

このポリシーをデータに適用するには、データが保存されている S3 バケットに関連付けられたポリシーステートメントを編集する必要があります。

S3 バケットのアクセス権限ポリシーを編集するには (古いコンソールを使用)
  1. AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/ を開きます。

  2. データが置かれているバケット名を選択します。

  3. [Properties] (プロパティ) を選択します。

  4. [バケットポリシーの編集] を選択します。

  5. 上記のポリシーを入力し、ニーズに合わせてカスタマイズしてから、[保存] を選択します。

  6. [Save (保存)] を選択します。

S3 バケットのアクセス権限ポリシーを編集するには (新しいコンソールを使用)
  1. AWS Management Console にサインインし、Amazon S3 コンソール https://console.aws.amazon.com/s3/ を開きます。

  2. バケット名、[アクセス権限] の順に選択します。

  3. [バケットポリシー] を選択します。

  4. 上記のポリシーを入力し、ニーズに合わせてカスタマイズします。

  5. [Save (保存)] を選択します。