

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Aktifkan kueri federasi lintas akun
<a name="xacct-fed-query-enable"></a>

Kueri gabungan memungkinkan Anda untuk menanyakan sumber data selain Amazon S3 menggunakan konektor sumber data yang digunakan. AWS Lambda Fitur kueri federasi lintas akun memungkinkan fungsi Lambda dan sumber data yang akan ditanyakan ditempatkan di akun yang berbeda.

**catatan**  
Gunakan metode ini hanya jika Anda belum mendaftarkan sumber data federasi Anda dengan. AWS Glue Data Catalog Jika Anda telah mendaftarkan sumber data Anda dengan AWS Glue Data Catalog, gunakan fitur AWS Glue Data Catalog lintas akun dan model izin. Untuk informasi selengkapnya, lihat [Memberikan akses lintas akun](https://docs.aws.amazon.com/glue/latest/dg/cross-account-access.html) di *AWS Glue Panduan Pengguna*.

Sebagai administrator data, Anda dapat mengaktifkan kueri federasi lintas akun dengan membagikan konektor data Anda dengan akun analis data atau, sebagai analis data, dengan menggunakan Lambda ARN bersama dari administrator data untuk ditambahkan ke akun Anda. Ketika perubahan konfigurasi dibuat ke konektor di akun asal, konfigurasi yang diperbarui secara otomatis diterapkan ke instance bersama konektor di akun pengguna lain.

## Pertimbangan dan batasan
<a name="xacct-fed-query-enable-considerations-and-limitations"></a>
+ Fitur kueri federasi lintas akun tersedia untuk konektor data metastore non-HIVE yang menggunakan sumber data berbasis Lambda.
+ Fitur ini tidak tersedia untuk tipe sumber AWS Glue Data Catalog data. Untuk informasi tentang akses lintas akun ke AWS Glue Data Catalog s, lihat[Konfigurasikan akses lintas akun ke katalog AWS Glue data](security-iam-cross-account-glue-catalog-access.md).
+ Jika respons dari fungsi Lambda konektor Anda melebihi batas ukuran respons Lambda sebesar 6MB, Athena secara otomatis mengenkripsi, mengelompokkan, dan menumpahkan respons ke bucket Amazon S3 yang Anda konfigurasikan. Entitas yang menjalankan kueri Athena harus memiliki akses ke lokasi tumpahan agar Athena dapat membaca data yang tumpah. Sebaiknya Anda menetapkan kebijakan siklus hidup Amazon S3 untuk menghapus objek dari lokasi tumpahan karena data tidak diperlukan setelah kueri selesai. 
+ Menggunakan kueri federasi di seluruh tidak AWS Region didukung. 

## Izin yang diperlukan
<a name="xacct-fed-query-enable-required-permissions"></a>

Untuk mengatur izin yang diperlukan, tindakan harus dilakukan di Akun A ({{444455556666}}) dan Akun B ({{111122223333}}).

### Tindakan untuk Akun A
<a name="xacct-fed-query-enable-required-permissions-account-a"></a>

Agar administrator data Akun A berbagi fungsi Lambda dengan analis data Akun B, Akun B memerlukan fungsi pemanggilan Lambda dan akses tumpahan bucket. Oleh karena itu, Akun A harus menambahkan kebijakan [berbasis sumber daya ke](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html) fungsi Lambda dan akses [utama](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-policy-language-overview.html) ke bucket tumpahannya di Amazon S3.

1. Kebijakan berikut memberikan izin fungsi pemanggilan Lambda ke Akun B pada fungsi Lambda di Akun A.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "CrossAccountInvocationStatement",
               "Effect": "Allow",
               "Principal": {
                   "AWS": [
                       "arn:aws:iam::{{111122223333}}:user/{{username}}"
                   ]
               },
               "Action": "lambda:InvokeFunction",
               "Resource": "arn:aws:lambda:{{us-east-1}}:{{444455556666}}:function:{{lambda-function-name}}"
           }
       ]
   }
   ```

------

1. Kebijakan berikut memungkinkan akses bucket tumpahan ke prinsipal di Akun B.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
               "AWS": ["arn:aws:iam::{{111122223333}}:user/{{username}}"]
               },
               "Action": [
                   "s3:GetObject",
                   "s3:ListBucket"
                ],
               "Resource": [
                   "arn:aws:s3:::{{spill-bucket}}",
                   "arn:aws:s3:::{{spill-bucket}}/*"
               ]
           }
        ]
    }
   ```

------

1. Jika fungsi Lambda mengenkripsi bucket tumpahan dengan AWS KMS kunci, bukan enkripsi default yang ditawarkan oleh federasi SDK, kebijakan AWS KMS kunci di Akun A harus memberikan akses ke pengguna di Akun B, seperti pada contoh berikut.

   ```
   { 
       "Sid": "Allow use of the key", 
       "Effect": "Allow", 
       "Principal": 
       { 
          "AWS": ["arn:aws:iam::{{account-B-id}}:user/{{username}}"] 
       }, 
       "Action": [ "kms:Decrypt" ], 
       "Resource": "*" // Resource policy that gets placed on the KMS key. 
    }
   ```

### Tindakan untuk Akun B
<a name="xacct-fed-query-enable-required-permissions-account-b"></a>

Agar Akun A dapat berbagi konektornya dengan Akun B, Akun B harus membuat peran `AthenaCrossAccountCreate-{{account-A-id}}` yang disebut Akun A dengan memanggil tindakan [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)API Layanan Token AWS Keamanan.

1. Gunakan konsol IAM atau AWS CLI untuk membuat `AthenaCrossAccountCreate-{{account-A-id}}` peran sebagai peran kebijakan kepercayaan khusus. Kebijakan kepercayaan khusus mendelegasikan akses dan memungkinkan orang lain melakukan tindakan di AWS akun Anda. Untuk langkah-langkahnya, lihat [Membuat peran menggunakan kebijakan kepercayaan khusus](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-custom.html) di *Panduan Pengguna IAM*.

   Hubungan kepercayaan harus memiliki objek utama di mana kuncinya `AWS` dan nilainya adalah ARN Akun A, seperti pada contoh berikut.

   ```
   ...
   "Principal": 
   { 
      "AWS": ["arn:aws:iam::{{account-A-id}}:user/{{username}}"]
   }, 
   ...
   ```

1. Juga di Akun B, buat kebijakan seperti berikut yang memungkinkan `CreateDataCatalog` tindakan. 

   ```
   {
    "Effect": "Allow",
    "Action": "athena:CreateDataCatalog",
    "Resource": "arn:aws:athena:*:{{account-B-id}}:datacatalog/*"
   }
   ```

1. Tambahkan kebijakan yang memungkinkan `CreateDataCatalog` tindakan ke `AthenaCrossAccountCreate-{{account-A-id}}` peran yang Anda buat menggunakan Akun B. 

## Berbagi sumber data di Akun A dengan Akun B
<a name="xacct-fed-query-enable-sharing-a-lambda-data-source-in-account-a-with-account-b"></a>

Setelah izin diberlakukan, Anda dapat menggunakan halaman **Sumber data dan katalog** di konsol Athena untuk berbagi konektor data di akun Anda (Akun A) dengan akun lain (Akun B). Akun A mempertahankan kontrol penuh dan kepemilikan konektor. Ketika Akun A membuat perubahan konfigurasi pada konektor, konfigurasi yang diperbarui berlaku untuk konektor bersama di Akun B.

**catatan**  
Anda hanya dapat berbagi sumber data tipe Lambda dan tidak dapat berbagi sumber data yang menggunakan AWS Glue koneksi. Untuk informasi selengkapnya, lihat [Konektor sumber data yang tersedia](connectors-available.md).

**Untuk berbagi sumber data Lambda di Akun A dengan Akun B**

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Jika panel navigasi konsol tidak terlihat, pilih menu ekspansi di sebelah kiri.  
![Pilih menu ekspansi.](http://docs.aws.amazon.com/id_id/athena/latest/ug/images/nav-pane-expansion.png)

1. Pilih **Sumber data dan katalog**.

1. Pada halaman **Sumber data dan katalog**, pilih tautan konektor yang ingin Anda bagikan.

1. **Pada halaman detail untuk sumber data Lambda, dari menu **Tindakan** di sudut kanan atas, pilih Bagikan.**

1. Di **Bagikan {{Lambda-name}} dengan akun lain?** kotak dialog, masukkan informasi yang diperlukan.
   + Untuk **nama sumber data**, masukkan nama sumber data yang disalin seperti yang Anda inginkan muncul di akun lain.
   + Untuk **ID Akun**, masukkan ID akun yang ingin Anda bagikan sumber data Anda (dalam hal ini, Akun B).

1. Pilih **Bagikan**. Konektor data bersama yang Anda tentukan dibuat di Akun B. perubahan konfigurasi ke konektor di Akun A berlaku untuk konektor di Akun B.

## Menambahkan sumber data bersama dari Akun A ke Akun B
<a name="xacct-fed-query-enable-add-a-shared-lambda-function-arn-to-your-account"></a>

Sebagai analis data, Anda mungkin diberikan ARN konektor untuk ditambahkan ke akun Anda dari administrator data. Anda dapat menggunakan halaman **Sumber data dan katalog** konsol Athena untuk menambahkan Lambda ARN yang disediakan oleh administrator ke akun Anda.

**Untuk menambahkan Lambda ARN dari konektor data bersama ke akun Anda**

1. Buka konsol Athena di [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home).

1. Jika panel navigasi tidak terlihat, pilih menu ekspansi di sebelah kiri.

1. Pilih **Sumber data dan katalog**.

1. Pada halaman **Sumber data dan katalog**, pilih **Buat sumber data**.

1. Pada halaman **Pilih sumber data**, pilih **Konektor kustom atau bersama**.

1. Pilih **Berikutnya**.

1. Pada halaman **Masukkan detail sumber data**, di bagian **Detail koneksi**, untuk **Pilih atau masukkan fungsi Lambda, masukkan Lambda ARN dari Akun A**.

1. Pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, pilih **Buat sumber data**.

## Pemecahan masalah
<a name="xacct-fed-query-enable-troubleshooting"></a>

Jika Anda menerima pesan kesalahan bahwa Akun A tidak memiliki izin untuk mengambil peran di Akun B, pastikan bahwa nama peran yang dibuat di Akun B dieja dengan benar dan memiliki kebijakan yang sesuai.