Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyesuaikan bagian Sumber Daya dan Ketentuan kebijakan
Anda dapat membatasi cakupan izin pengguna dengan menentukan sumber daya dan kondisi dalam kebijakan AWS Identity and Access Management (IAM). Setiap tindakan dalam kebijakan mendukung kombinasi sumber daya dan jenis kondisi yang bervariasi tergantung pada perilaku tindakan.
Setiap pernyataan kebijakan IAM memberikan izin untuk tindakan yang dilakukan pada sumber daya. Ketika tindakan tersebut tidak dilakukan berdasarkan sumber daya yang disebutkan, atau ketika Anda memberikan izin untuk melakukan tindakan pada semua sumber daya, nilai sumber daya dalam kebijakan tersebut adalah wildcard (*
). Untuk banyak tindakan, Anda dapat membatasi sumber daya yang dapat dimodifikasi pengguna dengan menentukan Nama Sumber Daya Amazon (ARN) sumber daya, atau pola ARN yang cocok dengan beberapa sumber daya.
Berdasarkan jenis sumber daya, desain umum tentang cara membatasi ruang lingkup suatu tindakan adalah sebagai berikut:
Fungsi — Tindakan yang beroperasi pada suatu fungsi dapat dibatasi pada fungsi tertentu berdasarkan fungsi, versi, atau alias ARN.
-
Pemetaan sumber peristiwa — Tindakan dapat dibatasi untuk sumber daya pemetaan sumber peristiwa tertentu oleh ARN. Pemetaan sumber peristiwa selalu dikaitkan dengan suatu fungsi. Anda juga dapat menggunakan
lambda:FunctionArn
kondisi untuk membatasi tindakan dengan fungsi terkait. Layer—Tindakan yang terkait dengan penggunaan lapisan dan izin bertindak pada versi lapisan.
Konfigurasi penandatanganan kode — Tindakan dapat dibatasi untuk sumber daya konfigurasi penandatanganan kode tertentu oleh ARN.
Tag—Gunakan kondisi tag standar. Untuk informasi selengkapnya, lihat Menggunakan kontrol akses berbasis atribut di Lambda.
Untuk membatasi izin berdasarkan sumber daya, tentukan sumber daya berdasarkan ARN.
Format ARN sumber daya Lambda
-
Fungsi –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
-
Versi fungsi –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
:1
-
Alias fungsi –
arn:aws:lambda:
us-west-2
:123456789012
:function:my-function
:TEST
-
Pemetaan sumber kejadian –
arn:aws:lambda:
us-west-2
:123456789012
:event-source-mapping:fa123456-14a1-4fd2-9fec-83de64ad683de6d47
-
Lapisan –
arn:aws:lambda:
us-west-2
:123456789012
:layer:my-layer
-
Versi lapisan –
arn:aws:lambda:
us-west-2
:123456789012
:layer:my-layer
:1
-
Konfigurasi penandatanganan kode -
arn:aws:lambda:
us-west-2
:123456789012
:code-signing-config:my-csc
Misalnya, kebijakan berikut memungkinkan pengguna Akun AWS 123456789012
untuk memanggil fungsi bernama my-function
di Wilayah Barat AS (Oregon) AWS .
contoh aktifkan kebijakan fungsi
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Invoke", "Effect": "Allow", "Action": [ "lambda:InvokeFunction" ],
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:my-function"
} ] }
Ini adalah kasus khusus di mana pengidentifikasi tindakan (lambda:InvokeFunction
) berbeda dari operasi API (Aktifkan). Untuk tindakan lainnya, pengidentifikasi tindakan adalah nama operasi yang diawali dengan lambda:
.
Bagian-bagian
Memahami bagian Kondisi dalam kebijakan
Kondisi adalah elemen kebijakan opsional yang menerapkan logika tambahan untuk menentukan apakah suatu tindakan diperbolehkan. Selain kondisi umum yang didukung semua tindakan, Lambda mendefinisikan jenis kondisi yang dapat Anda gunakan untuk membatasi nilai parameter tambahan pada beberapa tindakan.
Misalnya, lambda:Principal kondisi ini memungkinkan Anda membatasi layanan atau akun tempat pengguna dapat memberikan akses pemanggilan pada kebijakan berbasis sumber daya fungsi. Kebijakan berikut memungkinkan pengguna memberikan izin ke topik Amazon Simple Notification Service (Amazon SNS) untuk memanggil fungsi bernama. test
contoh mengelola izin kebijakan fungsi
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ManageFunctionPolicy", "Effect": "Allow", "Action": [ "lambda:AddPermission", "lambda:RemovePermission" ], "Resource": "arn:aws:lambda:us-west-2:123456789012:function:test:*",
"Condition": { "StringEquals": { "lambda:Principal": "sns.amazonaws.com" } }
} ] }
Kondisi mensyaratkan bahwa prinsipal adalah Amazon SNS dan bukan layanan atau akun lain. Pola sumber daya mengharuskan nama fungsi test
dan mencakup nomor versi atau alias. Misalnya, test:v1
.
Untuk informasi selengkapnya tentang sumber daya dan ketentuan untuk Lambda dan AWS layanan lainnya, lihat Kunci tindakan, sumber daya, dan kondisi untuk AWS layanan di Referensi Otorisasi Layanan.
Mereferensikan fungsi di bagian Sumber Daya kebijakan
Anda mereferensikan fungsi Lambda dalam pernyataan kebijakan menggunakan Amazon Resource Name (ARN). Format fungsi ARN tergantung pada apakah Anda mereferensikan seluruh fungsi (tidak memenuhi syarat) atau versi fungsi atau alias (memenuhi syarat).
Saat melakukan panggilan API Lambda, pengguna dapat menentukan versi atau alias dengan meneruskan versi ARN atau alias ARN dalam parameter, atau dengan menetapkan GetFunctionFunctionName
nilai dalam parameter. GetFunctionQualifier
Lambda membuat keputusan otorisasi dengan membandingkan elemen sumber daya dalam kebijakan IAM dengan panggilan API FunctionName
dan yang Qualifier
diteruskan. Jika ada ketidakcocokan, Lambda menolak permintaan tersebut.
Apakah Anda mengizinkan atau menolak tindakan pada fungsi Anda, Anda harus menggunakan jenis ARN fungsi yang benar dalam pernyataan kebijakan Anda untuk mencapai hasil yang Anda harapkan. Misalnya, jika kebijakan Anda merujuk ARN yang tidak memenuhi syarat, Lambda menerima permintaan yang merujuk ARN yang tidak memenuhi syarat tetapi menolak permintaan yang merujuk pada ARN yang memenuhi syarat.
catatan
Anda tidak dapat menggunakan karakter wildcard (*) untuk mencocokkan ID akun. Untuk informasi selengkapnya tentang sintaks yang diterima, lihat referensi kebijakan IAM JSON di Panduan Pengguna IAM.
contoh memungkinkan pemanggilan ARN yang tidak memenuhi syarat
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction"
} ] }
Jika kebijakan Anda mereferensikan ARN yang memenuhi syarat tertentu, Lambda menerima permintaan yang mereferensikan ARN tetapi menolak permintaan yang merujuk ARN yang tidak memenuhi syarat atau ARN yang memenuhi syarat lainnya, misalnya,. myFunction:2
contoh memungkinkan pemanggilan ARN yang memenuhi syarat tertentu
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:1"
} ] }
Jika kebijakan Anda mereferensikan penggunaan ARN yang memenuhi syarat, :*
Lambda menerima ARN yang memenuhi syarat tetapi menolak permintaan yang merujuk ARN yang tidak memenuhi syarat.
contoh memungkinkan pemanggilan ARN yang memenuhi syarat
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction:*"
} ] }
Jika kebijakan Anda mereferensikan penggunaan ARN apa pun, *
Lambda menerima ARN yang memenuhi syarat atau tidak memenuhi syarat.
contoh memungkinkan pemanggilan ARN yang memenuhi syarat atau tidak memenuhi syarat
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "lambda:InvokeFunction",
"Resource": "arn:aws:lambda:us-west-2:123456789012:function:myFunction*"
} ] }
Tindakan IAM dan perilaku fungsi yang didukung
Tindakan menentukan apa yang dapat diizinkan melalui kebijakan IAM. Untuk daftar tindakan yang didukung di Lambda, lihat Kunci tindakan, sumber daya, dan kondisi AWS Lambda di Referensi Otorisasi Layanan. Dalam kebanyakan kasus, ketika tindakan IAM mengizinkan tindakan API Lambda, nama tindakan IAM sama dengan nama tindakan API Lambda, dengan pengecualian berikut:
Tindakan API | Tindakan IAM |
---|---|
Memohon | lambda:InvokeFunction |
lambda:GetLayerVersion |
Selain sumber daya dan kondisi yang ditentukan dalam Referensi Otorisasi Layanan, Lambda mendukung sumber daya dan ketentuan berikut untuk tindakan tertentu. Banyak dari ini terkait dengan fungsi referensi di bagian sumber daya kebijakan. Tindakan yang beroperasi pada fungsi dapat dibatasi pada fungsi tertentu berdasarkan fungsi, versi, atau alias ARN, seperti yang dijelaskan dalam tabel berikut.
Tindakan | Sumber Daya | Ketentuan |
---|---|---|
Memohon - Izin: |
Versi fungsi Alias fungsi |
N/A |
N/A |
|
|
Alias fungsi |
N/A |