

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

# Persyaratan izin untuk enkripsi SSE-KMS Tabel S3
<a name="s3-tables-kms-permissions"></a>

Saat Anda menggunakan enkripsi sisi server dengan kunci AWS Key Management Service (AWS KMS) (SSE-KMS) untuk tabel di bucket tabel S3, Anda harus memberikan izin untuk identitas yang berbeda di akun Anda. Minimal identitas akses Anda dan prinsip pemeliharaan Tabel S3 memerlukan akses ke kunci Anda, izin lain yang diperlukan bergantung pada kasus penggunaan Anda.

**Izin yang Diperlukan**   
Untuk mengakses tabel yang dienkripsi dengan kunci KMS, Anda memerlukan izin ini pada kunci itu:  
+ `kms:GenerateDataKey`
+ `kms:Decrypt`
Untuk menggunakan SSE-KMS pada tabel, prinsipal (`maintenance.s3tables.amazonaws.com`) layanan pemeliharaan Tabel Amazon S3 membutuhkan `kms:GenerateDataKey` dan `kms:Decrypt` izin pada kunci.

**Izin tambahan**  
Izin tambahan ini diperlukan tergantung pada kasus penggunaan Anda:  
+ **Izin untuk layanan AWS analitik dan akses langsung** — Jika Anda bekerja dengan tabel terenkripsi SSE-KMS melalui layanan AWS analitik atau mesin pihak ketiga yang mengakses tabel S3 secara langsung, peran IAM yang Anda gunakan memerlukan izin untuk menggunakan kunci KMS Anda.
+ **Izin dengan Lake Formation diaktifkan** — Jika Anda telah memilih AWS Lake Formation untuk kontrol akses, peran layanan Lake Formation memerlukan izin untuk menggunakan kunci KMS Anda.
+ **Izin untuk tabel Metadata S3** — Jika Anda menggunakan enkripsi SSE-KMS untuk tabel Metadata S3, Anda harus memberikan akses utama layanan S3 Metadata () ke kunci KMS Anda. `metadata.s3.amazonaws.com` Hal ini memungkinkan Metadata S3 untuk memperbarui tabel terenkripsi sehingga mereka akan mencerminkan perubahan data terbaru Anda.

**catatan**  
Untuk kunci KMS lintas akun, peran IAM Anda memerlukan izin akses kunci dan otorisasi eksplisit dalam kebijakan kunci. *Untuk informasi selengkapnya tentang izin lintas akun untuk kunci KMS, lihat [Mengizinkan AWS akun eksternal menggunakan kunci KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html#cross-account-console) di Panduan Pengembang AWS Key Management Service Layanan.*

**Topics**
+ [Memberikan izin utama layanan pemeliharaan Tabel S3 ke kunci KMS Anda](#tables-kms-maintenance-permissions)
+ [Memberikan izin kepada prinsipal IAM untuk bekerja dengan tabel terenkripsi dalam layanan analitik terintegrasi AWS](#tables-kms-integration-permissions)
+ [Memberikan izin kepada prinsipal IAM untuk bekerja dengan tabel terenkripsi saat Lake Formation diaktifkan](#tables-kms-lf-permissions)
+ [Memberikan izin utama layanan Metadata S3 untuk menggunakan kunci KMS Anda](#tables-kms-metadata-permissions)

## Memberikan izin utama layanan pemeliharaan Tabel S3 ke kunci KMS Anda
<a name="tables-kms-maintenance-permissions"></a>

Izin ini diperlukan untuk membuat tabel terenkripsi SSE-KMS dan untuk memungkinkan pemeliharaan tabel otomatis seperti pemadatan, manajemen snapshot, dan penghapusan file yang tidak direferensikan pada tabel terenkripsi.

**catatan**  
Setiap kali Anda membuat permintaan untuk membuat tabel terenkripsi SSE-KMS, Tabel S3 memeriksa untuk memastikan `maintenance.s3tables.amazonaws.com` kepala sekolah memiliki akses ke kunci KMS Anda. Untuk melakukan pemeriksaan ini, objek zero-byte dibuat sementara di bucket tabel Anda, objek ini akan secara otomatis dihapus oleh operasi pemeliharaan penghapusan file yang [tidak direferensikan](s3-table-buckets-maintenance.md#s3-table-bucket-maintenance-unreferenced). Jika kunci KMS yang Anda tentukan untuk enkripsi tidak memiliki akses pemeliharaan, operasi CreateTable akan gagal.

Untuk memberikan akses pemeliharaan pada tabel terenkripsi SSE-KMS, Anda dapat menggunakan contoh kebijakan kunci berikut. Dalam kebijakan ini, kepala `maintenance.s3tables.amazonaws.com` layanan diberikan izin untuk menggunakan kunci KMS tertentu untuk mengenkripsi dan mendekripsi tabel dalam keranjang tabel tertentu. Untuk menggunakan kebijakan ini, ganti *user input placeholders* dengan informasi Anda sendiri:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableKeyUsage",
            "Effect": "Allow",
            "Principal": {
                "Service": "maintenance.s3tables.amazonaws.com"            
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/key-id",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*"
                }
            }
        }
    ]
}
```

------

## Memberikan izin kepada prinsipal IAM untuk bekerja dengan tabel terenkripsi dalam layanan analitik terintegrasi AWS
<a name="tables-kms-integration-permissions"></a>

Untuk bekerja dengan tabel S3 dalam layanan AWS analitik, Anda mengintegrasikan bucket tabel Anda dengan. AWS Glue Data Catalog Integrasi ini memungkinkan layanan AWS analitik untuk secara otomatis menemukan dan mengakses data tabel. Untuk informasi lebih lanjut tentang integrasi, lihat[Mengintegrasikan Tabel AWS Amazon S3 dengan layanan analitik](s3-tables-integrating-aws.md).

Saat Anda bekerja dengan tabel terenkripsi SSE-KMS melalui layanan AWS analitik atau mesin pihak ketiga dan sumber terbuka yang mengakses tabel S3 secara langsung, peran IAM yang Anda gunakan memerlukan izin untuk menggunakan kunci Anda untuk operasi enkripsi. AWS KMS 

Anda dapat memberikan akses kunci KMS melalui kebijakan IAM yang melekat pada peran Anda atau melalui kebijakan kunci KMS.

------
#### [ IAM policy ]

Lampirkan kebijakan inline ini ke peran IAM yang Anda gunakan untuk kueri guna mengizinkan akses kunci KMS. Ganti ARN kunci KMS dengan milik Anda sendiri.

```
{
    "Version":"2012-10-17",		 	 	 ,                    
    "Statement": [
        {
            "Sid": "AllowKMSKeyUsage",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"
        }
    ]
}
```

------
#### [ KMS key policy ]

Atau, lampirkan pernyataan ini ke kebijakan kunci KMS Anda untuk mengizinkan peran IAM yang ditentukan menggunakan kunci. Ganti peran ARN dengan peran IAM yang Anda gunakan untuk kueri.

```
{
    "Sid": "Allow use of the key",
    "Effect": "Allow",
    "Principal": {
        "AWS": [
            "arn:aws:iam::<catalog-account-id>:role/<role-name>"
        ]
    },
    "Action": [
        "kms:Decrypt",
        "kms:GenerateDataKey",
    ],
    "Resource": "*"
}
```

------

## Memberikan izin kepada prinsipal IAM untuk bekerja dengan tabel terenkripsi saat Lake Formation diaktifkan
<a name="tables-kms-lf-permissions"></a>

Jika Anda telah memilih AWS Lake Formation untuk kontrol akses pada integrasi Tabel S3 Anda, peran layanan Lake Formation memerlukan izin untuk menggunakan AWS KMS kunci Anda untuk operasi enkripsi. Lake Formation menggunakan peran ini untuk menjual kredensil atas nama kepala sekolah yang mengakses tabel Anda.

Contoh kebijakan kunci KMS berikut memberikan izin peran layanan Lake Formation untuk menggunakan kunci KMS tertentu di akun Anda untuk operasi enkripsi. Ganti nilai placeholder dengan milik Anda sendiri.

```
{
  "Sid": "AllowTableRoleAccess",
  "Effect": "Allow",
  "Principal": {
    "AWS": "arn:aws:iam::111122223333:role/service-role/S3TablesRoleForLakeFormation"
  },
  "Action": [
      "kms:GenerateDataKey", 
      "kms:Decrypt"
  ],
  "Resource": "<kms-key-arn>"
}
```

## Memberikan izin utama layanan Metadata S3 untuk menggunakan kunci KMS Anda
<a name="tables-kms-metadata-permissions"></a>

Untuk mengizinkan Amazon S3 memperbarui tabel metadata terenkripsi SSE-KMS, dan melakukan pemeliharaan pada tabel metadata tersebut, Anda dapat menggunakan kebijakan kunci contoh berikut. Dalam kebijakan ini, Anda mengizinkan kepala sekolah `metadata.s3.amazonaws.com` dan `maintenance.s3tables.amazonaws.com` layanan mengenkripsi dan mendekripsi tabel dalam keranjang tabel tertentu menggunakan kunci tertentu. Untuk menggunakan kebijakan ini, ganti *user input placeholders* dengan informasi Anda sendiri:

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "EnableKeyUsage",
            "Effect": "Allow",
            "Principal": {
                "Service": [
                    "maintenance.s3tables.amazonaws.com",
                    "metadata.s3.amazonaws.com"
                ]           
            },
            "Action": [
                "kms:GenerateDataKey",
                "kms:Decrypt"
            ],
            "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab",
            "Condition": {
                "StringLike": {
                    "kms:EncryptionContext:aws:s3:arn":"<table-or-table-bucket-arn>/*"
                }
            }
        }
    ]
}
```

------