Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Amankan fungsi Anda dengan tag
Langkah-langkah berikut menunjukkan satu cara untuk mengatur izin untuk fungsi menggunakan ABAC. Dalam skenario contoh ini, Anda akan membuat empat kebijakan izin IAM. Kemudian, Anda akan melampirkan kebijakan ini ke peran IAM baru. Terakhir, Anda akan membuat pengguna IAM dan memberikan izin pengguna tersebut untuk mengambil peran baru.
Prasyarat
Pastikan Anda memiliki peran eksekusi Lambda. Anda akan menggunakan peran ini saat Anda memberikan izin IAM dan saat Anda membuat fungsi Lambda.
Langkah 1: Memerlukan tag pada fungsi baru
Saat menggunakan ABAC dengan Lambda, ini adalah praktik terbaik untuk mengharuskan semua fungsi memiliki tag. Ini membantu memastikan bahwa kebijakan izin ABAC Anda berfungsi seperti yang diharapkan.
Buat kebijakan IAM yang mirip dengan contoh berikut. Kebijakan ini menggunakan kunci TagKeys kondisi aws: RequestTag/tag-key, aws: ResourceTag/tag-key, dan aws: untuk mengharuskan fungsi baru dan prinsipal IAM yang membuat fungsi keduanya memiliki project tag. Peng ForAllValues ubah memastikan bahwa itu project adalah satu-satunya tag yang diizinkan. Jika Anda tidak menyertakan ForAllValues pengubah, pengguna dapat menambahkan tag lain ke fungsi selama mereka juga lulusproject.
contoh— Memerlukan tag pada fungsi baru
Langkah 2: Izinkan tindakan berdasarkan tag yang dilampirkan ke fungsi Lambda dan prinsip IAM
Buat kebijakan IAM kedua menggunakan kunci ResourceTag/tag-key kondisi aws: untuk mewajibkan tag kepala sekolah agar cocok dengan tag yang dilampirkan ke fungsi. Kebijakan contoh berikut memungkinkan prinsipal dengan project tag untuk memanggil fungsi dengan tag. project Jika fungsi memiliki tag lain, tindakan ditolak.
contoh— Memerlukan tag yang cocok pada fungsi dan prinsip IAM
Langkah 3: Berikan izin daftar
Buat kebijakan yang memungkinkan prinsipal untuk mencantumkan fungsi Lambda dan peran IAM. Hal ini memungkinkan prinsipal untuk melihat semua fungsi Lambda dan peran IAM di konsol dan saat memanggil tindakan API.
contoh— Berikan izin daftar Lambda dan IAM
Langkah 4: Berikan izin IAM
Buat kebijakan yang memungkinkan iam: PassRole. Izin ini diperlukan saat Anda menetapkan peran eksekusi ke fungsi. Dalam contoh kebijakan berikut, ganti contoh ARN dengan ARN peran eksekusi Lambda Anda.
catatan
Jangan menggunakan kunci ketentuan ResourceTag dalam sebuah kebijakan dengan tindakan iam:PassRole. Anda tidak dapat menggunakan tag pada peran IAM untuk mengontrol akses ke siapa yang dapat memberikan peran tersebut. Untuk informasi selengkapnya tentang izin yang diperlukan untuk meneruskan peran ke layanan, lihat Memberikan izin pengguna untuk meneruskan peran ke AWS layanan.
contoh— Berikan izin untuk melewati peran eksekusi
Langkah 5: Buat peran IAM
Ini adalah praktik terbaik untuk menggunakan peran untuk mendelegasikan izin. Buat peran IAM yang disebut: abac-project-role
-
Pada Langkah 1: Pilih entitas tepercaya: Pilih AWS akun dan kemudian pilih Akun ini.
-
Pada Langkah 2: Tambahkan izin: Lampirkan empat kebijakan IAM yang Anda buat pada langkah sebelumnya.
-
Pada Langkah 3: Nama, tinjau, dan buat: Pilih Tam bah tag. Untuk Kunci, masukkan
project. Jangan masukkan Nilai.
Langkah 6: Buat pengguna IAM
Buat pengguna IAM yang dipang gilabac-test-user. Di bagian Tetapkan izin, pilih Lamp irkan kebijakan yang ada secara langsung, lalu pilih Buat kebijakan. Masukkan definisi kebijakan berikut. Ganti 111122223333 dengan ID AWS akun Anda. Kebijakan ini memungkinkan abac-test-user untuk berasumsiabac-project-role.
contoh— Izinkan pengguna IAM untuk mengambil peran ABAC
Langkah 7: Uji izin
-
Masuk ke AWS konsol sebagai
abac-test-user. Untuk informasi selengkapnya, lihat Masuk sebagai pengguna IAM. -
Beralih ke peran
abac-project-role. Untuk informasi selengkapnya, lihat Ber alih ke peran (konsol). -
-
Di bawah Iz in, pilih U bah peran eksekusi default, lalu untuk Peran eksekusi, pilih Gunakan peran yang ada. Pilih peran eksekusi yang sama dengan yang Anda gunakanLangkah 4: Berikan izin IAM.
-
Di bawah Pengaturan lanj utan, pilih Aktif kan tag, lalu pilih Tambahkan tag baru. Untuk Kunci, masukkan
project. Jangan masukkan Nilai.
-
-
Buat fungsi Lambda kedua dan tambahkan tag yang berbeda, seperti
environment. Operasi ini seharusnya gagal karena kebijakan ABAC yang Anda buat Langkah 1: Memerlukan tag pada fungsi baru hanya mengizinkan prinsipal untuk membuat fungsi denganprojecttag. -
Buat fungsi ketiga tanpa tag. Operasi ini seharusnya gagal karena kebijakan ABAC yang Anda buat Langkah 1: Memerlukan tag pada fungsi baru tidak mengizinkan prinsipal untuk membuat fungsi tanpa tag.
Dengan strategi otorisasi ini, Anda dapat mengontrol akses tanpa membuat kebijakan baru untuk setiap pengguna baru. Untuk memberikan akses ke pengguna baru, cukup beri mereka izin untuk mengambil peran yang sesuai dengan proyek yang ditugaskan.
Langkah 8: Bersihkan sumber daya Anda
Untuk menghapus peran IAM
-
Buka halaman Peran
dari konsol IAM. -
Pilih peran yang Anda buat di langkah 5.
-
Pilih Hapus.
-
Untuk mengonfirmasi penghapusan, masukkan nama peran di bidang input teks.
-
Pilih Hapus.
Untuk menghapus pengguna IAM
-
Buka halaman https://console.aws.amazon.com/iam/home#/users
Pengguna konsol IAM. -
Pilih pengguna IAM yang Anda buat pada langkah 6.
-
Pilih Hapus.
-
Untuk mengonfirmasi penghapusan, masukkan nama pengguna di bidang input teks.
-
Pilih Hapus pengguna.
Untuk menghapus fungsi Lambda
-
Buka halaman Fungsi
di konsol Lambda. -
Pilih fungsi yang Anda buat.
-
Pilih Tindakan, Hapus.
-
Ketik
confirmdi bidang input teks dan pilih H apus.