Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AddPermission
MemberikanLayanan AWS,Akun AWS, atau izin AWS organisasi untuk menggunakan fungsi. Anda dapat menerapkan kebijakan pada tingkat fungsi, atau menentukan pengualifikasi untuk membatasi akses ke satu versi atau alias. Jika Anda menggunakan pengualifikasi, Pemicu harus menggunakan Amazon Resource Name (ARN) penuh dari versi atau alias tersebut untuk memanggil fungsi. Catatan: Lambda tidak mendukung penambahan kebijakan ke versi $LATEST.
Untuk memberikan izin ke akun lain, tentukan ID akun sebagai Principal
. Untuk memberikan izin kepada organisasi yang ditentukan dalamAWS Organizations, tentukan ID organisasi sebagaiPrincipalOrgID
. UntukLayanan AWS, prinsipal adalah pengenal gaya domain yang didefinisikan oleh layanan, seperti atau. s3.amazonaws.com
sns.amazonaws.com
UntukLayanan AWS, Anda juga dapat menentukan ARN dari sumber daya terkait sebagai. SourceArn
Jika Anda memberikan izin kepada prinsipal tanpa menentukan sumber, akun lain berpotensi mengonfigurasi sumber daya di akun mereka untuk meminta fungsi Lambda Anda.
Operasi ini menambahkan pernyataan ke kebijakan izin berbasis sumber daya untuk fungsi tersebut. Untuk informasi selengkapnya tentang kebijakan fungsi, lihat Menggunakan kebijakan berbasis sumber daya untuk Lambda.
Minta Sintaks
POST /2015-03-31/functions/FunctionName
/policy?Qualifier=Qualifier
HTTP/1.1
Content-type: application/json
{
"Action": "string
",
"EventSourceToken": "string
",
"FunctionUrlAuthType": "string
",
"Principal": "string
",
"PrincipalOrgID": "string
",
"RevisionId": "string
",
"SourceAccount": "string
",
"SourceArn": "string
",
"StatementId": "string
"
}
Parameter Permintaan URI
Permintaan menggunakan parameter URI berikut.
- FunctionName
-
Nama fungsi Lambda, versi, atau alias.
Format nama
-
Nama fungsi —
my-function
(hanya nama),my-function:v1
(dengan alias). -
Fungsi ARN —.
arn:aws:lambda:us-west-2:123456789012:function:my-function
-
ARN Sebagian —.
123456789012:function:my-function
Anda dapat menambahkan nomor versi atau alias ke salah satu format. Batas panjang hanya berlaku untuk ARN penuh. Jika Anda hanya menentukan nama fungsi, panjang nama dibatasi hingga 64 karakter.
Panjang Batasan: Panjang minimum 1. Panjang maksimum 140.
Pola:
(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?
Diperlukan: Ya
-
- Qualifier
-
Tentukan versi atau alias untuk menambahkan izin ke versi fungsi yang diterbitkan.
Panjang Batasan: Panjang minimum 1. Panjang maksimum 128.
Pola:
(|[a-zA-Z0-9$_-]+)
Isi Permintaan
Permintaan menerima data berikut dalam format JSON.
- Action
-
Tindakan yang dapat digunakan prinsipal pada fungsi. Misalnya,
lambda:InvokeFunction
ataulambda:GetFunction
.Tipe: String
Pola:
(lambda:[*]|lambda:[a-zA-Z]+|[*])
Diperlukan: Ya
- EventSourceToken
-
Untuk fungsi Alexa Smart Home, token yang harus disediakan oleh invoker.
Jenis: String
Batasan Panjang: Panjang minimum 0. Panjang maksimum 256.
Pola:
[a-zA-Z0-9._\-]+
Diperlukan: Tidak
- FunctionUrlAuthType
-
Jenis otentikasi yang digunakan URL fungsi Anda. Setel ke
AWS_IAM
jika Anda ingin membatasi akses ke pengguna yang diautentikasi saja. Setel keNONE
jika Anda ingin melewati autentikasi IAM untuk membuat titik akhir publik. Untuk informasi selengkapnya, lihat Model keamanan dan autentikasi untuk URL fungsi Lambda.Jenis: String
Nilai yang Valid:
NONE | AWS_IAM
Diperlukan: Tidak
- Principal
-
Layanan AWSAtau Akun AWS yang memanggil fungsi. Jika Anda menentukan layanan, gunakan
SourceArn
atauSourceAccount
untuk membatasi orang yang dapat memanggil fungsi melalui layanan tersebut.Tipe: String
Pola:
[^\s]+
Diperlukan: Ya
- PrincipalOrgID
-
Pengenal untuk organisasi Anda diAWS Organizations. Gunakan ini untuk memberikan izin kepada semua yang ada di Akun AWS bawah organisasi ini.
Jenis: String
Batas Panjang: Panjang minimum 12. Panjang maksimum 34.
Pola:
^o-[a-z0-9]{10,32}$
Diperlukan: Tidak
- RevisionId
-
Perbarui kebijakan hanya jika ID revisi cocok dengan ID yang ditentukan. Gunakan opsi ini untuk menghindari mengubah kebijakan yang sudah berubah sejak terakhir kali Anda membacanya.
Tipe: String
Wajib: Tidak
- SourceAccount
-
UntukLayanan AWS, ID Akun AWS yang memiliki sumber daya. Gunakan ini bersama-sama dengan
SourceArn
untuk memastikan bahwa akun yang ditentukan memiliki sumber daya. Pemilik dapat menghapus bucket Amazon S3 dan dibuat kembali oleh akun lain.Tipe: String
Panjang Batasan: Panjang maksimum 12.
Pola:
\d{12}
Diperlukan: Tidak
- SourceArn
-
UntukLayanan AWS, ARN dari AWS sumber daya yang memanggil fungsi. Misalnya, bucket Amazon S3 atau topik Amazon SNS.
Perhatikan bahwa Lambda mengonfigurasi perbandingan menggunakan operator.
StringLike
Jenis: String
Pola:
arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)
Diperlukan: Tidak
- StatementId
-
Pengidentifikasi pernyataan yang membedakan pernyataan dari lainnya dalam kebijakan yang sama.
Tipe: String
Panjang Batasan: Panjang minimum 1. Panjang maksimum 100.
Pola:
([a-zA-Z0-9-_]+)
Diperlukan: Ya
Sintaksis Respons
HTTP/1.1 201
Content-type: application/json
{
"Statement": "string"
}
Elemen Respons
Jika tindakan berhasil, layanan mengirimkan kembali respon HTTP 201.
Layanan mengembalikan data berikut dalam format JSON.
- Statement
-
Pernyataan izin yang ditambahkan ke kebijakan fungsi.
Jenis: String
Kesalahan
Untuk informasi tentang kesalahan yang umum untuk semua tindakan, lihat Kesalahan Umum.
- InvalidParameterValueException
-
Salah satu parameter dalam permintaan tidak valid.
Kode Status HTTP: 400
- PolicyLengthExceededException
-
Kebijakan izin untuk sumber daya terlalu besar. Untuk informasi lebih lanjut, lihat Kuota Lambda.
Kode Status HTTP: 400
- PreconditionFailedException
-
Yang RevisionId disediakan tidak cocok dengan yang terbaru RevisionId untuk fungsi atau alias Lambda. Panggil
GetFunction
atau operasiGetAlias
API untuk mengambil yang terbaru RevisionId untuk sumber daya Anda.Kode Status HTTP: 412
- ResourceConflictException
-
Sumber daya sudah ada, atau operasi lain sedang berlangsung.
Kode Status HTTP: 409
- ResourceNotFoundException
-
Sumber daya yang ditentukan dalam permintaan tidak ada.
Kode Status HTTP: 404
- ServiceException
-
Layanan AWS Lambda mengalami kesalahan internal.
Kode Status HTTP: 500
- TooManyRequestsException
-
Batas throughput permintaan terlampaui. Untuk informasi lebih lanjut, lihat Kuota Lambda.
Kode Status HTTP: 429
Lihat Juga
Untuk informasi selengkapnya tentang penggunaan API ini di salah satu AWS SDK khusus bahasa, lihat berikut ini: