Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengkonfigurasi koneksi Apache Airflow menggunakan rahasia AWS Secrets Manager
AWS Secrets Manager adalah backend Apache Airflow alternatif yang didukung pada Alur Kerja Terkelola Amazon untuk lingkungan Apache Airflow. Panduan ini menunjukkan cara menggunakan untuk menyimpan rahasia dengan aman AWS Secrets Manager untuk variabel Apache Airflow dan koneksi Apache Airflow di Amazon Managed Workflows untuk Apache Airflow.
catatan
-
Anda akan dikenakan biaya untuk rahasia yang Anda buat. Untuk informasi selengkapnya tentang harga Secrets Manager, lihat AWS Harga
. -
AWS Systems Manager Parameter Store juga didukung sebagai backend rahasia di Amazon. MWAA Untuk informasi selengkapnya, lihat dokumentasi Amazon Provider Package
.
Daftar Isi
- Langkah satu: Berikan Amazon MWAA izin untuk mengakses kunci rahasia Secrets Manager
- Langkah kedua: Buat backend Secrets Manager sebagai opsi konfigurasi Apache Airflow
- Langkah ketiga: Hasilkan string koneksi Apache Airflow AWS URI
- Langkah empat: Tambahkan variabel di Secrets Manager
- Langkah lima: Tambahkan koneksi di Secrets Manager
- Kode sampel
- Sumber daya
- Apa selanjutnya?
Langkah satu: Berikan Amazon MWAA izin untuk mengakses kunci rahasia Secrets Manager
Peran eksekusi untuk MWAA lingkungan Amazon Anda memerlukan akses baca ke kunci rahasia AWS Secrets Manager. IAMKebijakan berikut memungkinkan akses baca-tulis menggunakan kebijakan AWS terkelola SecretsManagerReadWrite
Untuk melampirkan kebijakan ke peran eksekusi Anda
-
Buka halaman Lingkungan
di MWAA konsol Amazon. -
Pilih lingkungan.
-
Pilih peran eksekusi Anda di panel Izin.
-
Pilih Lampirkan kebijakan.
-
Ketik
SecretsManagerReadWrite
di bidang teks Filter kebijakan. -
Pilih Lampirkan kebijakan.
Jika Anda tidak ingin menggunakan kebijakan izin AWS terkelola, Anda dapat langsung memperbarui peran eksekusi lingkungan Anda untuk mengizinkan tingkat akses apa pun ke sumber daya Secrets Manager Anda. Misalnya, pernyataan kebijakan berikut memberikan akses baca ke semua rahasia yang Anda buat di AWS Wilayah tertentu di Secrets Manager.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "secretsmanager:GetResourcePolicy", "secretsmanager:GetSecretValue", "secretsmanager:DescribeSecret", "secretsmanager:ListSecretVersionIds" ], "Resource": "arn:aws:secretsmanager:us-west-2:012345678910:secret:*" }, { "Effect": "Allow", "Action": "secretsmanager:ListSecrets", "Resource": "*" } ] }
Langkah kedua: Buat backend Secrets Manager sebagai opsi konfigurasi Apache Airflow
Bagian berikut menjelaskan cara membuat opsi konfigurasi Apache Airflow di MWAA konsol Amazon untuk backend. AWS Secrets Manager Jika Anda menggunakan pengaturan konfigurasi dengan nama yang samaairflow.cfg
, konfigurasi yang Anda buat dalam langkah-langkah berikut akan diutamakan dan mengganti pengaturan konfigurasi.
-
Buka halaman Lingkungan
di MWAA konsol Amazon. -
Pilih lingkungan.
-
Pilih Edit.
-
Pilih Berikutnya.
-
Pilih Tambahkan konfigurasi khusus di panel Opsi konfigurasi Aliran Udara. Tambahkan pasangan kunci-nilai berikut:
-
:secrets.backend
airflow.providers.amazon.aws.secrets.secrets_manager.SecretsManagerBackend
-
:secrets.backend_kwargs
Ini mengkonfigurasi Apache Airflow untuk mencari string koneksi dan variabel di dan jalur.{"connections_prefix" : "airflow/connections", "variables_prefix" : "airflow/variables"}
airflow/connections/*
airflow/variables/*
Anda dapat menggunakan pola pencarian
untuk mengurangi jumlah API panggilan yang dilakukan Amazon MWAA ke Secrets Manager atas nama Anda. Jika Anda tidak menentukan pola pencarian, Apache Airflow mencari semua koneksi dan variabel di backend yang dikonfigurasi. Dengan menentukan pola, Anda mempersempit kemungkinan jalur yang terlihat Apache Airflow. Ini menurunkan biaya Anda saat menggunakan Secrets Manager dengan AmazonMWAA. Untuk menentukan pola pencarian, tentukan
variables_lookup_pattern
parameterconnections_lookup_pattern
dan. Parameter ini menerima RegEx string sebagai input. Misalnya, untuk mencari rahasia yang dimulaitest
, masukkan yang berikut ini untuksecrets.backend_kwargs
:{ "connections_prefix": "airflow/connections", "connections_lookup_pattern": "^test", "variables_prefix" : "airflow/variables", "variables_lookup_pattern": "^test" }
catatan
Untuk menggunakan
connections_lookup_pattern
danvariables_lookup_pattern
, Anda harus menginstalapache-airflow-providers-amazon
versi 7.3.0 atau lebih tinggi. Untuk informasi lebih lanjut tentang memperbarui paket provder ke versi yang lebih baru, lihat. Menentukan paket penyedia yang lebih baru
-
-
Pilih Simpan.
Langkah ketiga: Hasilkan string koneksi Apache Airflow AWS URI
Untuk membuat string koneksi, gunakan tombol “tab” pada keyboard Anda untuk membuat indentasi pasangan kunci-nilai di objek Connection.extra
objek dalam sesi shell Anda. Bagian berikut memandu Anda melalui langkah-langkah untuk menghasilkan URI string koneksi Apache Airflow
Langkah empat: Tambahkan variabel di Secrets Manager
Bagian berikut menjelaskan cara membuat rahasia untuk variabel di Secrets Manager.
Untuk membuat rahasia
-
Pilih Simpan rahasia baru.
-
Pilih jenis rahasia lainnya.
-
Pada Tentukan pasangan kunci/nilai yang akan disimpan di panel rahasia ini, pilih Plaintext.
-
Tambahkan nilai variabel sebagai Plaintext dalam format berikut.
"
YOUR_VARIABLE_VALUE
"Misalnya, untuk menentukan bilangan bulat:
14
Misalnya, untuk menentukan string:
"mystring"
-
Untuk kunci Enkripsi, pilih opsi AWS KMS kunci dari daftar dropdown.
-
Masukkan nama di bidang teks untuk nama Rahasia dalam format berikut.
airflow/variables/
YOUR_VARIABLE_NAME
Sebagai contoh:
airflow/variables/test-variable
-
Pilih Berikutnya.
-
Pada halaman Konfigurasi rahasia, pada nama rahasia dan deskripsi panel, lakukan hal berikut.
-
Untuk nama Rahasia, berikan nama untuk rahasia Anda.
-
(Opsional) Untuk Deskripsi, berikan deskripsi untuk rahasia Anda.
Pilih Berikutnya.
-
-
Pada rotasi Konfigurasi - opsional tinggalkan opsi default dan pilih Berikutnya.
-
Ulangi langkah-langkah ini di Secrets Manager untuk setiap variabel tambahan yang ingin Anda tambahkan.
-
Pada halaman Review, tinjau rahasia Anda, lalu pilih Store.
Langkah lima: Tambahkan koneksi di Secrets Manager
Bagian berikut menjelaskan cara membuat rahasia untuk string koneksi Anda URI di Secrets Manager.
Untuk membuat rahasia
-
Pilih Simpan rahasia baru.
-
Pilih jenis rahasia lainnya.
-
Pada Tentukan pasangan kunci/nilai yang akan disimpan di panel rahasia ini, pilih Plaintext.
-
Tambahkan URI string koneksi sebagai Plaintext dalam format berikut.
YOUR_CONNECTION_URI_STRING
Sebagai contoh:
mysql://288888a0-50a0-888-9a88-1a111aaa0000.a1.us-east-1.airflow.amazonaws.com%2Fhome?role_arn=arn%3Aaws%3Aiam%3A%3A001122332255%3Arole%2Fservice-role%2FAmazonMWAA-MyAirflowEnvironment-iAaaaA®ion_name=us-east-1
Awas
Apache Airflow mem-parsing masing-masing nilai dalam string koneksi. Anda tidak boleh menggunakan tanda kutip tunggal atau ganda, atau itu akan mengurai koneksi sebagai string tunggal.
-
Untuk kunci Enkripsi, pilih opsi AWS KMS kunci dari daftar dropdown.
-
Masukkan nama di bidang teks untuk nama Rahasia dalam format berikut.
airflow/connections/
YOUR_CONNECTION_NAME
Sebagai contoh:
airflow/connections/myconn
-
Pilih Berikutnya.
-
Pada halaman Konfigurasi rahasia, pada nama rahasia dan deskripsi panel, lakukan hal berikut.
-
Untuk nama Rahasia, berikan nama untuk rahasia Anda.
-
(Opsional) Untuk Deskripsi, berikan deskripsi untuk rahasia Anda.
Pilih Berikutnya.
-
-
Pada rotasi Konfigurasi - opsional tinggalkan opsi default dan pilih Berikutnya.
-
Ulangi langkah-langkah ini di Secrets Manager untuk setiap variabel tambahan yang ingin Anda tambahkan.
-
Pada halaman Review, tinjau rahasia Anda, lalu pilih Store.
Kode sampel
-
Pelajari cara menggunakan kunci rahasia untuk koneksi Apache Airflow (
myconn
) di halaman ini menggunakan kode contoh di. Menggunakan kunci rahasia AWS Secrets Manager untuk koneksi Apache Airflow -
Pelajari cara menggunakan kunci rahasia untuk variabel Apache Airflow (
test-variable
) di halaman ini menggunakan kode sampel di. Menggunakan kunci rahasia AWS Secrets Manager untuk variabel Apache Airflow
Sumber daya
-
Untuk informasi selengkapnya tentang mengonfigurasi rahasia Secrets Manager menggunakan konsol dan AWS CLI, lihat Membuat rahasia di Panduan AWS Secrets Manager Pengguna.
-
Gunakan skrip Python untuk memigrasikan volume besar variabel Apache Airflow dan koneksi ke Secrets Manager di Pindahkan koneksi dan variabel Apache Airflow Anda
. AWS Secrets Manager
Apa selanjutnya?
-
Pelajari cara membuat token untuk mengakses Apache Airflow UI di. Mengakses Apache Airflow