

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

# Tutorial: Membatasi akses pengguna Amazon MWAA ke subset DAGs
<a name="limit-access-to-dags"></a>

[Amazon MWAA mengelola akses ke lingkungan Anda dengan memetakan prinsipal IAM Anda ke satu atau beberapa peran default Apache Airflow.](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html#default-roles) Gunakan tutorial berikut untuk membatasi pengguna Amazon MWAA individu untuk hanya mengakses dan berinteraksi dengan DAG tertentu atau satu set. DAGs

**catatan**  
Langkah-langkah dalam tutorial ini dapat diselesaikan menggunakan akses federasi, selama peran IAM dapat diasumsikan.

**Topics**
+ [Prasyarat](#limit-access-to-dags-prerequisites)
+ [Langkah pertama: Berikan akses server web Amazon MWAA ke kepala IAM Anda dengan peran default Apache Airflow. `Public`](#limit-access-to-dags-apply-public-access)
+ [Langkah kedua: Buat peran kustom Apache Airflow baru](#limit-access-to-dags-create-new-airflow-role)
+ [Langkah ketiga: Tetapkan peran yang Anda buat untuk pengguna Amazon MWAA Anda](#limit-access-to-dags-assign-role)
+ [Langkah selanjutnya](#limit-access-to-dags-next-up)
+ [Sumber daya terkait](#limit-access-to-dags-related-resources)

## Prasyarat
<a name="limit-access-to-dags-prerequisites"></a>

Untuk menyelesaikan langkah-langkah dalam tutorial ini, Anda memerlukan yang berikut:
+ [Lingkungan Amazon MWAA dengan banyak DAGs](get-started.md)
+ Prinsipal IAM, `Admin` dengan [AdministratorAccess](https://console.aws.amazon.com/iam/home#/policies/arn:aws:iam::aws:policy/AdministratorAccess$jsonEditor)izin, dan pengguna IAM`MWAAUser`, sebagai prinsipal yang dapat Anda batasi akses DAG. Untuk informasi selengkapnya tentang peran admin, lihat [fungsi pekerjaan Administrator](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator) di *Panduan Pengguna IAM*
**catatan**  
Jangan melampirkan kebijakan izin langsung ke pengguna IAM Anda. Sebaiknya siapkan peran IAM yang dapat diasumsikan pengguna untuk mendapatkan akses sementara ke sumber daya Amazon MWAA Anda.
+ [AWS Command Line Interface versi 2](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install) diinstal.

## Langkah pertama: Berikan akses server web Amazon MWAA ke kepala IAM Anda dengan peran default Apache Airflow. `Public`
<a name="limit-access-to-dags-apply-public-access"></a>

**Untuk memberikan izin menggunakan Konsol Manajemen AWS**

1. Masuk ke `Admin` peran Anda Akun AWS dan buka [konsol IAM](https://console.aws.amazon.com/iam/).

1. Di panel navigasi kiri, pilih **Pengguna, lalu pilih pengguna** Amazon MWAA IAM Anda dari tabel pengguna.

1. Pada halaman detail pengguna, di bawah **Ringkasan**, pilih tab **Izin**, lalu pilih **Kebijakan izin** untuk memperluas kartu dan pilih **Tambahkan** izin.

1. Di bagian **Hibah izin**, pilih **Lampirkan kebijakan yang ada secara langsung**, lalu pilih **Buat kebijakan** untuk membuat dan melampirkan kebijakan izin kustom Anda sendiri.

1. Pada halaman **Buat kebijakan**, pilih **JSON**, lalu salin dan tempel kebijakan izin JSON berikut di editor kebijakan. Kebijakan ini memberikan akses server web ke pengguna dengan peran Apache `Public` Airflow default.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "airflow:CreateWebLoginToken",
               "Resource": [
               "arn:aws:airflow:us-east-1:111122223333:role/YOUR_ENVIRONMENT_NAME/Public"
               ]
           }
       ]
   }
   ```

------

## Langkah kedua: Buat peran kustom Apache Airflow baru
<a name="limit-access-to-dags-create-new-airflow-role"></a>

**Untuk membuat peran baru menggunakan Apache Airflow UI**

1. Menggunakan peran IAM administrator Anda, buka [konsol Amazon MWAA](https://console.aws.amazon.com/mwaa/home) dan luncurkan UI Apache Airflow lingkungan Anda.

1. Dari panel navigasi di bagian atas, arahkan kursor pada **Keamanan** untuk membuka daftar tarik-turun, lalu pilih **Daftar Peran untuk mengakses peran** Apache Airflow default.

1. Dari daftar peran, pilih **Pengguna**, lalu di awal halaman pilih **Tindakan** untuk membuka dropdown. Pilih **Salin Peran**, dan konfirmasikan **Ok**
**catatan**  
Salin peran **Ops** atau **Viewer** untuk memberikan akses yang lebih atau lebih sedikit.

1. Temukan peran baru yang Anda buat di tabel dan pilih **Edit catatan**.

1. Pada halaman **Edit Peran**, lakukan hal berikut:
   + Untuk **Nama**, masukkan nama baru untuk peran di bidang teks. Misalnya, **Restricted**.
   + Untuk daftar **Izin**, hapus `can read on DAGs` dan`can edit on DAGs`, lalu tambahkan izin baca dan tulis untuk kumpulan yang ingin DAGs Anda berikan akses. Misalnya, untuk DAG,`example_dag.py`, tambahkan **`can read on DAG:example_dag`** dan**`can edit on DAG:example_dag`**.

   Pilih **Simpan**. Sekarang Anda memiliki peran baru yang membatasi akses ke subset yang DAGs tersedia di lingkungan Amazon MWAA Anda. Anda dapat menetapkan peran ini ke pengguna Apache Airflow yang ada.

## Langkah ketiga: Tetapkan peran yang Anda buat untuk pengguna Amazon MWAA Anda
<a name="limit-access-to-dags-assign-role"></a>

**Untuk menetapkan peran baru**

1. Menggunakan kredensi akses untuk`MWAAUser`, jalankan perintah CLI berikut untuk mengambil URL server web lingkungan Anda.

   ```
   aws mwaa get-environment --name YOUR_ENVIRONMENT_NAME | jq '.Environment.WebserverUrl'
   ```

   Jika berhasil, Anda akan merujuk ke output berikut:

   ```
   "ab1b2345-678a-90a1-a2aa-34a567a8a901.c13.us-west-2.airflow.amazonaws.com"
   ```

1. Dengan `MWAAUser` masuk ke Konsol Manajemen AWS, buka jendela browser baru dan akses yang berikut ini URl. Ganti `Webserver-URL` dengan informasi Anda.

   ```
   https://<Webserver-URL>/home
   ```

   Jika berhasil, Anda akan mendapatkan halaman `Forbidden` kesalahan karena `MWAAUser` belum diberikan izin untuk mengakses Apache Airflow UI.

1. Dengan `Admin` masuk ke Konsol Manajemen AWS, buka konsol Amazon MWAA lagi dan luncurkan UI Apache Airflow lingkungan Anda.

1. Dari dasbor UI, perluas dropdown **Keamanan**, dan kali ini pilih **Daftar** Pengguna.

1. **Di tabel pengguna, temukan pengguna Apache Airflow baru dan pilih Edit record.** Nama depan pengguna akan cocok dengan nama pengguna IAM Anda dalam pola berikut:`user/mwaa-user`.

1. Pada halaman **Edit Pengguna**, di bagian **Peran, tambahkan peran** kustom baru yang Anda buat, lalu pilih **Simpan**.
**catatan**  
Bidang **Nama** Belakang diperlukan, tetapi spasi memenuhi persyaratan.

   `Public`Kepala IAM memberikan `MWAAUser` izin untuk mengakses Apache Airflow UI, sementara peran baru memberikan izin tambahan yang diperlukan untuk mendapatkannya. DAGs

**penting**  
Salah satu dari 5 peran default (seperti`Admin`) yang tidak diizinkan oleh IAM yang ditambahkan menggunakan UI Apache Airflow akan dihapus pada login pengguna berikutnya.

## Langkah selanjutnya
<a name="limit-access-to-dags-next-up"></a>
+ Untuk mempelajari selengkapnya tentang mengelola akses ke lingkungan Amazon MWAA Anda, dan untuk mendapatkan contoh kebijakan JSON IAM yang dapat Anda gunakan untuk pengguna lingkungan Anda, lihat [Mengakses lingkungan Amazon MWAA](access-policies.md)

## Sumber daya terkait
<a name="limit-access-to-dags-related-resources"></a>
+ [Kontrol Akses](https://airflow.apache.org/docs/apache-airflow/stable/security/access-control.html) (Dokumentasi Apache Airflow) - Pelajari lebih lanjut tentang peran default Apache Airflow di situs web dokumentasi Apache Airflow.