

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

# Menyiapkan izin untuk datashares Amazon Redshift
<a name="setup-ds-perms"></a>

 Topik ini menjelaskan langkah-langkah yang perlu Anda ikuti untuk menerima undangan datashare, membuat database federasi, dan memberikan izin. Anda dapat menggunakan konsol Lake Formation atau AWS Command Line Interface (AWS CLI). Contoh dalam topik ini menunjukkan cluster produsen, Katalog Data, dan konsumen data di akun yang sama.

Untuk mempelajari lebih lanjut tentang kemampuan lintas akun Lake Formation, lihat[Berbagi data lintas akun di Lake Formation](cross-account-permissions.md).

**Untuk mengatur izin untuk datashare**

1. Tinjau undangan datashare dan terima.

------
#### [ Console ]

   1.  Masuk ke konsol Lake Formation sebagai administrator danau data di [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/). Arahkan ke halaman **berbagi data**. 

   1. Tinjau datashares yang diizinkan untuk Anda akses. Kolom **Status** menunjukkan status partisipasi Anda saat ini untuk datashare. Status **Tertunda** menunjukkan bahwa Anda telah ditambahkan ke datashare, tetapi Anda belum menerimanya atau menolak undangan tersebut. 

   1.  **Untuk menanggapi undangan datashare, pilih nama datashare dan pilih Tinjau undangan.** Di **Menerima atau menolak datashare**, tinjau detail undangan. Pilih **Terima** untuk menerima undangan atau **Tolak untuk menolak** undangan. Anda tidak mendapatkan akses ke datashare jika Anda menolak undangan.

------
#### [ AWS CLI ]

   Contoh berikut menunjukkan cara melihat, menerima, dan mendaftarkan undangan. Ganti Akun AWS ID dengan ID yang valid Akun AWS . Ganti `data-share-arn` dengan Amazon Resource Name (ARN) aktual yang mereferensikan datashare.

   1. Lihat undangan yang tertunda.

      ```
      aws redshift describe-data-shares \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
      ```

   1. Terima datashare.

      ```
       aws redshift associate-data-share-consumer \
       --data-share-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds' \
       --consumer-arn 'arn:aws:glue:us-east-1:111122223333:catalog
      ```

   1. Daftarkan datashare di akun Lake Formation. Gunakan operasi [RegisterResource](https://docs.aws.amazon.com/lake-formation/latest/APIReference/API_RegisterResource.html)API untuk mendaftarkan datashare di Lake Formation. `DataShareArn`adalah parameter input untuk`ResourceArn`.
**catatan**  
Ini adalah langkah wajib.

      ```
      aws lakeformation register-resource \
       --resource-arn 'arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds'
      ```

------

1. Buat database.

    Setelah menerima undangan datashare, Anda perlu membuat database yang mengarah ke database Amazon Redshift yang terkait dengan datashare. Anda harus menjadi administrator data lake untuk membuat database. 

------
#### [ Console ]

   1.  **Pilih datashare dari panel **Undangan** dan pilih Set rincian database.** 

   1.  Di **Set rincian database**, masukkan nama unik dan identifier untuk datashare. Anda menggunakan pengenal ini untuk memetakan datashare secara internal dalam hierarki metadata (DbName.schema.table). 

   1.  Pilih **Berikutnya** untuk memberikan izin kepada pengguna lain pada database dan tabel bersama. 

------
#### [ AWS CLI ]

    Gunakan kode contoh berikut untuk membuat database yang menunjuk ke database Amazon Redshift yang dibagikan dengan Lake Formation menggunakan file. AWS CLI

   ```
   aws glue create-database --cli-input-json \
   
   '{
    "CatalogId": "111122223333",
    "DatabaseInput": {
     "Name": "tahoedb",
     "FederatedDatabase": {
          "Identifier": "arn:aws:redshift:us-east-1:111122223333:datashare:abcd1234-1234-ab12-cd34-1a2b3c4d5e6f/federatedds",
          "ConnectionName": "aws:redshift"
      }
    }
    }'
   ```

------

1. Berikan izin.

    Setelah membuat database, Anda dapat memberikan izin kepada pengguna di akun Anda atau eksternal Akun AWS dan organisasi. Anda tidak akan dapat memberikan izin menulis data (menyisipkan, menghapus) dan izin metadata (ubah, jatuhkan, buat) pada database federasi yang dipetakan ke datashare Amazon Redshift. Untuk informasi selengkapnya tentang pemberian izin, lihat. [Mengelola izin Lake Formation](managing-permissions.md)
**catatan**  
Sebagai administrator data lake, Anda hanya dapat melihat tabel di database federasi. Untuk melakukan tindakan lain, Anda perlu memberi diri Anda lebih banyak izin pada tabel tersebut.

------
#### [ Console ]

   1. Pada layar **Hibah izin**, pilih pengguna untuk memberikan izin.

   1. Pilih**Izin**. 

------
#### [ AWS CLI ]

   Gunakan contoh berikut untuk memberikan izin database dan tabel menggunakan: AWS CLI

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
      "Principal": {
              "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
      },
      "Resource": {
             "Database": {
                   "CatalogId": "111122223333",
                    "Name": "tahoedb"
              }
       },
       "Permissions": [
                "DESCRIBE"
        ],
       "PermissionsWithGrantOption": [
                            
        ]
    }
   ```

   ```
   aws lakeformation grant-permissions --input-cli-json file://input.json
   
   {
                      "Principal": {
                             "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/non-admin"
                      },
                     "Resource": {
                            "Table": {
                                 "CatalogId": "111122223333",
                                 "DatabaseName": "tahoedb",
                                 "Name": "public.customer"
                          }
                     },
                    "Permissions": [
                           "SELECT"
                     ],
                    "PermissionsWithGrantOption": [
                            "SELECT"
                      ]
    }
   ```

------