SDK 権限をセットアップする - Amazon Lookout for Vision

SDK 権限をセットアップする

Amazon Lookout for Vision SDK オペレーションを使用するには、Lookout for Vision API や、モデルトレーニングに使用する Amazon S3 バケットへのアクセス権限が必要です。

SDK オペレーション権限の付与

タスクの実行に必要な権限 (最小特権) のみを付与することをお勧めします。たとえば、DetectAnomalies を呼び出すには、lookoutvision:DetectAnomalies を実行する権限が必要です。オペレーションの権限を確認するには、「API リファレンス」をチェックしてください。

アプリケーションを始めたばかりの場合は、必要な特定の権限がわからない場合があるため、幅広い権限から始めることができます。 AWS 管理ポリシーは、開始に役立つ権限を提供します。

コンソールの管理ポリシーは、SDK オペレーションのアクセス権限も提供します。詳細については、「ステップ 2: 権限をセットアップする」を参照してください。

AWS 管理ポリシーの詳細については、「AWS 管理ポリシー」を参照してください。

アプリケーションに必要な権限がわかったら、ユースケースに応じたカスタマー管理ポリシーを定義することで、権限をさらに減らします。詳細については、「カスタマー管理ポリシー」を参照してください。

注記

開始の手引きには s3:PutObject 権限が必要です。詳細については、「ステップ1: マニフェストファイルとアップロード画像を作成する」を参照してください。

権限を割り当てるには、「権限の割り当て」を参照してください。

Amazon S3 バケット権限の付与

モデルをトレーニングするには、イメージ、マニフェストファイル、およびトレーニング出力を格納するための適切なアクセス許可を持つ Amazon S3 バケットが必要です。バケットは AWS アカウントによって所有され、Amazon Lookout for Vision を使用している AWS リージョンにある必要があります。

SDK 専用の管理ポリシー (AmazonLookoutVisionFullAccessおよびAmazonLookoutVisionReadOnlyAccess) には Amazon S3 バケットの許可が含まれておらず、既存のコンソールバケットを含む使用するバケットにアクセスするには、以下の許可ポリシーを適用する必要があります。

コンソールの管理ポリシー (AmazonLookoutVisionConsoleFullAccessおよびAmazonLookoutVisionConsoleReadOnlyAccess) はコンソールバケットへのアクセス許可を含めます。SDK オペレーションでコンソールバケットにアクセスしていて、コンソール管理ポリシーのアクセス許可を持っている場合は、次のポリシーを使用する必要はありません。詳細については、「ステップ 2: 権限をセットアップする」を参照してください。

タスク許可の決定

次の情報を使用して、実行するタスクに必要なアクセス許可を決定します。

データセットの作成

CreateDataset でデータセットを作成するには以下の権限が必要になります。

  • s3:GetBucketLocation — Lookout for Vision により、バケットがLookout for Visionを使用しているのと同じ地域にあることを検証することができます。

  • s3:GetObjectDatasetSource 入力パラメータで指定されたマニフェストファイルへのアクセスを許可します。。マニフェストファイルの S3 オブジェクトのバージョンを正確に指定したい場合は、マニフェストファイル上で s3:GetObjectVersion も必要です。詳細については、「S3 バケットでバージョニングを使用する」を参照してください。

モデルの作成

CreateModel でモデルを作成するには以下の権限が必要になります。

  • s3:GetBucketLocation — Lookout for Vision により、バケットがLookout for Visionを使用しているのと同じ地域にあることを検証することができます。

  • s3:GetObject — プロジェクトのトレーニングデータセットとテストデータセットで指定された画像へのアクセスを許可します。

  • s3:PutObject — 指定したバケットにトレーニング出力を格納するアクセス許可。OutputConfig パラメータで出力バケットの場所を指定します。オプションで、S3Location 入力フィールドの Prefix フィールドで指定されたオブジェクトキーのみに許可を絞り込むことができます。詳細については、「OutputConfig」を参照してください。

イメージ、マニフェストファイル、およびトレーニング出力へアクセスする

Amazon S3 バケットのアクセス許可は、Amazon Lookout for Vision オペレーションのレスポンスを表示するために必要ありません。操作の応答で参照される画像、マニフェストファイル、トレーニング出力にアクセスする場合は、s3:GetObject 許可が必要です。バージョン管理された Amazon S3 オブジェクトにアクセスする場合は、s3:GetObjectVersion アクセス許可が必要です。

Amazon S3 バケットポリシーをセッティングする

以下のポリシーを使用して、データセットの作成 (CreateDataset)、モデルの作成 (CreateModel)、画像、マニフェストファイル、およびトレーニング出力へのアクセスに必要な Amazon S3 バケットの権限を指定できます。my-bucket の値を使用したいバケットの名前に変更します。

ポリシーは、ニーズに合わせて調整できます。詳細については、「タスク許可の決定」を参照してください。必要なユーザーにポリシーを追加します。IAM ポリシーの作成の詳細については、「IAM ポリシーを作成する」 を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "LookoutVisionS3BucketAccess", "Effect": "Allow", "Action": "s3:GetBucketLocation", "Resource": [ "arn:aws:s3:::my-bucket" ], "Condition": { "Bool": { "aws:ViaAWSService": "true" } } }, { "Sid": "LookoutVisionS3ObjectAccess", "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my-bucket/*" ], "Condition": { "Bool": { "aws:ViaAWSService": "true" } } } ] }

権限を割り当てるには、「権限の割り当て」を参照してください。

権限の割り当て

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。