

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

# CorsConfiguration
<a name="sam-property-api-corsconfiguration"></a>

Kelola berbagi sumber daya lintas asal (CORS) untuk API Gateway Anda. APIs Tentukan domain untuk diizinkan sebagai string atau tentukan kamus dengan konfigurasi Cors tambahan.

**catatan**  
CORS AWS SAM perlu memodifikasi definisi OpenAPI Anda. Buat definisi OpenAPI sebaris di untuk mengaktifkan `DefinitionBody` CORS. Jika `CorsConfiguration` disetel dalam definisi OpenAPI dan juga di tingkat properti, AWS SAM gabungkan mereka. Level properti lebih diutamakan daripada definisi OpenAPI.

Untuk informasi lebih lanjut tentang CORS, lihat [Aktifkan CORS untuk sumber daya API REST API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html) di *Panduan Developer API Gateway*.

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

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

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

```
  [AllowCredentials](#sam-api-corsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-api-corsconfiguration-allowheaders): String
  [AllowMethods](#sam-api-corsconfiguration-allowmethods): String
  [AllowOrigin](#sam-api-corsconfiguration-alloworigin): String
  [MaxAge](#sam-api-corsconfiguration-maxage): String
```

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

 `AllowCredentials`   <a name="sam-api-corsconfiguration-allowcredentials"></a>
Boolean yang menunjukkan apakah permintaan diizinkan untuk berisi kredensial.  
*Tipe*: Boolean  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `AllowHeaders`   <a name="sam-api-corsconfiguration-allowheaders"></a>
String header yang akan diizinkan.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `AllowMethods`   <a name="sam-api-corsconfiguration-allowmethods"></a>
String yang berisi metode HTTP yang akan diizinkan.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `AllowOrigin`   <a name="sam-api-corsconfiguration-alloworigin"></a>
String asal yang akan diizinkan. Ini bisa berupa daftar yang dipisahkan koma dalam format string.  
*Tipe*: String  
*Wajib*: Ya  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

 `MaxAge`   <a name="sam-api-corsconfiguration-maxage"></a>
String yang berisi jumlah detik untuk men-cache permintaan CORS Preflight.  
*Tipe*: String  
*Wajib*: Tidak  
*CloudFormation kompatibilitas*: Properti ini unik AWS SAM dan tidak memiliki CloudFormation padanan.

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

### CorsConfiguration
<a name="sam-property-api-corsconfiguration--examples--corsconfiguration"></a>

Contoh Konfigurasi CORS. Ini hanyalah sebagian dari file AWS SAM template yang menunjukkan [AWS::Serverless::Api](sam-resource-api.md) definisi dengan CORS dikonfigurasi dan file. [AWS::Serverless::Function](sam-resource-function.md) Jika Anda menggunakan integrasi proxy Lambda atau integrasi proxy HTTP, backend Anda harus mengembalikan`Access-Control-Allow-Origin`,, `Access-Control-Allow-Methods` dan header. `Access-Control-Allow-Headers`

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

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors:
        AllowMethods: "'POST, GET'"
        AllowHeaders: "'X-Forwarded-For'"
        AllowOrigin: "'https://example.com'"
        MaxAge: "'600'"
        AllowCredentials: true
  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        import json
        def handler(event, context):
          return {
          'statusCode': 200,
          'headers': {
            'Access-Control-Allow-Headers': 'Content-Type',
            'Access-Control-Allow-Origin': 'https://example.com',
            'Access-Control-Allow-Methods': 'POST, GET'
            },
          'body': json.dumps('Hello from Lambda!')
          }
```