

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

# AddPermission
<a name="API_AddPermission"></a>

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 \$1LATEST.

Untuk memberikan izin ke akun lain, tentukan ID akun sebagai `Principal`. Untuk memberikan izin kepada organisasi yang ditentukan dalamAWS Organizations, tentukan ID organisasi sebagai`PrincipalOrgID`. 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](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html).

## Minta Sintaks
<a name="API_AddPermission_RequestSyntax"></a>

```
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
<a name="API_AddPermission_RequestParameters"></a>

Permintaan menggunakan parameter URI berikut.

 ** [FunctionName](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-FunctionName"></a>
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](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-Qualifier"></a>
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
<a name="API_AddPermission_RequestBody"></a>

Permintaan menerima data berikut dalam format JSON.

 ** [Action](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-Action"></a>
Tindakan yang dapat digunakan prinsipal pada fungsi. Misalnya, `lambda:InvokeFunction` atau `lambda:GetFunction`.  
Tipe: String  
Pola: `(lambda:[*]|lambda:[a-zA-Z]+|[*])`   
Diperlukan: Ya

 ** [EventSourceToken](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-EventSourceToken"></a>
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](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-FunctionUrlAuthType"></a>
Jenis otentikasi yang digunakan URL fungsi Anda. Setel ke `AWS_IAM` jika Anda ingin membatasi akses ke pengguna yang diautentikasi saja. Setel ke `NONE` jika Anda ingin melewati autentikasi IAM untuk membuat titik akhir publik. Untuk informasi selengkapnya, lihat [Model keamanan dan autentikasi untuk URL fungsi Lambda](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html).  
Jenis: String  
Nilai yang Valid: `NONE | AWS_IAM`   
Diperlukan: Tidak

 ** [Principal](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-Principal"></a>
Layanan AWSAtau Akun AWS yang memanggil fungsi. Jika Anda menentukan layanan, gunakan `SourceArn` atau `SourceAccount` untuk membatasi orang yang dapat memanggil fungsi melalui layanan tersebut.  
Tipe: String  
Pola: `[^\s]+`   
Diperlukan: Ya

 ** [PrincipalOrgID](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-PrincipalOrgID"></a>
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](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-RevisionId"></a>
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](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-SourceAccount"></a>
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](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-SourceArn"></a>
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](#API_AddPermission_RequestSyntax) **   <a name="lambda-AddPermission-request-StatementId"></a>
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
<a name="API_AddPermission_ResponseSyntax"></a>

```
HTTP/1.1 201
Content-type: application/json

{
   "Statement": "string"
}
```

## Elemen Respons
<a name="API_AddPermission_ResponseElements"></a>

Jika tindakan berhasil, layanan mengirimkan kembali respon HTTP 201.

Layanan mengembalikan data berikut dalam format JSON.

 ** [Statement](#API_AddPermission_ResponseSyntax) **   <a name="lambda-AddPermission-response-Statement"></a>
Pernyataan izin yang ditambahkan ke kebijakan fungsi.  
Jenis: String

## Kesalahan
<a name="API_AddPermission_Errors"></a>

Untuk informasi tentang kesalahan yang umum untuk semua tindakan, lihat [Kesalahan Umum](CommonErrors.md).

 ** 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](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html).  
Kode Status HTTP: 400

 ** PreconditionFailedException **   
Yang RevisionId disediakan tidak cocok dengan yang terbaru RevisionId untuk fungsi atau alias Lambda. Panggil `GetFunction` atau operasi `GetAlias` 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](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html#api-requests).  
Kode Status HTTP: 429

## Lihat Juga
<a name="API_AddPermission_SeeAlso"></a>

Untuk informasi selengkapnya tentang penggunaan API ini di salah satu AWS SDK khusus bahasa, lihat berikut ini:
+  [AWS Command Line Interface](https://docs.aws.amazon.com/goto/aws-cli/lambda-2015-03-31/AddPermission) 
+  [AWS SDK for .NET](https://docs.aws.amazon.com/goto/DotNetSDKV3/lambda-2015-03-31/AddPermission) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/lambda-2015-03-31/AddPermission) 
+  [AWS SDK for Go](https://docs.aws.amazon.com/goto/SdkForGoV1/lambda-2015-03-31/AddPermission). 
+  [AWSSDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/lambda-2015-03-31/AddPermission) 
+  [AWSSDK untuk V3 JavaScript ](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/lambda-2015-03-31/AddPermission) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/lambda-2015-03-31/AddPermission) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/lambda-2015-03-31/AddPermission) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/lambda-2015-03-31/AddPermission) 