

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

# LambdaTokenAuthorizer
<a name="sam-property-api-lambdatokenauthorizer"></a>

Mengonfigurasi Otorisasi Lambda untuk mengendalikan akses ke API Anda dengan fungsi Lambda.

Untuk informasi selengkapnya dan contoh tambahan, lihat [Kontrol akses API dengan AWS SAM template Anda](serverless-controlling-access-to-apis.md).

## Sintaksis
<a name="sam-property-api-lambdatokenauthorizer-syntax"></a>

Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut.

### YAML
<a name="sam-property-api-lambdatokenauthorizer-syntax.yaml"></a>

```
DisableFunctionDefaultPermissions: Boolean
[FunctionArn](#sam-api-lambdatokenauthorizer-functionarn): String
[FunctionInvokeRole](#sam-api-lambdatokenauthorizer-functioninvokerole): String
[FunctionPayloadType](#sam-api-lambdatokenauthorizer-functionpayloadtype): String
[Identity](#sam-api-lambdatokenauthorizer-identity): LambdaTokenAuthorizationIdentity
```

## Sifat-sifat
<a name="sam-property-api-lambdatokenauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdatokenauthorizer-disablefunctiondefaultpermissions"></a>
Tentukan `true` untuk AWS SAM mencegah membuat sumber daya secara otomatis untuk memberikan izin antara `AWS::Lambda::Permissions` sumber `AWS::Serverless::Api` daya Anda dan fungsi Lambda otorisasi.  
*Nilai default*: `false`  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `FunctionArn`   <a name="sam-api-lambdatokenauthorizer-functionarn"></a>
Tentukan fungsi ARN dari fungsi Lambda yang menyediakan otorisasi untuk API.  
AWS SAM akan secara otomatis membuat `AWS::Lambda::Permissions` sumber daya ketika `FunctionArn` ditentukan untuk`AWS::Serverless::Api`. Sumber `AWS::Lambda::Permissions` daya menyediakan izin antara API Anda dan fungsi Lambda otorisasi.
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `FunctionInvokeRole`   <a name="sam-api-lambdatokenauthorizer-functioninvokerole"></a>
Menambahkan kredensi otorisasi ke OpenApi definisi otorisasi Lambda.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `FunctionPayloadType`   <a name="sam-api-lambdatokenauthorizer-functionpayloadtype"></a>
Properti ini dapat digunakan untuk menentukan tipe Otorisasi Lambda untuk API.  
*Nilai yang valid*: `TOKEN` atau `REQUEST`  
*Tipe*: String  
*Wajib*: Tidak  
*Default*: `TOKEN`  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `Identity`   <a name="sam-api-lambdatokenauthorizer-identity"></a>
Properti ini dapat digunakan untuk menentukan `IdentitySource` dalam permintaan masuk untuk otorisasi. Properti ini hanya diperlukan jika properti `FunctionPayloadType` diatur ke `REQUEST`.  
*Jenis*: [LambdaTokenAuthorizationIdentity](sam-property-api-lambdatokenauthorizationidentity.md)  
*Wajib*: Bersyarat  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

## Contoh
<a name="sam-property-api-lambdatokenauthorizer--examples"></a>

### LambdaTokenAuth
<a name="sam-property-api-lambdatokenauthorizer--examples--lambdatokenauth"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizer--examples--lambdatokenauth--yaml"></a>

```
Authorizers:
  MyLambdaTokenAuth:
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    Identity:
      Header: MyCustomAuthHeader # OPTIONAL; Default: 'Authorization'
      ValidationExpression: mycustomauthexpression # OPTIONAL
      ReauthorizeEvery: 20 # OPTIONAL; Service Default: 300
```

### BasicLambdaTokenAuth
<a name="sam-property-api-lambdatokenauthorizer--examples--basiclambdatokenauth"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizer--examples--basiclambdatokenauth--yaml"></a>

```
Authorizers:
  MyLambdaTokenAuth:
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
```

# LambdaTokenAuthorizationIdentity
<a name="sam-property-api-lambdatokenauthorizationidentity"></a>

Properti ini dapat digunakan untuk menentukan permintaan masuk untuk otorisasi. IdentitySource Untuk informasi selengkapnya, IdentitySource lihat [ OpenApi ekstensi ApiGateway Authorizer](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html).

## Sintaksis
<a name="sam-property-api-lambdatokenauthorizationidentity-syntax"></a>

 Untuk mendeklarasikan entitas ini dalam template AWS Serverless Application Model (AWS SAM) Anda, gunakan sintaks berikut. 

### YAML
<a name="sam-property-api-lambdatokenauthorizationidentity-syntax.yaml"></a>

```
  [Header](#sam-api-lambdatokenauthorizationidentity-header): String
  [ReauthorizeEvery](#sam-api-lambdatokenauthorizationidentity-reauthorizeevery): Integer
  [ValidationExpression](#sam-api-lambdatokenauthorizationidentity-validationexpression): String
```

## Sifat-sifat
<a name="sam-property-api-lambdatokenauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-lambdatokenauthorizationidentity-header"></a>
Tentukan nama header untuk Otorisasi dalam OpenApi definisi.  
*Tipe*: String  
*Wajib*: Tidak  
*Default*: Otorisasi  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `ReauthorizeEvery`   <a name="sam-api-lambdatokenauthorizationidentity-reauthorizeevery"></a>
Periode time-to-live (TTL), dalam hitungan detik, yang menentukan berapa lama API Gateway menyimpan hasil otorisasi. Jika Anda menentukan nilai yang lebih besar dari 0, API Gateway akan menyimpan tanggapan pemberi kuasa. Secara default, API Gateway mengatur properti ini ke 300. Nilai maksimumnya adalah 3600, atau 1 jam.  
*Tipe*: Integer  
*Wajib*: Tidak  
*Default*: 300  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `ValidationExpression`   <a name="sam-api-lambdatokenauthorizationidentity-validationexpression"></a>
Tentukan ekspresi validasi untuk memvalidasi Identitas yang masuk.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

## Contoh
<a name="sam-property-api-lambdatokenauthorizationidentity--examples"></a>

### LambdaTokenIdentity
<a name="sam-property-api-lambdatokenauthorizationidentity--examples--lambdatokenidentity"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizationidentity--examples--lambdatokenidentity--yaml"></a>

```
Identity:
  Header: MyCustomAuthHeader
  ValidationExpression: Bearer.*
  ReauthorizeEvery: 30
```