

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

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

API Gateway API のクロスオリジンリソース共有 (CORS) を管理します。許可するドメインを文字列として指定するか、追加の CORS 設定でディクショナリを指定します。

**注記**  
CORS では AWS SAM 、OpenAPI 定義を変更する必要があります。CORS を有効にするには、`DefinitionBody` の中でインライン OpenAPI 定義を作成します。`CorsConfiguration` が OpenAPI 定義とプロパティレベルで設定されている場合、 はそれらを AWS SAM マージします。プロパティレベルは OpenAPI 定義よりも優先されます。

CORS の詳細については、*Amazon API Gateway デベロッパーガイド*の「[REST API リソースの CORS を有効にする](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html)」を参照してください。

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

 AWS Serverless Application Model (AWS SAM) テンプレートでこのエンティティを宣言するには、次の構文を使用します。

### 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
```

## プロパティ
<a name="sam-property-api-corsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-api-corsconfiguration-allowcredentials"></a>
リクエストに認証情報を含めることができるかどうかを示すブール値です。  
型: ブール  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `AllowHeaders`   <a name="sam-api-corsconfiguration-allowheaders"></a>
許可するヘッダーの文字列です。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `AllowMethods`   <a name="sam-api-corsconfiguration-allowmethods"></a>
許可する HTTP メソッドが含まれる文字列です。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `AllowOrigin`   <a name="sam-api-corsconfiguration-alloworigin"></a>
許可するオリジンの文字列です。これは、文字列形式のカンマ区切りリストになります。  
*タイプ*: 文字列  
*必須*: はい  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

 `MaxAge`   <a name="sam-api-corsconfiguration-maxage"></a>
CORS プリフライトリクエストをキャッシュする秒数が含まれる文字列です。  
*タイプ*: 文字列  
*必須:* いいえ  
*CloudFormation 互換性*: このプロパティは に固有 AWS SAM であり、 CloudFormation 同等のものはありません。

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

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

CORS 設定の例です。これは、CORS が設定された[AWS::Serverless::Api](sam-resource-api.md)定義と を示す AWS SAM テンプレートファイルの一部にすぎません[AWS::Serverless::Function](sam-resource-function.md)。Lambda プロキシ統合または HTTP プロキシ統合を使用する場合、バックエンドが `Access-Control-Allow-Origin`、`Access-Control-Allow-Methods`、および `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!')
          }
```