

# 別のアカウントからデータカタログを登録する
<a name="data-sources-glue-cross-account"></a>

Athena のクロスアカウント AWS Glue カタログ機能を使用して、所有するアカウント以外のアカウントから AWS Glue カタログを登録できます。AWS Glue に必要な IAM アクセス許可を設定して、カタログを Athena `DataCatalog` リソースとして登録したら、Athena を使用してクロスアカウントクエリを実行できます。必要な許可の設定については、「[AWS Glue データカタログへのクロスアカウントアクセスを構成する](security-iam-cross-account-glue-catalog-access.md)」を参照してください。

以下の手順では、Athena を使用して、所有する Amazon Web Services アカウント以外のアカウントの AWS Glue Data Catalog をデータソースとして設定する方法を説明します。

## コンソールから登録する
<a name="data-sources-glue-cross-account-console"></a>

1. 「[AWS Glue データカタログへのクロスアカウントアクセスを構成する](security-iam-cross-account-glue-catalog-access.md)」のステップに従って、他のアカウントのデータカタログをクエリする許可があることを確認します。

1. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) で Athena コンソールを開きます。

1. コンソールのナビゲーションペインが表示されない場合は、左側の展開メニューをクリックします。  
![\[展開メニューを選択します。\]](http://docs.aws.amazon.com/ja_jp/athena/latest/ug/images/nav-pane-expansion.png)

1. **[データソースとカタログ]** を選択します。

1. コンソールの右上で、**[Create data source]** (データソースの作成) を選択します。

1. **[Choose a data source]** (データソースを選択) ページの **[Data sources]** (データソース) で、**[S3 - AWS Glue Data Catalog]** (S3 – AWS Glue Data Catalog データカタログ) を選択してから、**[Next]** (次へ) を選択します。

1. **[Enter data source details]** (データソースの詳細を入力) ページの **[AWS Glue Data Catalog]** (AWS Glue Data Catalog データカタログ) セクションにある **[Choose an AWS Glue Data Catalog]** (AWS Glue Data Catalog データカタログを選択) で、**[AWS Glue Data Catalog in another account]** (別のアカウントの AWS Glue Data Catalog データカタログ) を選択します。

1. **[Data source details]** (データソースの詳細) に、以下の情報を入力します。
   + **[Data source name]** (データソース名) – 他のアカウントにあるデータカタログを参照するために SQL クエリで使用する名前を入力します。
   + **Description** (説明) – (オプション) 他のアカウントにあるデータカタログの説明を入力します。
   + **カタログ ID** – データカタログが属する Amazon Web Services アカウントの 12 桁のアカウント ID を入力します。Amazon Web Services アカウント ID はカタログ ID です。

1. (オプション) **[Tags]** (タグ) では、データソースと関連付けるキーと値のペアを入力します。タグの詳細については、[Athena リソースにタグ付けする](tags.md)を参照してください。

1. [**次へ**] を選択します。

1. **[Review and create]** (確認と作成) ページで入力した情報を確認してから、**[Create data source]** (データソースの作成) を選択します。**[Data source details]** (データソースの詳細) ページに、登録したデータカタログのデータベースとタグがリストされます。

1. **[データソースとカタログ]** を選択します。登録したデータカタログは、**[Data source name]** (データソース名) 列にリストされています。

1. データカタログに関する情報を表示または編集するには、カタログを選択してから、**[Actions]** (アクション)、**[Edit]** (編集) の順に選択します。

1. 新しいデータカタログを削除するには、カタログを選択してから、**[Actions]** (アクション)、**[Delete]** (削除する) の順に選択します。

## API オペレーションを使用して登録する
<a name="data-sources-glue-cross-account-api"></a>

1. 以下の `CreateDataCatalog` リクエストボディは、クロスアカウントアクセス用に AWS Glue カタログを登録します。

   ```
   # Example CreateDataCatalog request to register a cross-account Glue catalog:
   {
       "Description": "Cross-account Glue catalog",
       "Name": "ownerCatalog",
       "Parameters": {"catalog-id" : "<catalogid>"  # Owner's account ID
       },
       "Type": "GLUE"
   }
   ```

1. 以下のサンプルコードは、Java クライアントを使用して `DataCatalog` オブジェクトを作成します。

   ```
   # Sample code to create the DataCatalog through Java client
   CreateDataCatalogRequest request = new CreateDataCatalogRequest()
       .withName("ownerCatalog")
       .withType(DataCatalogType.GLUE)
       .withParameters(ImmutableMap.of("catalog-id", "<catalogid>"));
   
   athenaClient.createDataCatalog(request);
   ```

   これらのステップの後、借用者が [ListDataCatalogs](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListDataCatalogs.html) API オペレーションを呼び出すと、*`ownerCatalog`* が表示されます。

## AWS CLI を使用して登録する
<a name="data-sources-glue-cross-account-cli"></a>

次の CLI コマンド例を使用して、別のアカウントから AWS Glue Data Catalog を登録します。

```
aws athena create-data-catalog \
  --name cross_account_catalog \
  --type GLUE \
  --description "Cross Account Catalog" \
  --parameters catalog-id=<catalogid>
```

詳細については、*AWS Big Data Blog* の「[Query cross-account AWS Glue Data Catalogs using Amazon Athena](https://aws.amazon.com/blogs/big-data/query-cross-account-aws-glue-data-catalogs-using-amazon-athena/)」を参照してください。