アクセスコントロール - AWS Data Exchange ユーザーガイド

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

アクセスコントロール

AWS Data Exchange リソースを作成、更新、削除、または一覧表示するには、 オペレーションを実行し、対応するリソースにアクセスするためのアクセス許可が必要です。操作をプログラム的に実行するには、有効なアクセスキーも必要です。

AWS Data Exchange リソースへのアクセス許可の管理の概要

すべての AWS リソースは によって所有され AWS アカウント、リソースを作成またはアクセスするためのアクセス許可はアクセス許可ポリシーによって管理されます。アカウント管理者は、ユーザー、グループ、およびロールにアクセス許可ポリシーをアタッチできます。一部のサービス ( AWS Lambdaなど) は、リソースへの許可ポリシーのアタッチもサポートします。

注記

アカウント管理者 (または管理者) は、管理者権限を持つユーザーです。詳細については、IAM「ベストプラクティス」を参照してください。

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

AWS Data Exchange リソースとオペレーション

には AWS Data Exchange、コントロールプレーンが異なる 2 種類のプライマリリソースがあります。

  • の主なリソース AWS Data Exchange はデータセットジョブ です。 はリビジョンアセット AWS Data Exchange もサポートしています。

  • プロバイダーとサブスクライバー間のトランザクションを容易にするために、 AWS Data Exchange は製品、オファー、サブスクリプションなどの AWS Marketplace 概念とリソースも使用します。 AWS Marketplace Catalog APIまたは AWS Data Exchange コンソールを使用して、製品、オファー、サブスクリプションリクエスト、サブスクリプションを管理できます。

リソース所有権について

は、リソースを作成したユーザーに関係なく、アカウントで作成されたリソース AWS アカウント を所有します。具体的には、リソース所有者は、リソース作成リクエストを認証する AWS アカウント プリンシパルエンティティ ( AWS アカウント ルートユーザー、ユーザー、またはロール) の です。以下は、この仕組みを説明する例です。

リソース所有権

正しいアクセス許可 AWS アカウント を持つ 内のIAMエンティティは、 AWS Data Exchange データセットを作成できます。IAM エンティティがデータセットを作成すると、そのエンティティがデータセット AWS アカウント を所有します。公開されたデータ製品には、それらを AWS アカウント 作成した のみが所有するデータセットを含めることができます。

AWS Data Exchange 製品をサブスクライブするには、IAMエンティティには、 の AWS Data Exchange、、および アクセス許可に加えてaws-marketplace:aws-marketplace:CreateAgreementRequestaws-marketplace:subscribeを使用するaws-marketplace:AcceptAgreementRequestIAMアクセス許可が必要です AWS Marketplace (関連するサブスクリプション検証に合格すると仮定)。サブスクライバーのアカウントには権限を持つデータセットに対する読み取りアクセス権がありますが、アカウントは権限を持つデータセットを所有しません。Amazon S3 にエクスポートされる権限を持つデータセットは、サブスクライバーの AWS アカウントが所有します。

リソースへのアクセスの管理

このセクションでは、 のコンテキストIAMでの の使用について説明します AWS Data Exchange。IAM サービスに関する詳細情報は提供されません。詳細なIAMドキュメントについては、「 ユーザーガイド」のIAM「 とはIAM」を参照してください。IAM ポリシーの構文と説明については、「 ユーザーガイド」のAWSIAM「 ポリシーリファレンスIAM」を参照してください。

アクセスポリシーは、誰が何に対するアクセス権を持っているのかを説明します。以下のセクションでは、アクセス権限のポリシーを作成するためのオプションについて説明します。

IAM ID にアタッチされたポリシーは、アイデンティティベースのポリシー ( ポリシー) と呼ばれます。IAMリソースにアタッチされたポリシーは、リソースベースのポリシーと呼ばれます。 は、アイデンティティベースのポリシー (IAM ポリシー) のみ AWS Data Exchange をサポートします。

ID ベースのポリシーと権限

AWS Data Exchange には、次の 4 つの マネージドポリシーがあります。

  • AWSDataExchangeFullAccess

  • AWSDataExchangeSubscriberFullAccess

  • AWSDataExchangeProviderFullAccess

  • AWSDataExchangeReadOnly

これらのポリシーとその許可に関する詳細については、「AWS の マネージドポリシー AWS Data Exchange」を参照してください。

Amazon S3 許可

Amazon S3 から にアセットをインポートする場合 AWS Data Exchange、 AWS Data Exchange サービス S3 バケットに書き込むためのアクセス許可が必要です。同様に、 から Amazon S3 AWS Data Exchange にアセットをエクスポートする場合、 AWS Data Exchange サービス S3 バケットから読み取るためのアクセス許可が必要です。これらの許可は前述のポリシーに含まれていますが、独自のポリシーを作成して、ユーザーに実行してもらいたい操作だけを許可することもできます。これらのアクセス許可は、名前aws-data-exchangeに を含むバケットに限定し、 アクセス CalledVia許可を使用して、プリンシパル AWS Data Exchange に代わって によって行われたリクエストへのアクセス許可の使用を制限できます。

例えば、これらのアクセス許可 AWS Data Exchange を含む へのインポートとエクスポートを許可するポリシーを作成できます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::*aws-data-exchange*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia":[ "dataexchange.amazonaws.com" ] } } }, { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws:s3:::*aws-data-exchange*", "Condition": { "ForAnyValue:StringEquals": { "aws:CalledVia":[ "dataexchange.amazonaws.com" ] } } }, ] }

これらのアクセス許可により、プロバイダーは を使用してインポートおよびエクスポートできます AWS Data Exchange。ポリシーには、以下の許可と制限が含まれています。

  • s3:PutObject および s3:PutObjectAcl – これらのアクセス許可は、名前aws-data-exchangeに を含む S3 バケットのみに制限されます。これらのアクセス許可により、プロバイダーは Amazon S3 からインポートするときに AWS Data Exchange サービスバケットに書き込むことができます。

  • s3:GetObject – このアクセス許可は、名前aws-data-exchangeに を含む S3 バケットに制限されます。このアクセス許可により、 から Amazon S3 AWS Data Exchange にエクスポートするときに AWS Data Exchange 、サービスバケットから読み取ることができます。

  • これらのアクセス許可は、 を IAMCalledVia条件で使用して行われたリクエストに制限 AWS Data Exchange されます。これにより、 AWS Data Exchange コンソールまたは のコンテキストでのみ S3 アクセスPutObject許可を使用できますAPI。

  • AWS Lake Formation および AWS Resource Access Manager (AWS RAM) AWS Lake Formation データセットを使用するには、サブスクリプションを持つ新しいプロバイダーごとに AWS RAM 共有招待を受け入れる必要があります。 AWS RAM 共有の招待を承諾するには、 AWS RAM 共有の招待を受け入れるアクセス許可を持つロールを引き受ける必要があります。の AWS マネージドポリシーの詳細については AWS RAM、「 の マネージドポリシー」を参照してください AWS RAM。

  • AWS Lake Formation データセットを作成するには、 が にロールIAMを渡すことを許可するロールを引き受けたデータセットを作成する必要があります AWS Data Exchange。これにより、 AWS Data Exchange はユーザーに代わって Lake Formation リソースにアクセス許可を付与および取り消すことができます。以下のポリシーの例を参照してください。

    { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "dataexchange.amazonaws.com" } } }
注記

ユーザーには、この例で説明されていない独自の S3 バケットとオブジェクトに対して読み取りまたは書き込みを行うための追加の許可も必要になる場合があります。

ユーザー、グループ、ロール、アクセス許可の詳細については、 IAM ユーザーガイド「アイデンティティ (ユーザー、グループ、ロール)」を参照してください。

リソースベースのポリシー

AWS Data Exchange は、リソースベースのポリシーをサポートしていません。

Amazon S3 などの他のサービスは、リソースベースの許可ポリシーをサポートします。例えば、ポリシーを S3 バケットにアタッチして、そのバケットに対するアクセス許可を管理できます。

ポリシー要素 (アクション、効果、プリンシパル) の指定

を使用するには AWS Data Exchange、 IAMポリシーでユーザーアクセス許可を定義する必要があります。

最も基本的なポリシーの要素を次に示します。

  • リソース – ポリシーでは、Amazon リソースネーム (ARN) を使用して、ポリシーが適用されるリソースを識別します。すべての AWS Data Exchange APIオペレーションはリソースレベルのアクセス許可 (RLP) をサポートしていますが、 AWS Marketplace アクションは をサポートしていませんRLP。詳細については、「AWS Data Exchange リソースとオペレーション」を参照してください。

  • アクション – アクションキーワードを使用して、許可または拒否するリソース操作を特定します。

  • 効果 – ユーザーが特定のアクションをリクエストするときの効果 (許可または拒否) を指定します。リソースに対するアクセス権を明示的に付与 (許可) しない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。

  • プリンシパル – アイデンティティベースのポリシー (IAM ポリシー) では、ポリシーがアタッチされているユーザーが暗黙的なプリンシパルです。リソースベースのポリシーでは、アクセス許可を受け取るユーザー、アカウント、サービス、またはその他のエンティティを指定します (リソースベースのポリシーにのみ適用されます)。リソースベースのポリシー AWS Data Exchange はサポートされていません。

IAM ポリシーの構文と説明の詳細については、「 ユーザーガイド」のAWSIAM「 ポリシーリファレンスIAM」を参照してください。

ポリシーでの条件の指定

アクセス許可を付与するときは、IAMポリシー言語を使用して、ポリシーを有効にする条件を指定できます。では AWS Data Exchange、、CreateJobStartJobGetJobおよび CancelJobAPIオペレーションが条件付きアクセス許可をサポートします。許可は JobType レベルで提供できます。

AWS Data Exchange 条件キーリファレンス
条件キー 説明 [Type] (タイプ)
"dataexchange:JobType":"IMPORT_ASSETS_FROM_S3" Amazon S3 からアセットをインポートするジョブに許可をスコープします。 文字列
"dataexchange:JobType":IMPORT_ASSETS_FROM_LAKE_FORMATION_TAG_POLICY" (Preview) AWS Lake Formation からアセットをインポートするジョブに対するアクセス許可の範囲を設定します (プレビュー) 文字列
"dataexchange:JobType":"IMPORT_ASSET_FROM_SIGNED_URL" 署名付き からアセットをインポートするジョブにアクセス許可をスコープしますURL。 文字列
"dataexchange:JobType":"IMPORT_ASSET_FROM_REDSHIFT_DATA_SHARES" Amazon Redshift からアセットをインポートするジョブに許可をスコープします。 文字列
"dataexchange:JobType":"IMPORT_ASSET_FROM_API_GATEWAY_API" Amazon API Gateway からアセットをインポートするジョブにアクセス許可をスコープします。 文字列
"dataexchange:JobType":"EXPORT_ASSETS_TO_S3" Amazon S3 にアセットをエクスポートするジョブに許可をスコープします。 文字列
"dataexchange:JobType":"EXPORT_ASSETS_TO_SIGNED_URL" 署名付き にアセットをエクスポートするジョブにアクセス許可をスコープしますURL。 文字列
"dataexchange:JobType":EXPORT_REVISIONS_TO_S3" Amazon S3 にリビジョンをエクスポートするジョブに許可をスコープします。 文字列

ポリシー言語での条件の指定の詳細については、「 IAMユーザーガイド」の「条件」を参照してください。

条件を表すには、定義済みの条件キーを使用します。 AWS Data Exchange には APIオペレーションJobTypeの条件があります。必要に応じて使用できる AWS 全体の条件キーもあります。 AWS ワイドキーの完全なリストについては、IAMユーザーガイド」を参照してください。