アクセスコントロール - 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:subscribeaws-marketplace:aws-marketplace:CreateAgreementRequest、および のアクセス許可に加えて、 を使用するaws-marketplace:AcceptAgreementRequestIAMアクセス許可が必要です。サブスクライバーのアカウントには権限を持つデータセットに対する読み取りアクセス権がありますが、アカウントは権限を持つデータセットを所有しません。Amazon S3 にエクスポートされる権限を持つデータセットは、サブスクライバーの AWS アカウントが所有します。

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

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

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

IAM ID にアタッチされたポリシーは、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 されます。これにより、S3 アクセスPutObject許可を AWS Data Exchange コンソールまたは のコンテキストでのみ使用できます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。これにより、ユーザーに代わって Lake Formation リソースにアクセス許可 AWS Data Exchange を付与および取り消すことができます。以下のポリシーの例を参照してください。

    { "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 リソースとオペレーション」を参照してください。

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

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

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

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

ポリシーでの条件の指定

アクセス許可を付与する場合、IAMポリシー言語を使用して、ポリシーを有効にする条件を指定できます。では AWS Data Exchange、CreateJob、、GetJob、および StartJobCancelJobAPIオペレーションが条件付きアクセス許可をサポートします。許可は 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「 ユーザーガイド」の「 条件」を参照してください。

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