Menyiapkan enkripsi di AWS Glue - AWS Glue

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

Menyiapkan enkripsi di AWS Glue

Alur kerja contoh berikut menyoroti opsi untuk mengkonfigurasi ketika Anda menggunakan enkripsi dengan AWS Glue. Contoh ini menunjukkan penggunaan kunci AWS Key Management Service (AWS KMS) spesifik, namun Anda dapat memilih pengaturan lain berdasarkan kebutuhan khusus Anda. Alur kerja ini hanya menyoroti opsi yang berkaitan dengan enkripsi saat menyiapkan AWS Glue.

  1. Jika pengguna konsol AWS Glue tidak menggunakan kebijakan izin yang mengizinkan semua operasi API AWS Glue (misalnya, "glue:*"), maka konfirmasikan bahwa tindakan berikut diizinkan:

    • "glue:GetDataCatalogEncryptionSettings"

    • "glue:PutDataCatalogEncryptionSettings"

    • "glue:CreateSecurityConfiguration"

    • "glue:GetSecurityConfiguration"

    • "glue:GetSecurityConfigurations"

    • "glue:DeleteSecurityConfiguration"

  2. Setiap klien yang mengakses atau menulis ke katalog terenkripsi—yaitu, pengguna konsol, crawler, tugas, atau titik akhir pengembangan—memerlukan izin berikut.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:GenerateDataKey", "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-data-catalog>" } }
  3. Setiap pengguna atau peran yang mengakses kata sandi koneksi terenkripsi memerlukan izin berikut.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt" ], "Resource": "<key-arns-used-for-password-encryption>" } }
  4. Peran dari setiap tugas extract, transform, and load (ETL) yang menulis data terenkripsi ke Amazon S3 membutuhkan izin berikut.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt", "kms:GenerateDataKey" ], "Resource": "<key-arns-used-for-s3>" } }
  5. Setiap pekerjaan ETL atau crawler yang menulis Log CloudWatch Amazon terenkripsi memerlukan izin berikut dalam kebijakan kunci dan IAM.

    Dalam kebijakan utama (bukan kebijakan IAM):

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "kms:Encrypt*", "kms:Decrypt*", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:Describe*" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }

    Untuk informasi selengkapnya tentang kebijakan kunci, lihat Menggunakan Kebijakan Kunci di AWS KMS dalam Panduan Developer AWS Key Management Service.

    Dalam kebijakan IAM lampirkan logs:AssociateKmsKey izin:

    { "Effect": "Allow", "Principal": { "Service": "logs.region.amazonaws.com" }, "Action": [ "logs:AssociateKmsKey" ], "Resource": "<arn of key used for ETL/crawler cloudwatch encryption>" }
  6. Setiap tugas ETL yang menggunakan bookmark tugas terenkripsi memerlukan izin berikut.

    { "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:Encrypt" ], "Resource": "<key-arns-used-for-job-bookmark-encryption>" } }
  7. Pada konsol AWS Glue, pilih Pengaturan dalam panel navigasi.

    1. Pada halaman Pengaturan katalog data, enkripsi Katalog Data Anda dengan memilih Enkripsi metadata. Opsi ini mengenkripsi semua objek dalam Katalog Data dengan kunci AWS KMS yang Anda pilih.

    2. Untuk kunci AWS KMS, pilih aws/glue. Anda juga dapat memilih AWS KMS kunci yang Anda buat.

    penting

    AWS Glue hanya mendukung kunci master utama pelanggan simetris (CMC). Kunci AWS KMS hanya menampilkan kunci simetris saja. Namun, jika Anda memilih Pilih ARN kunci AWS KMS, konsol memungkinkan Anda memasukkan ARN untuk setiap jenis kunci. Pastikan bahwa Anda hanya memasukkan ARN untuk kunci simetris.

    Ketika enkripsi diaktifkan, klien yang mengakses Katalog Data harus memiliki izin AWS KMS.

  8. Di panel navigasi, pilih Konfigurasi keamanan. Konfigurasi keamanan adalah seperangkat properti keamanan yang dapat digunakan untuk mengkonfigurasi proses AWS Glue. Lalu pilih Tambahkan konfigurasi keamanan. Dalam konfigurasi, pilih salah satu opsi berikut ini:

    1. Pilih Enkripsi S3. Untuk Mode enkripsi, pilih SSE-KMS. Untuk kunci AWS KMS, pilih aws/s3 (memastikan bahwa pengguna memiliki izin untuk menggunakan kunci ini). Hal ini memungkinkan data yang ditulis oleh tugas ke Amazon S3 untuk menggunakan kunci AWS KMS AWS Glue terkelola AWS.

    2. Pilih enkripsi CloudWatch log, dan pilih CMK. (Pastikan bahwa pengguna memiliki izin untuk menggunakan kunci ini). Untuk informasi selengkapnya, lihat Mengenkripsi Data Log di CloudWatch Log Menggunakan AWS KMS dalam Panduan AWS Key Management Service Pengembang.

      penting

      AWS Glue hanya mendukung kunci master utama pelanggan simetris (CMC). Kunci AWS KMS hanya menampilkan kunci simetris saja. Namun, jika Anda memilih Pilih ARN kunci AWS KMS, konsol memungkinkan Anda memasukkan ARN untuk setiap jenis kunci. Pastikan bahwa Anda hanya memasukkan ARN untuk kunci simetris.

    3. Pilih Properti lanjutan, dan pilih Enkripsi bookmark tugas. Untuk kunci AWS KMS, pilih aws/glue (memastikan bahwa pengguna memiliki izin untuk menggunakan kunci ini). Hal ini memungkinkan enkripsi bookmark tugas ditulis ke Amazon S3 dengan kunci AWS KMS AWS Glue.

  9. Di panel navigasi, pilih Koneksi.

    1. Pilih Tambahkan koneksi untuk membuat koneksi ke penyimpanan data Java Database Connectivity (JDBC) yang merupakan target dari tugas ETL Anda.

    2. Untuk menerapkan itu, enkripsi Secure Sockets Layer (SSL) digunakan, pilih Wajibkan koneksi SSL, dan uji koneksi Anda.

  10. Di panel navigasi, pilih Tugas.

    1. Pilih Tambahkan tugas untuk membuat tugas yang mengubah data.

    2. Dalam definisi tugas, pilih konfigurasi keamanan yang Anda buat.

  11. Pada konsol AWS Glue, jalankan tugas Anda sesuai permintaan. Verifikasi bahwa data Amazon S3 apa pun yang ditulis oleh pekerjaan, CloudWatch Log yang ditulis oleh pekerjaan, dan bookmark pekerjaan semuanya dienkripsi.