

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

# アクセスコントロール
<a name="access-control"></a>

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

## AWS Data Exchange リソースへのアクセス許可の管理の概要
<a name="access-control-overview"></a>

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

**注記**  
*アカウント管理者 *(または管理者) は、管理者権限を持つユーザーです。詳細については、「[IAM ベストプラクティス](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)」を参照してください。

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。
+ 以下のユーザーとグループ AWS IAM アイデンティティセンター:

  アクセス許可セットを作成します。「*AWS IAM アイデンティティセンター ユーザーガイド*」の「[アクセス許可セットを作成する](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html)」の手順に従ってください。
+ IAM 内で、ID プロバイダーによって管理されているユーザー:

  ID フェデレーションのロールを作成します。詳細については *IAM ユーザーガイド* の [サードパーティー ID プロバイダー (フェデレーション) 用のロールを作成する](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) を参照してください。
+ IAM ユーザー:
  + ユーザーが担当できるロールを作成します。手順については *IAM ユーザーガイド* の [IAM ユーザーのロールの作成](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) を参照してください。
  + (お奨めできない方法) ポリシーをユーザーに直接アタッチするか、ユーザーをユーザーグループに追加します。*IAM ユーザーガイド* の [ユーザー (コンソール) へのアクセス許可の追加](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) の指示に従います。

**Topics**
+ [AWS Data Exchange リソースとオペレーション](#access-control-resources)
+ [リソース所有権についての理解](#access-control-owner)
+ [リソースへのアクセスの管理](#access-control-manage-access-intro)
+ [ポリシー要素 (アクション、効果、プリンシパル) の指定](#access-control-specify-control-tower-actions)
+ [ポリシーでの条件の指定](#specifying-conditions)

### AWS Data Exchange リソースとオペレーション
<a name="access-control-resources"></a>

には AWS Data Exchange、コントロールプレーンが異なる 2 種類のプライマリリソースがあります。
+ の主なリソース AWS Data Exchange は*データセット*と*ジョブ*です。 はリ*ビジョン*と*アセット* AWS Data Exchange もサポートしています。
+ プロバイダーとサブスクライバー間のトランザクションを容易にするために、 AWS Data Exchange は製品、オファー、サブスクリプションなどの AWS Marketplace 概念とリソースも使用します。 AWS Marketplace Catalog API または AWS Data Exchange コンソールを使用して、製品、オファー、サブスクリプションリクエスト、サブスクリプションを管理できます。

### リソース所有権についての理解
<a name="access-control-owner"></a>

は、リソースを作成したユーザーに関係なく、アカウントで作成されたリソース AWS アカウント を所有します。具体的には、リソース所有者は、リソース作成リクエスト AWS アカウント を認証する[プリンシパルエンティティ](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html) ( AWS アカウント ルートユーザー、ユーザー、またはロール) の です。以下は、この仕組みを説明する例です。

#### リソース所有権
<a name="resource-ownership"></a>

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

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

### リソースへのアクセスの管理
<a name="access-control-manage-access-intro"></a>

このセクションでは、 のコンテキストでの IAM の使用について説明します AWS Data Exchange。ここでは、IAM サービスに関する詳細情報を提供しません。完全な IAM ドキュメンテーションについては、「*IAM ユーザーガイド*」の「[IAM とは](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」を参照してください。IAM ポリシーの構文の詳細と説明については、*IAM ユーザーガイド* の [AWS Identity and Access Management IAM ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html) を参照してください。

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

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

**Topics**
+ [ID ベースのポリシーと権限](#access-control-manage-access-intro-iam-policies)
+ [リソースベースのポリシー](#access-control-manage-access-intro-resource-policies)

#### ID ベースのポリシーと権限
<a name="access-control-manage-access-intro-iam-policies"></a>

AWS Data Exchange には、一連の 管理ポリシーが用意されています。それらとそのアクセス許可の詳細については、「」を参照してください[AWS の 管理ポリシー AWS Data Exchange](security-iam-awsmanpol.md)。

##### Amazon S3 のアクセス許可
<a name="additional-s3-permissions"></a>

Amazon S3 から にアセットをインポートする場合 AWS Data Exchange、 AWS Data Exchange サービス S3 バケットに書き込むためのアクセス許可が必要です。同様に、 から Amazon S3 AWS Data Exchange にアセットをエクスポートする場合、 AWS Data Exchange サービス S3 バケットから読み取るためのアクセス許可が必要です。これらの許可は前述のポリシーに含まれていますが、独自のポリシーを作成して、ユーザーに実行してもらいたい操作だけを許可することもできます。これらのアクセス許可は、名前`aws-data-exchange`に を含むバケットにスコープし、[CalledVia](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-calledvia) アクセス許可を使用して、アクセス許可の使用をプリンシパル AWS Data Exchange に代わって によって行われたリクエストに制限できます。

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

------
#### [ JSON ]

****  

```
{
    "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 サービスバケットから読み取ることができます。
+ これらの許可は、IAM `CalledVia` 条件で 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。](https://docs.aws.amazon.com/ram/latest/userguide/security-iam-managed-policies.html)
+  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 ユーザーガイド](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)」の「*ID (ユーザー、グループ、ロール)*」を参照してください。

#### リソースベースのポリシー
<a name="access-control-manage-access-intro-resource-policies"></a>

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

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

### ポリシー要素 (アクション、効果、プリンシパル) の指定
<a name="access-control-specify-control-tower-actions"></a>

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

最も基本的なポリシーの要素を次に示します。
+ **リソース** – ポリシーでは、ポリシーが適用されるリソースを特定するために Amazon リソースネーム (ARN) を使用します。すべての AWS Data Exchange API オペレーションはリソースレベルのアクセス許可 (RLP) をサポートしていますが、 AWS Marketplace アクションは RLP をサポートしていません。詳細については、「[AWS Data Exchange リソースとオペレーション](#access-control-resources)」を参照してください。
+ アクション**** – アクションキーワードを使用して、許可または拒否するリソース操作を特定します。
+ 効果**** – ユーザーが特定のアクションをリクエストするときの効果 (許可または拒否) を指定します。リソースに対するアクセス権を明示的に付与 (許可) しない場合、アクセスは暗黙的に拒否されます。また、明示的にリソースへのアクセスを拒否すると、別のポリシーによってアクセスが許可されている場合でも、ユーザーはそのリソースにアクセスできなくなります。
+ プリンシパル**** – ID ベースのポリシー (IAM ポリシー) で、ポリシーがアタッチされているユーザーが黙示的なプリンシパルとなります。リソースベースのポリシーでは、アクセス許可を受け取るユーザー、アカウント、サービス、またはその他のエンティティを指定します (リソースベースのポリシーにのみ適用されます）。 AWS Data Exchange はリソースベースのポリシーをサポートしていません。

IAM ポリシーの構文と説明の詳細については、*IAM ユーザーガイド*の[AWS Identity and Access Management 「ポリシーリファレンス](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies.html)」を参照してください。

### ポリシーでの条件の指定
<a name="specifying-conditions"></a>

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


**AWS Data Exchange 条件キーリファレンス**  

| 条件キー | 説明 | タイプ | 
| --- | --- | --- | 
| "dataexchange:JobType":"IMPORT\$1ASSETS\$1FROM\$1S3" | Amazon S3 からアセットをインポートするジョブに許可をスコープします。 | String | 
| "dataexchange:JobType":IMPORT\$1ASSETS\$1FROM\$1LAKE\$1FORMATION\$1TAG\$1POLICY" (Preview) |  AWS Lake Formation からアセットをインポートするジョブに対するアクセス許可の範囲を設定します (プレビュー) | String | 
| "dataexchange:JobType":"IMPORT\$1ASSET\$1FROM\$1SIGNED\$1URL" | 署名付き URL からアセットをインポートするジョブに許可をスコープします。 | String | 
| "dataexchange:JobType":"IMPORT\$1ASSET\$1FROM\$1REDSHIFT\$1DATA\$1SHARES" | Amazon Redshift からアセットをインポートするジョブに許可をスコープします。 | String | 
| "dataexchange:JobType":"IMPORT\$1ASSET\$1FROM\$1API\$1GATEWAY\$1API" | Amazon API Gateway からアセットをインポートするジョブに許可をスコープします。 | String | 
| "dataexchange:JobType":"EXPORT\$1ASSETS\$1TO\$1S3" | Amazon S3 にアセットをエクスポートするジョブに許可をスコープします。 | String | 
| "dataexchange:JobType":"EXPORT\$1ASSETS\$1TO\$1SIGNED\$1URL" | 署名付き URL にアセットをエクスポートするジョブに許可をスコープします。 | String | 
| "dataexchange:JobType":EXPORT\$1REVISIONS\$1TO\$1S3" | Amazon S3 にリビジョンをエクスポートするジョブに許可をスコープします。 | String | 

ポリシー言語での条件の指定に関する詳細については、「IAM ユーザーガイド**」の「[条件](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html#Condition)」を参照してください。

条件を表すには、事前定義された条件キーを使用します。 には API オペレーション`JobType`の条件 AWS Data Exchange があります。必要に応じて使用できる AWS 全体の条件キーもあります。 AWS 全体キーの完全なリストについては、「[https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)」を参照してください。