

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# AWS::Serverless::Api
<a name="sam-resource-api"></a>

HTTPS 엔드포인트를 통해 간접 호출할 수 있는 Amazon API Gateway 리소스 및 메서드 컬렉션을 생성합니다.

 AWS 서버리스 애플리케이션 정의 템플릿에 [AWS::Serverless::Api](#sam-resource-api) 리소스를 명시적으로 추가할 필요는 없습니다. 이 유형의 리소스는 [AWS::Serverless::Function](sam-resource-function.md) 리소스를 참조하지 않는 템플릿에 정의된 [AWS::Serverless::Api](#sam-resource-api) 리소스에 정의된 Api 이벤트를 결합하여 묵시적으로 생성됩니다. 

기본 Amazon API Gateway 리소스를 구성할 수 있는 더 많은 기능을 제공하는 OpenAPI를 사용하여 API를 정의하고 문서화하려면 [AWS::Serverless::Api](#sam-resource-api)리소스를 사용해야 합니다.

 CloudFormation 후크 또는 IAM 정책을 사용하여 API Gateway 리소스에 대한 액세스를 제어하는 권한 부여자가 연결되어 있는지 확인하는 것이 좋습니다.

 CloudFormation 후크 사용에 대한 자세한 내용은 *CloudFormation CLI 사용 설명서*의 [후크 등록](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) 및 [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub 리포지토리를 참조하세요.

IAM 정책 사용에 대한 자세한 내용은 [API 게이트웨이 개발자 가이드의](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) *API 경로에 권한 부여 필요를* 참조하세요.

**참고**  
에 배포하면가 AWS SAM 리소스를 CloudFormation 리소스로 AWS CloudFormation AWS SAM 변환합니다. 자세한 내용은 [에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md) 단원을 참조하십시오.

## 구문
<a name="sam-resource-api-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
Type: AWS::Serverless::Api
Properties:
  [AccessLogSetting](#sam-api-accesslogsetting): [AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)
  AlwaysDeploy: Boolean
  [ApiKeySourceType](#sam-api-apikeysourcetype): String
  [Auth](#sam-api-auth): ApiAuth
  [BinaryMediaTypes](#sam-api-binarymediatypes): List
  [CacheClusterEnabled](#sam-api-cacheclusterenabled): Boolean
  [CacheClusterSize](#sam-api-cacheclustersize): String
  [CanarySetting](#sam-api-canarysetting): [CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)
  [Cors](#sam-api-cors): String | CorsConfiguration
  [DefinitionBody](#sam-api-definitionbody): JSON
  [DefinitionUri](#sam-api-definitionuri): String | ApiDefinition
  [Description](#sam-api-description): String
  [DisableExecuteApiEndpoint](#sam-api-disableexecuteapiendpoint): Boolean
  [Domain](#sam-api-domain): DomainConfiguration
  [EndpointConfiguration](#sam-api-endpointconfiguration): EndpointConfiguration
  [FailOnWarnings](#sam-api-failonwarnings): Boolean
  [GatewayResponses](#sam-api-gatewayresponses): Map
  MergeDefinitions: Boolean
  [MethodSettings](#sam-api-methodsettings): MethodSettings
  [MinimumCompressionSize](#sam-api-minimumcompressionsize): Integer
  [Mode](#sam-api-mode): String
  [Models](#sam-api-models): Map
  [Name](#sam-api-name): String
  [OpenApiVersion](#sam-api-openapiversion): String
  PropagateTags: Boolean
  [Policy](#sam-api-policy): JSON
  [StageName](#sam-api-stagename): String
  [Tags](#sam-api-tags): Map
  [TracingEnabled](#sam-api-tracingenabled): Boolean
  [Variables](#sam-api-variables): Map
```

## 속성
<a name="sam-resource-api-properties"></a>

 `AccessLogSetting`   <a name="sam-api-accesslogsetting"></a>
특정 단계를 위한 액세스 로그 세팅 구성에 대한 설정입니다.  
*유형*: [AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)` 속성으로 직접 전달됩니다.

 `AlwaysDeploy`   <a name="sam-api-alwaysdeploy"></a>
API에 대한 변경 사항이 감지되지 않은 경우에도 항상 API를 배포합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ApiKeySourceType`   <a name="sam-api-apikeysourcetype"></a>
사용량 계획에 따라 측정 요청을 위한 API 키의 원본입니다. 유효한 값은 `HEADER` 및 `AUTHORIZER`입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[ApiKeySourceType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype)` 속성으로 직접 전달됩니다.

 `Auth`   <a name="sam-api-auth"></a>
권한 부여를 구성하여 API Gateway API에 대한 액세스를 제어합니다.  
를 사용하여 액세스를 구성하는 방법에 대한 자세한 내용은 단원을 AWS SAM 참조하십시오[AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md). 글로벌 권한 부여자를 재정의하는 방법을 보여주는 예시는 [Amazon API Gateway REST API에 대한 글로벌 권한 부여자 재정의](sam-property-function-apifunctionauth.md#sam-property-function-apifunctionauth--examples--override)에서 확인하세요.  
*유형*: [APIAuth](sam-property-api-apiauth.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `BinaryMediaTypes`   <a name="sam-api-binarymediatypes"></a>
API가 반환할 수 있는 MIME 유형 목록입니다. 이를 사용하여 API에 대한 바이너리 지원을 활성화할 수 있습니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[BinaryMediaTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes)` 속성과 유사합니다. BinaryMediaTypes 목록이 CloudFormation 리소스와 OpenAPI 문서 모두에 추가됩니다.

 `CacheClusterEnabled`   <a name="sam-api-cacheclusterenabled"></a>
해당 단계에 대해 캐싱이 활성화되는지를 나타냅니다. 응답을 캐시하려면 `CachingEnabled`에 따라 `true`을 `MethodSettings`으로 설정해야 합니다.   
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[CacheClusterEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled)` 속성으로 직접 전달됩니다.

 `CacheClusterSize`   <a name="sam-api-cacheclustersize"></a>
해당 단계의 캐시 클러스터 크기입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[CacheClusterSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize)` 속성으로 직접 전달됩니다.

 `CanarySetting`   <a name="sam-api-canarysetting"></a>
canary 설정을 정규 배포 단계로 구성합니다.  
*유형*: [CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)` 속성으로 직접 전달됩니다.

 `Cors`   <a name="sam-api-cors"></a>
모든 API 게이트웨이 API에 대한 CORS(Cross-Origin Resource Sharing)를 관리합니다. 허용할 도메인을 문자열로 지정하거나 추가 Cors 구성을 사용하여 사전을 지정합니다.  
CORS AWS SAM 를 사용하려면 OpenAPI 정의를 수정해야 합니다. `DefinitionBody`에서 인라인 OpenAPI 정의를 생성하여 CORS를 켭니다.
자세한 내용은 [API 게이트웨이 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html)의 *API 게이트웨이 REST API 리소스 활성화*를 참조하세요.  
*형식*: 문자열 \$1 [CorsConfiguration](sam-property-api-corsconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `DefinitionBody`   <a name="sam-api-definitionbody"></a>
API를 설명하는 OpenAPI 사양입니다. `DefinitionUri`이나 `DefinitionBody` 어느 것도 지정되지 않은 경우 SAM은 템플릿 구성을 기반으로 `DefinitionBody`을 생성합니다.   
API를 정의하는 로컬 OpenAPI 파일을 참조하려면 `AWS::Include` 변환을 사용하십시오. 자세한 내용은 [가 로컬 파일을 AWS SAM 업로드하는 방법](deploy-upload-local-files.md)을 참조하십시오.  
*유형*: JSON  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)` 속성과 유사합니다. 특정 속성이 제공되는 경우, 콘텐츠는 CloudFormation으로 전달되기 전에 DefinitionBody에 삽입되거나 수정될 수 있습니다. 속성에는 `Auth`, `BinaryMediaTypes`, `Cors`, `GatewayResponses`, `Models` 및 해당 `EventSource`에 대한 `AWS::Serverless::Function` 유형의 Api가 포함됩니다.

 `DefinitionUri`   <a name="sam-api-definitionuri"></a>
Amazon S3 Uri, 로컬 파일 경로 또는 API를 정의하는 OpenAPI 문서의 위치 객체입니다. 이 속성이 참조하는 Amazon S3 객체는 유효한 OpenAPI 파일이어야 합니다. `DefinitionUri`이나 `DefinitionBody` 어느 것도 지정되지 않은 경우 SAM은 템플릿 구성을 기반으로 `DefinitionBody`을 생성합니다.   
로컬 파일 경로를 제공하는 경우 템플릿은 `sam deploy` 또는 `sam package`명령이 포함된 워크플로를 거쳐야 정의가 제대로 변환됩니다.  
`DefinitionUri`이 참조하는 외부 OpenAPI 파일에서는 내장 함수가 지원되지 않습니다. 대신 `DefinitionBody`변환 포함과 함께 [ 속성](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)을 사용하여 OpenAPI 정의를 템플릿으로 가져오십시오.  
*형식*: 문자열 \$1 [APIdeEfinition](sam-property-api-apidefinition.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location)` 속성과 유사합니다. 중첩된 Amazon S3 속성은 다르게 지정됩니다.

 `Description`   <a name="sam-api-description"></a>
Api 리소스에 대한 설명입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-description)` 속성으로 직접 전달됩니다.

 `DisableExecuteApiEndpoint`   <a name="sam-api-disableexecuteapiendpoint"></a>
클라이언트가 기본 `execute-api` 엔드포인트를 사용하여 API를 간접 호출할 수 있는지를 지정합니다. 기본적으로 클라이언트는 기본 `https://{api_id}.execute-api.{region}.amazonaws.com`(으)로 API를 간접 호출할 수 있습니다. 클라이언트가 사용자 지정 도메인 이름을 사용하여 API를 간접 호출하도록 요구하려면 `True`을(를) 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-disableexecuteapiendpoint)` 속성과 유사합니다. 이것은 `[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)` 확장의 `disableExecuteApiEndpoint` 속성으로 직접 전달되며, 이것은 ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)` 리소스의 `AWS::ApiGateway::RestApi` 속성에 추가됩니다.

 `Domain`   <a name="sam-api-domain"></a>
이 API 게이트웨이 API의 사용자 지정 도메인을 구성합니다.  
*유형*: [DomainConfiguration](sam-property-api-domainconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `EndpointConfiguration`   <a name="sam-api-endpointconfiguration"></a>
REST API의 엔드포인트 유형.  
*유형*: [EndpointConfiguration](sam-property-api-endpointconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[EndpointConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration)` 속성과 유사합니다. 중첩된 구성 속성들의 이름은 각각 다르게 지정됩니다.

 `FailOnWarnings`   <a name="sam-api-failonwarnings"></a>
경고가 발생할 때 API 생성을 롤백할 것인지(`true`) 하지 않을 것인지(`false`) 지정합니다. 기본값은 `false`입니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings)` 속성으로 직접 전달됩니다.

 `GatewayResponses`   <a name="sam-api-gatewayresponses"></a>
API에 대한 게이트웨이 응답을 구성합니다. 게이트웨이 응답은 API 게이트웨이에서 직접 또는 Lambda 권한 부여자를 통해 반환한 응답입니다. 자세한 내용은 [게이트웨이 응답을 위한 Api Gateway OpenAPI 확장](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.html) 설명서를 참조하세요.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MergeDefinitions`   <a name="sam-api-mergedefinitions"></a>
AWS SAM 는 API 이벤트 소스에서 OpenAPI 사양을 생성합니다. 이를 `AWS::Serverless::Api` 리소스에 정의된 인라인 OpenAPI 사양에 AWS SAM 병합`true`하도록를 지정합니다. 병합하지 않도록 `false`을 지정하십시오.  
`MergeDefinitions`은 `DefinitionBody` 속성이 `AWS::Serverless::Api`을 정의할 것을 요구합니다. `MergeDefinitions`는 `DefinitionUri`에 관하여 `AWS::Serverless::Api` 속성과 호환되지 않습니다.  
*기본값:* `false`  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MethodSettings`   <a name="sam-api-methodsettings"></a>
로깅, 지표, Cache TTL, 제한을 포함하여 API 단계의 모든 설정을 구성합니다.  
*유형*: [MethodSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html)의 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[MethodSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings)` 속성으로 직접 전달됩니다.

 `MinimumCompressionSize`   <a name="sam-api-minimumcompressionsize"></a>
클라이언트의 Accept-Encoding 헤더를 기반으로 응답 본문을 압축할 수 있습니다. 응답 본문 크기가 구성된 임계값보다 크거나 같으면 압축이 트리거됩니다. 최대 본문 크기 임계값은 10MB(10,485,760바이트)입니다. - 지원되는 압축 유형은 gzip, deflate 및 identity입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[MinimumCompressionSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize)` 속성으로 직접 전달됩니다.

 `Mode`   <a name="sam-api-mode"></a>
이 속성은 OpenAPI를 사용하여 REST API를 정의하는 경우에만 적용됩니다. `Mode`는 API 게이트웨이에서 리소스 업데이트를 처리하는 방법을 결정합니다. 자세한 내용은 [ 리소스](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode)의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)모드 속성을 참조하세요.  
*유효한 값*: `overwrite` 또는 `merge`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[Mode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode)` 속성으로 직접 전달됩니다.

 `Models`   <a name="sam-api-models"></a>
API 메서드에서 사용할 스키마입니다. 이러한 스키마는 JSON 또는 YAML을 사용하여 설명할 수 있습니다. 예제 모델은 이 페이지 하단의 예제 섹션을 참조하세요.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Name`   <a name="sam-api-name"></a>
API 게이트웨이 RestApi 리소스의 이름  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name)` 속성으로 직접 전달됩니다.

 `OpenApiVersion`   <a name="sam-api-openapiversion"></a>
사용할 OpenApi의 버전입니다. Swagger 사양의 경우 `2.0`를 사용할 수도 있고, `3.0.1`와 같은 OpenApi 3.0 버전 중 하나를 사용할 수도 있습니다. OpenAPI에 대한 자세한 내용은 [OpenAPI 사양](https://swagger.io/specification/)을 참조하세요.  
 AWS SAM 는 `Stage` 기본적으로 라는 스테이지를 생성합니다. 이 속성을 임의의 유효한 값으로 설정하면 스테이지 `Stage`가 생성되지 않습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`PropagateTags`  <a name="sam-api-propagatetags"></a>
`Tags`속성의 태그를 [AWS::Serverless::Api](sam-specification-generated-resources-api.md) 생성된 리소스로 전달할지 여부를 지정합니다. 귀하의 생성된 리소스에 태그를 전파하도록 `True`을 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: `False`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`Policy`  <a name="sam-api-policy"></a>
API에 대한 권한이 포함된 정책 문서입니다. 정책의 ARN을 설정하려면 `!Join` 내장 함수를 구분 기호 `""`, 값 `"execute-api:/"` 및 `"*"`와 함께 사용합니다.  
*유형*: JSON  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 [ 정책](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy) 속성으로 직접 전달됩니다.

 `StageName`   <a name="sam-api-stagename"></a>
API 게이트웨이에서 간접 호출된 URI(Uniform Resource Identifier)의 첫 번째 경로 세그먼트로 사용하는 단계의 이름입니다.  
스테이지 리소스를 참조하려면 `<api-logical-id>.Stage`를 사용하십시오. [AWS::Serverless::Api](#sam-resource-api) 리소스를 지정할 때 생성된 리소스를 참조하는 방법에 대한 자세한 내용은 [CloudFormation AWS::Serverless::Api가 지정될 때 생성되는 리소스](sam-specification-generated-resources-api.md) 섹션을 참조하세요. 생성된 CloudFormation 리소스에 대한 일반적인 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename)` 속성과 유사합니다. SAM에서는 필수이지만 API 게이트웨이에서는 필요하지 않습니다  
*추가 참고 사항*: 묵시적 API의 단계 이름은 “Prod”입니다.

 `Tags`   <a name="sam-api-tags"></a>
이 API 게이트웨이 단계에 추가할 태그를 지정하는 맵(문자열 간)입니다. 태그의 유효한 키와 값에 대한 자세한 내용은 [ 사용자 가이드](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)의 *AWS CloudFormation 리소스 태그를* 참조하세요.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags)` 속성과 유사합니다. SAM의 태그 속성은 키:값의 쌍으로 구성되고, CloudFormation에서는 태그 객체 목록으로 구성됩니다.

 `TracingEnabled`   <a name="sam-api-tracingenabled"></a>
해당 단계에 대해 X-Ray를 사용한 활성 추적을 활성화하는지를 지시합니다. X-Ray에 대한 자세한 내용은 [API 게이트웨이 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html)의 *X-Ray를 사용하여 REST API에 대한 사용자 요청 추적*을 참조하세요.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[TracingEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled)` 속성으로 직접 전달됩니다.

 `Variables`   <a name="sam-api-variables"></a>
단계 변수를 정의하는 맵(문자열 대 문자열)으로서, 여기서 변수 이름이 키가 되고 변수 값이 값이 됩니다. 변수 이름에는 영숫자 문자만 사용할 수 있습니다. 값은 정규식 `[A-Za-z0-9._~:/?#&=,-]+`과 일치해야 합니다.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[Variables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables)` 속성으로 직접 전달됩니다.

## 반환 값
<a name="sam-resource-api-return-values"></a>

### Ref
<a name="sam-resource-api-return-values-ref"></a>

`Ref` 내장 함수에 이 리소스의 논리적 ID가 제공되면 그것은 기저의 API 게이트웨이 API의 ID를 반환합니다.

`Ref` 함수의 사용에 대한 자세한 내용은 *AWS CloudFormation 사용자 가이드*의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) 섹션을 참조하세요.

### Fn::GetAtt
<a name="sam-resource-api-return-values-fn--getatt"></a>

`Fn::GetAtt`은 이 유형의 지정된 속성에 대한 값을 반환합니다. 다음은 사용 가능한 속성과 반환되는 샘플 값.

`Fn::GetAtt`의 사용에 대한 자세한 내용은 *AWS CloudFormation 사용자 가이드*의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) 섹션을 참조하세요.

`RootResourceId`  <a name="RootResourceId-fn::getatt"></a>
`RestApi` 리소스의 루트 리소스 ID입니다(예: `a0bc123d4e`).

## 예제
<a name="sam-resource-api--examples"></a>

### SimpleApi예시
<a name="sam-resource-api--examples--simpleapiexample"></a>

API 엔드포인트가 있는 Lambda 함수가 포함된 Hello World AWS SAM 템플릿 파일입니다. 이는 작동하는 서버리스 애플리케이션을 위한 전체 AWS SAM 템플릿 파일입니다.

#### YAML
<a name="sam-resource-api--examples--simpleapiexample--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a simple API definition
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
  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: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
```

### ApiCors예시
<a name="sam-resource-api--examples--apicorsexample"></a>

Lambda 통합 및 CORS 구성과 함께 외부 Swagger 파일에 정의된 API가 있는 AWS SAM 템플릿 코드 조각입니다. 이는 [AWS::Serverless::Api](#sam-resource-api)정의를 보여주는 AWS SAM 템플릿 파일의 일부일 뿐입니다.

#### YAML
<a name="sam-resource-api--examples--apicorsexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      # Allows www.example.com to call these APIs
      # SAM will automatically add AllowMethods with a list of methods for this API
      Cors: "'www.example.com'"
      DefinitionBody: # Pull in an OpenApi definition from S3
        'Fn::Transform':
          Name: 'AWS::Include'
          # Replace "bucket" with your bucket name
          Parameters:
            Location: s3://bucket/swagger.yaml
```

### ApiCognitoAuth예시
<a name="sam-resource-api--examples--apicognitoauthexample"></a>

Amazon Cognito를 사용하여 API에 대한 요청을 승인하는 API가 포함된 AWS SAM 템플릿 코드 조각입니다. 이는 [AWS::Serverless::Api](#sam-resource-api)정의를 보여주는 AWS SAM 템플릿 파일의 일부일 뿐입니다.

#### YAML
<a name="sam-resource-api--examples--apicognitoauthexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors: "'*'"
      Auth:
        DefaultAuthorizer: MyCognitoAuthorizer
        Authorizers:
          MyCognitoAuthorizer:
            UserPoolArn:
              Fn::GetAtt: [MyCognitoUserPool, Arn]
```

### ApiModels예시
<a name="sam-resource-api--examples--apimodelsexample"></a>

모델 스키마가 포함된 API가 포함된 AWS SAM 템플릿 코드 조각입니다. 템플릿 AWS SAM 파일의 일부일 뿐이며 두 모델 스키마가 있는 [AWS::Serverless::Api](#sam-resource-api)정의를 보여줍니다.

#### YAML
<a name="sam-resource-api--examples--apimodelsexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Models:
        User:
          type: object
          required:
            - username
            - employee_id
          properties:
            username:
              type: string
            employee_id:
              type: integer
            department:
              type: string
        Item:
          type: object
          properties:
            count:
              type: integer
            category:
              type: string
            price:
              type: integer
```

### 캐싱 예제
<a name="sam-resource-api--examples--caching-example"></a>

API 엔드포인트가 있는 Lambda 함수가 포함된 Hello World AWS SAM 템플릿 파일입니다. API에는 하나의 리소스와 메서드에 대한 캐싱이 활성화되어 있습니다. 캐싱에 대한 자세한 내용은 *API 게이트웨이 개발자 가이드*의 [응답성 향상을 위한 API 캐싱 활성화](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) 를 참조하세요.

#### YAML
<a name="sam-resource-api--examples--caching-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a simple API definition with caching turned on
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      CacheClusterEnabled: true
      CacheClusterSize: '0.5'
      MethodSettings:
        - ResourcePath: /
          HttpMethod: GET
          CachingEnabled: true
          CacheTtlInSeconds: 300
      Tags:
        CacheMethods: All 

  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: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
```

### 프라이빗 API를 사용한 사용자 지정 도메인 예시
<a name="sam-resource-api--examples--custom-domain-example"></a>

프라이빗 도메인에 매핑된 API 엔드포인트가 있는 Lambda 함수가 포함된 Hello World AWS SAM 템플릿 파일입니다. 이 템플릿은 VPC 엔드포인트와 프라이빗 도메인 사이에 도메인 액세스 연결을 생성합니다. 자세한 내용은 [API 게이트웨이의 프라이빗 API의 사용자 지정 도메인 이름](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html)을 참조하세요.

#### YAML
<a name="sam-resource-api--examples--custom-domain-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template configured with a custom domain using a private API

Parameters:
    DomainName:
      Type: String
      Default: mydomain.example.com
    CertificateArn:
      Type: String
    HostedZoneId:
      Type: String
    VpcEndpointId:
      Type: String
    VpcEndpointDomainName:
      Type: String
    VpcEndpointHostedZoneId:
      Type: String

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Handler: index.handler
      Runtime: python3.13
      Events:
        Fetch:
          Type: Api
          Properties:
            RestApiId:
              Ref: MyApi
            Method: Get
            Path: /get
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      EndpointConfiguration:
        Type: PRIVATE
        VPCEndpointIds:
        - !Ref VpcEndpointId
      Policy:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Effect: Allow
          Principal: '*'
          Action: execute-api:Invoke
          Resource: execute-api:/*
        - Effect: Deny
          Principal: '*'
          Action: execute-api:Invoke
          Resource: execute-api:/*
          Condition:
            StringNotEquals:
              aws:SourceVpce: !Ref VpcEndpointId
      Domain:
        DomainName: !Ref DomainName
        CertificateArn: !Ref CertificateArn
        EndpointConfiguration: PRIVATE
        BasePath:
        - /
        Route53:
          HostedZoneId: !Ref HostedZoneId
          VpcEndpointDomainName: !Ref VpcEndpointDomainName
          VpcEndpointHostedZoneId: !Ref VpcEndpointHostedZoneId
        AccessAssociation:
          VpcEndpointId: !Ref VpcEndpointId
        Policy:
          Version: '2012-10-17		 	 	 '
          Statement:
          - Effect: Allow
            Principal: '*'
            Action: execute-api:Invoke
            Resource: execute-api:/*
          - Effect: Deny
            Principal: '*'
            Action: execute-api:Invoke
            Resource: execute-api:/*
            Condition:
              StringNotEquals:
                aws:SourceVpce: !Ref VpcEndpointId
```

# ApiAuth
<a name="sam-property-api-apiauth"></a>

권한 부여를 구성하여 API Gateway API에 대한 액세스를 제어합니다.

를 사용하여 액세스를 구성하는 방법에 대한 자세한 내용과 예제는 단원을 AWS SAM 참조하십시오[AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md).

## 구문
<a name="sam-property-api-apiauth-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  AddApiKeyRequiredToCorsPreflight: Boolean
  [AddDefaultAuthorizerToCorsPreflight](#sam-api-apiauth-adddefaultauthorizertocorspreflight): Boolean
  [ApiKeyRequired](#sam-api-apiauth-apikeyrequired): Boolean
  [Authorizers](#sam-api-apiauth-authorizers): CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM
  [DefaultAuthorizer](#sam-api-apiauth-defaultauthorizer): String
  [InvokeRole](#sam-api-apiauth-invokerole): String
  [ResourcePolicy](#sam-api-apiauth-resourcepolicy): ResourcePolicyStatement
  [UsagePlan](#sam-api-apiauth-usageplan): ApiUsagePlan
```

**참고**  
`Authorizers` 속성은 `AWS_IAM`을(를) 포함하지만, `AWS_IAM`에 필요한 추가 구성은 없습니다. 예제는 [AWS IAM](#sam-property-api-apiauth--examples--aws_iam) 섹션을 참조하세요.

## 속성
<a name="sam-property-api-apiauth-properties"></a>

 `AddApiKeyRequiredToCorsPreflight`   <a name="sam-api-apiauth-addapikeyrequiredtocorspreflight"></a>
`ApiKeyRequired` 및 `Cors` 속성이 설정된 경우 `AddApiKeyRequiredToCorsPreflight`를 설정하면 API 키가 `Options` 속성에 추가됩니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: `True`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AddDefaultAuthorizerToCorsPreflight`   <a name="sam-api-apiauth-adddefaultauthorizertocorspreflight"></a>
`DefaultAuthorizer` 및 `Cors` 속성이 설정된 경우 `AddDefaultAuthorizerToCorsPreflight`를 설정하면 기본 권한 부여자가 OpenAPI 섹션의 `Options` 속성에 추가됩니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: True  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ApiKeyRequired`   <a name="sam-api-apiauth-apikeyrequired"></a>
true로 설정하면 모든 API 이벤트에 API 키가 필요합니다. 자세한 내용을 알아보려면 *API Gateway 개발자 안내서*의 [Amazon API Gateway에서 API 사용량 계획 생성 및 사용](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)을 참조하세요.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Authorizers`   <a name="sam-api-apiauth-authorizers"></a>
API Gateway API에 대한 액세스를 제어하는 데 사용되는 권한 부여자.  
자세한 내용은 [AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md) 단원을 참조하십시오.  
*유형*: [CognitoAuthorizer](sam-property-api-cognitoauthorizer.md) \$1 [LambdaTokenAuthorizer](sam-property-api-lambdatokenauthorizer.md) \$1 [LambdaRequestAuthorizer](sam-property-api-lambdarequestauthorizer.md) \$1 AWS\$1IAM  
*필수 항목 여부*: 아니요  
*기본값*: 없음  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고 사항*: SAM은 Api의 OpenApi 정의에 권한 부여자를 추가합니다.

 `DefaultAuthorizer`   <a name="sam-api-apiauth-defaultauthorizer"></a>
기본적으로 API 호출을 승인하는 데 사용되는 API Gateway API의 기본 권한 부여자를 지정합니다.  
이 API와 연결된 함수의 Api EventSource가 IAM 권한을 사용하도록 구성된 경우, 이 속성을 `AWS_IAM`로 설정해야 합니다. 그렇지 않으면 오류가 발생합니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 없음  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `InvokeRole`   <a name="sam-api-apiauth-invokerole"></a>
모든 리소스 및 메서드의 통합 보안 인증 정보를 이 값으로 설정합니다.  
`CALLER_CREDENTIALS`이 호출자 보안 인증 정보를 사용하여 엔드포인트를 간접 호출하는 `arn:aws:iam:::<user>/`에 매핑됩니다.  
*유효한 값*: `CALLER_CREDENTIALS`, `NONE`, `IAMRoleArn`   
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `CALLER_CREDENTIALS`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ResourcePolicy`   <a name="sam-api-apiauth-resourcepolicy"></a>
API의 모든 메서드와 경로에 대한 리소스 정책을 구성합니다.  
*유형*: [리소스 정책 설명](sam-property-api-resourcepolicystatement.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고 사항*: 이 설정은 [ApiFunctionAuth](sam-property-function-apifunctionauth.md)를 사용하여 개별 `AWS::Serverless::Function`에서도 정의할 수도 있습니다. 이는 `EndpointConfiguration: PRIVATE`를 포함하는 API에 필요합니다.

 `UsagePlan`   <a name="sam-api-apiauth-usageplan"></a>
이 API와 연결된 사용량 계획을 구성합니다. 사용량 계획에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API 키를 이용한 사용량 계획의 생성 및 사용](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) 섹션을 참조하세요.  
이 AWS SAM 속성은이 속성이 설정될 때 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html), [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)및의 세 가지 추가 CloudFormation 리소스를 생성합니다[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html). 이 시나리오에 대한 자세한 내용은 [UsagePlan 속성 지정됨](sam-specification-generated-resources-api.md#sam-specification-generated-resources-api-usage-plan) 섹션을 참조하세요. 생성된 CloudFormation 리소스에 대한 일반적인 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: [ApiUsagePlan](sam-property-api-apiusageplan.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-apiauth--examples"></a>

### CognitoAuth
<a name="sam-property-api-apiauth--examples--cognitoauth"></a>

Cognito 인증 예제

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

```
Auth:
  Authorizers:
    MyCognitoAuth:
     UserPoolArn:
       Fn::GetAtt:
         - MyUserPool
         - Arn
     AuthType: "COGNITO_USER_POOLS"
  DefaultAuthorizer: MyCognitoAuth
  InvokeRole: CALLER_CREDENTIALS
  AddDefaultAuthorizerToCorsPreflight: false
  ApiKeyRequired: false
  ResourcePolicy:
    CustomStatements: [{
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "execute-api:/Prod/GET/pets",
      "Condition": {
          "IpAddress": {
              "aws:SourceIp": "1.2.3.4"
          }
        }
    }]
    IpRangeDenylist:
      - "10.20.30.40"
```

### AWS IAM
<a name="sam-property-api-apiauth--examples--aws_iam"></a>

AWS IAM 예제

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

```
Auth:
  Authorizers: AWS_IAM
```

# ApiUsagePlan
<a name="sam-property-api-apiusageplan"></a>

API Gateway API의 사용량 계획을 구성합니다. 사용량 계획에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API 키를 이용한 사용량 계획의 생성 및 사용](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)을 참조하세요.

## 구문
<a name="sam-property-api-apiusageplan-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  [CreateUsagePlan](#sam-api-apiusageplan-createusageplan): String
  [Description](#sam-api-apiusageplan-description): String
  [Quota](#sam-api-apiusageplan-quota): [QuotaSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)
  [Tags](#sam-api-apiusageplan-tags): List
  [Throttle](#sam-api-apiusageplan-throttle): [ThrottleSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)
  [UsagePlanName](#sam-api-apiusageplan-usageplanname): String
```

## 속성
<a name="sam-property-api-apiusageplan-properties"></a>

 `CreateUsagePlan`   <a name="sam-api-apiusageplan-createusageplan"></a>
이 사용량 계획의 구성 방법을 결정합니다. 유효한 값은 `PER_API`, `SHARED`, `NONE`입니다.  
`PER_API`는 이 API와 관련된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html), [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) 및 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html) 리소스를 생성합니다. 이러한 리소스는 `<api-logical-id>UsagePlan`, `<api-logical-id>ApiKey`, `<api-logical-id>UsagePlanKey`의 논리적 ID를 각각 가지고 있습니다.  
`SHARED`는 동일한 AWS SAM 템플릿에 도 있는 모든 API`CreateUsagePlan: SHARED`에서 공유되는 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html), 및 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html) 리소스를 생성합니다. 이러한 리소스는 `ServerlessUsagePlan`, `ServerlessApiKey`, `ServerlessUsagePlanKey`의 논리적 ID를 각각 가지고 있습니다. 이 옵션을 사용하는 경우 정의 충돌과 불확실한 상태를 방지하기 위해 하나의 API 리소스에만 이 사용량 계획의 추가 구성을 추가하는 것이 좋습니다.  
`NONE`는 이 API를 사용한 사용량 계획 생성 또는 연결을 비활성화합니다. 이는 [AWS SAM 템플릿의 글로벌 섹션](sam-specification-template-anatomy-globals.md)에서 `SHARED` 또는 `PER_API`가 지정된 경우에만 필요합니다.  
*유효한 값*: `PER_API`, `SHARED`, `NONE`   
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Description`   <a name="sam-api-apiusageplan-description"></a>
사용량 단계에 대한 설명입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-description)` 속성으로 직접 전달됩니다.

 `Quota`   <a name="sam-api-apiusageplan-quota"></a>
사용자가 지정된 간격 내에서 실행할 수 있는 요청 수를 구성합니다.  
*유형*: [QuotaSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[Quota](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)` 속성으로 직접 전달됩니다.

 `Tags`   <a name="sam-api-apiusageplan-tags"></a>
사용 계획과 연결할 임의 태그(키-값 페어)의 배열입니다.  
이 속성은 [CloudFormation 태그 유형](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)을 사용합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags)` 속성으로 직접 전달됩니다.

 `Throttle`   <a name="sam-api-apiusageplan-throttle"></a>
전체 요청 빈도(초당 평균 요청 수) 및 버스트 용량을 구성합니다.  
*유형*: [ThrottleSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[Throttle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)` 속성으로 직접 전달됩니다.

 `UsagePlanName`   <a name="sam-api-apiusageplan-usageplanname"></a>
사용량 계획의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[UsagePlanName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-api-apiusageplan--examples"></a>

### UsagePlan
<a name="sam-property-api-apiusageplan--examples--usageplan"></a>

다음은 사용량 계획의 예시입니다.

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

```
Auth:
  UsagePlan:
    CreateUsagePlan: PER_API
    Description: Usage plan for this API
    Quota:
      Limit: 500
      Period: MONTH
    Throttle:
      BurstLimit: 100
      RateLimit: 50
    Tags:
      - Key: TagName
        Value: TagValue
```

# CognitoAuthorizer
<a name="sam-property-api-cognitoauthorizer"></a>

Amazon Cognito 사용자 풀 권한 부여자를 정의합니다.

자세한 정보와 지침은 [AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md) 섹션을 참조하세요.

## 구문
<a name="sam-property-api-cognitoauthorizer-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  [AuthorizationScopes](#sam-api-cognitoauthorizer-authorizationscopes): List
  [Identity](#sam-api-cognitoauthorizer-identity): CognitoAuthorizationIdentity
  [UserPoolArn](#sam-api-cognitoauthorizer-userpoolarn): String
```

## 속성
<a name="sam-property-api-cognitoauthorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-api-cognitoauthorizer-authorizationscopes"></a>
이 권한 부여자의 권한 부여 범위 목록.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Identity`   <a name="sam-api-cognitoauthorizer-identity"></a>
이 속성은 권한 부여자에 대한 수신 요청에서 `IdentitySource`를 지정하는 데 사용할 수 있습니다.  
*유형*: [CognitoAuthorizationIdentity](sam-property-api-cognitoauthorizationidentity.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `UserPoolArn`   <a name="sam-api-cognitoauthorizer-userpoolarn"></a>
사용자 풀을 참조하거나 이 cognito 권한 부여자를 추가할 사용자 풀을 지정할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-cognitoauthorizer--examples"></a>

### CognitoAuth
<a name="sam-property-api-cognitoauthorizer--examples--cognitoauth"></a>

Cognito 인증 예제

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

```
Auth:
  Authorizers:
    MyCognitoAuth:
      AuthorizationScopes:
        - scope1
        - scope2
      UserPoolArn:
        Fn::GetAtt:
          - MyCognitoUserPool
          - Arn
      Identity:
        Header: MyAuthorizationHeader
        ValidationExpression: myauthvalidationexpression
```

# CognitoAuthorizationIdentity
<a name="sam-property-api-cognitoauthorizationidentity"></a>

이 속성은 권한 부여자에 대한 수신 요청에서 IdentitySource를 지정하는 데 사용할 수 있습니다. IdentitySource에 대한 자세한 내용은 [APIGateway Authorizer OpenAPI 확장 프로그램](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html)을 참조하세요.

## 구문
<a name="sam-property-api-cognitoauthorizationidentity-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

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

## 속성
<a name="sam-property-api-cognitoauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-cognitoauthorizationidentity-header"></a>
OpenAPI 정의에서 권한 부여를 위한 헤더 이름을 지정합니다.  
*유형*: 문자열  
*필수 여부*: 아니요  
*기본값*: 권한 부여  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ReauthorizeEvery`   <a name="sam-api-cognitoauthorizationidentity-reauthorizeevery"></a>
API Gateway가 권한 부여자 결과를 캐싱하는 기간을 지정하는 TTL(Time to Live) 기간(초)입니다. 0보다 큰 값을 지정한 경우 API Gateway에서 권한 부여자 응답을 캐싱합니다. 기본적으로 API Gateway는 이 속성을 300으로 설정합니다. 최대 값은 3600 또는 1시간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 300  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ValidationExpression`   <a name="sam-api-cognitoauthorizationidentity-validationexpression"></a>
수신되는 자격 증명에 대한 확인 표현식입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-cognitoauthorizationidentity--examples"></a>

### CognitoAuthIdentity
<a name="sam-property-api-cognitoauthorizationidentity--examples--cognitoauthidentity"></a>

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

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

# LambdaRequestAuthorizer
<a name="sam-property-api-lambdarequestauthorizer"></a>

Lambda 함수를 사용하여 API에 대한 액세스를 제어하도록 Lambda 함수를 구성합니다.

자세한 정보와 지침은 [AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md) 섹션을 참조하세요.

## 구문
<a name="sam-property-api-lambdarequestauthorizer-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

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

## 속성
<a name="sam-property-api-lambdarequestauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdarequestauthorizer-disablefunctiondefaultpermissions"></a>
 AWS SAM 가 `AWS::Lambda::Permissions` 리소스와 권한 부여자 Lambda 함수 간에 권한을 프로비저닝하기 위해 `AWS::Serverless::Api` 리소스를 자동으로 생성하지 않도록 `true`를 지정합니다.  
*기본값:* `false`  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionArn`   <a name="sam-api-lambdarequestauthorizer-functionarn"></a>
API에 대한 권한 부여를 제공하는 Lambda 함수의 함수 ARN을 지정합니다.  
AWS SAM 에를 지정하면 `FunctionArn`가 자동으로 `AWS::Lambda::Permissions` 리소스를 생성합니다`AWS::Serverless::Api`. `AWS::Lambda::Permissions` 리소스는 API와 권한 부여자 Lambda 함수 간에 권한을 프로비저닝합니다.
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionInvokeRole`   <a name="sam-api-lambdarequestauthorizer-functioninvokerole"></a>
Lambda 권한 부여자의 OpenAPI 정의에 권한 부여자 보안 인증 정보를 추가합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionPayloadType`   <a name="sam-api-lambdarequestauthorizer-functionpayloadtype"></a>
이 속성은 API의 Lambda 권한 부여자 유형을 정의하는 데 사용할 수 있습니다.  
*유효한 값*: `TOKEN` 또는 `REQUEST`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `TOKEN`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Identity`   <a name="sam-api-lambdarequestauthorizer-identity"></a>
이 속성은 권한 부여자에 대한 수신 요청에서 `IdentitySource`를 지정하는 데 사용할 수 있습니다. 이 속성은 `FunctionPayloadType` 속성이 `REQUEST`로 설정된 경우에만 필요합니다.  
*유형*: [LambdaRequestAuthorizationIdentity](sam-property-api-lambdarequestauthorizationidentity.md)  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-lambdarequestauthorizer--examples"></a>

### LambdaRequestAuth
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth"></a>

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

```
Authorizers:
  MyLambdaRequestAuth:
    FunctionPayloadType: REQUEST
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    FunctionInvokeRole:
      Fn::GetAtt:
        - LambdaAuthInvokeRole
        - Arn
    Identity:
      Headers:
        - Authorization1
```

# LambdaRequestAuthorizationIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity"></a>

이 속성은 권한 부여자에 대한 수신 요청에서 IdentitySource를 지정하는 데 사용할 수 있습니다. IdentitySource에 대한 자세한 내용은 [APIGateway Authorizer OpenAPI 확장 프로그램](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html)을 참조하세요.

## 구문
<a name="sam-property-api-lambdarequestauthorizationidentity-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  [Context](#sam-api-lambdarequestauthorizationidentity-context): List
  [Headers](#sam-api-lambdarequestauthorizationidentity-headers): List
  [QueryStrings](#sam-api-lambdarequestauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-api-lambdarequestauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-api-lambdarequestauthorizationidentity-stagevariables): List
```

## 속성
<a name="sam-property-api-lambdarequestauthorizationidentity-properties"></a>

 `Context`   <a name="sam-api-lambdarequestauthorizationidentity-context"></a>
지정된 컨텍스트 문자열을 `context.contextString` 형식의 매핑 표현식으로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Headers`   <a name="sam-api-lambdarequestauthorizationidentity-headers"></a>
헤더를 `method.request.header.name` 형식의 쉼표로 구분된 매핑 표현식 문자열로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `QueryStrings`   <a name="sam-api-lambdarequestauthorizationidentity-querystrings"></a>
지정된 쿼리 문자열을 `method.request.querystring.queryString` 형식의 쉼표로 구분된 매핑 표현식 문자열로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ReauthorizeEvery`   <a name="sam-api-lambdarequestauthorizationidentity-reauthorizeevery"></a>
API Gateway가 권한 부여자 결과를 캐싱하는 기간을 지정하는 TTL(Time to Live) 기간(초)입니다. 0보다 큰 값을 지정한 경우 API Gateway에서 권한 부여자 응답을 캐싱합니다. 기본적으로 API Gateway는 이 속성을 300으로 설정합니다. 최대 값은 3600 또는 1시간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 300  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `StageVariables`   <a name="sam-api-lambdarequestauthorizationidentity-stagevariables"></a>
지정된 단계 변수를 `stageVariables.stageVariable` 형식의 쉼표로 구분된 매핑 표현식 문자열로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-lambdarequestauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity"></a>

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

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

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

Lambda 함수를 사용하여 API에 대한 액세스를 제어하도록 Lambda 함수를 구성합니다.

자세한 정보와 지침은 [AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md) 섹션을 참조하세요.

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

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

## 속성
<a name="sam-property-api-lambdatokenauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdatokenauthorizer-disablefunctiondefaultpermissions"></a>
 AWS SAM 가 `AWS::Lambda::Permissions` 리소스와 권한 부여자 Lambda 함수 간에 권한을 프로비저닝하기 위해 `AWS::Serverless::Api` 리소스를 자동으로 생성하지 않도록 `true`를 지정합니다.  
*기본값:* `false`  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionArn`   <a name="sam-api-lambdatokenauthorizer-functionarn"></a>
API에 대한 권한 부여를 제공하는 Lambda 함수의 함수 ARN을 지정합니다.  
AWS SAM 에를 지정하면 `FunctionArn`가 자동으로 `AWS::Lambda::Permissions` 리소스를 생성합니다`AWS::Serverless::Api`. `AWS::Lambda::Permissions` 리소스는 API와 권한 부여자 Lambda 함수 간에 권한을 프로비저닝합니다.
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionInvokeRole`   <a name="sam-api-lambdatokenauthorizer-functioninvokerole"></a>
Lambda 권한 부여자의 OpenAPI 정의에 권한 부여자 보안 인증 정보를 추가합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionPayloadType`   <a name="sam-api-lambdatokenauthorizer-functionpayloadtype"></a>
이 속성은 API의 Lambda 권한 부여자 유형을 정의하는 데 사용할 수 있습니다.  
*유효한 값*: `TOKEN` 또는 `REQUEST`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `TOKEN`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Identity`   <a name="sam-api-lambdatokenauthorizer-identity"></a>
이 속성은 권한 부여자에 대한 수신 요청에서 `IdentitySource`를 지정하는 데 사용할 수 있습니다. 이 속성은 `FunctionPayloadType` 속성이 `REQUEST`로 설정된 경우에만 필요합니다.  
*유형*: [LambdaTokenAuthorizationIdentity](sam-property-api-lambdatokenauthorizationidentity.md)  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<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>

이 속성은 권한 부여자에 대한 수신 요청에서 IdentitySource를 지정하는 데 사용할 수 있습니다. IdentitySource에 대한 자세한 내용은 [APIGateway Authorizer OpenAPI 확장 프로그램](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html)을 참조하세요.

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

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

## 속성
<a name="sam-property-api-lambdatokenauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-lambdatokenauthorizationidentity-header"></a>
OpenAPI 정의에서 권한 부여를 위한 헤더 이름을 지정합니다.  
*유형*: 문자열  
*필수 여부*: 아니요  
*기본값*: 권한 부여  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ReauthorizeEvery`   <a name="sam-api-lambdatokenauthorizationidentity-reauthorizeevery"></a>
API Gateway가 권한 부여자 결과를 캐싱하는 기간을 지정하는 TTL(Time to Live) 기간(초)입니다. 0보다 큰 값을 지정한 경우 API Gateway에서 권한 부여자 응답을 캐싱합니다. 기본적으로 API Gateway는 이 속성을 300으로 설정합니다. 최대 값은 3600 또는 1시간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 300  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ValidationExpression`   <a name="sam-api-lambdatokenauthorizationidentity-validationexpression"></a>
수신되는 자격 증명에 대한 확인 표현식입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

# ResourcePolicyStatement
<a name="sam-property-api-resourcepolicystatement"></a>

API의 모든 메서드와 경로에 대한 리소스 정책을 구성합니다. 리소스 정책에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API Gateway 리소스 정책을 사용하는 액세스 제어](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html)를 참조하세요.

## 구문
<a name="sam-property-api-resourcepolicystatement-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  [AwsAccountBlacklist](#sam-api-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-api-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-api-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-api-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-api-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-api-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-api-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-api-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-api-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-api-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-api-resourcepolicystatement-sourcevpcwhitelist): List
```

## 속성
<a name="sam-property-api-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-api-resourcepolicystatement-awsaccountblacklist"></a>
차단할 AWS 계정입니다.  
*유형*: 문자열 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AwsAccountWhitelist`   <a name="sam-api-resourcepolicystatement-awsaccountwhitelist"></a>
허용할 AWS 계정입니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 문자열 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `CustomStatements`   <a name="sam-api-resourcepolicystatement-customstatements"></a>
이 API에 적용할 사용자 지정 리소스 정책 설명 목록. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpcBlacklist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcblacklist"></a>
차단할 Virtual Private Cloud(VPC) )목록입니다. 여기서 각 VPC는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` [내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpcWhitelist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcwhitelist"></a>
[허용할 VPC 목록. 여기서 각 VPC는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpceBlacklist`   <a name="sam-api-resourcepolicystatement-intrinsicvpceblacklist"></a>
[차단할 VPC 엔드포인트 목록. 여기서 각 VPC 엔드포인트는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpceWhitelist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcewhitelist"></a>
[허용할 VPC 엔드포인트 목록. 여기서 각 VPC 엔드포인트는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IpRangeBlacklist`   <a name="sam-api-resourcepolicystatement-iprangeblacklist"></a>
차단할 IP 주소 또는 주소 범위. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IpRangeWhitelist`   <a name="sam-api-resourcepolicystatement-iprangewhitelist"></a>
허용할 IP 주소 또는 주소 범위.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceVpcBlacklist`   <a name="sam-api-resourcepolicystatement-sourcevpcblacklist"></a>
차단할 소스 VPC 또는 VPC 엔드포인트. 소스 VPC 이름은 `"vpc-"`로 시작하고 소스 VPC 엔드포인트 이름은 `"vpce-"`로 시작해야 합니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceVpcWhitelist`   <a name="sam-api-resourcepolicystatement-sourcevpcwhitelist"></a>
허용할 소스 VPC 또는 VPC 엔드포인트. 소스 VPC 이름은 `"vpc-"`로 시작하고 소스 VPC 엔드포인트 이름은 `"vpce-"`로 시작해야 합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-resourcepolicystatement--examples"></a>

### 리소스 정책 예시
<a name="sam-property-api-resourcepolicystatement--examples--resource-policy-example"></a>

다음 예제에서는 두 개의 IP 주소와 소스 VPC를 차단하고 AWS 계정을 허용합니다.

#### YAML
<a name="sam-property-api-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# ApiDefinition
<a name="sam-property-api-apidefinition"></a>

API를 정의하는 OpenAPI 문서.

## 구문
<a name="sam-property-api-apidefinition-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  [Bucket](#sam-api-apidefinition-bucket): String
  [Key](#sam-api-apidefinition-key): String
  [Version](#sam-api-apidefinition-version): String
```

## 속성
<a name="sam-property-api-apidefinition-properties"></a>

 `Bucket`   <a name="sam-api-apidefinition-bucket"></a>
OpenAPI 파일이 저장되는 Amazon S3 버킷의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `S3Location` 데이터 유형의 `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-bucket)` 속성으로 직접 전달됩니다.

 `Key`   <a name="sam-api-apidefinition-key"></a>
OpenAPI 파일의 Amazon S3 키.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `S3Location` 데이터 유형의 `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-key)` 속성으로 직접 전달됩니다.

 `Version`   <a name="sam-api-apidefinition-version"></a>
버전이 지정된 객체의 경우 OpenAPI 파일의 버전.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `S3Location` 데이터 유형의 `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-version)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-api-apidefinition--examples"></a>

### Uri 정의 예제
<a name="sam-property-api-apidefinition--examples--definition-uri-example"></a>

API 정의 예

#### YAML
<a name="sam-property-api-apidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: amzn-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

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

API Gateway API의 교차 오리진 리소스 공유(CORS)를 관리합니다. 허용할 도메인을 문자열로 지정하거나 추가 Cors 구성을 사용하여 사전을 지정합니다.

**참고**  
CORS AWS SAM 를 사용하려면 OpenAPI 정의를 수정해야 합니다. `DefinitionBody`에서 인라인 OpenAPI 정의를 생성하여 CORS를 켭니다. `CorsConfiguration`가 OpenAPI 정의 및 속성 수준에서 설정된 경우는 이를 AWS SAM 병합합니다. 속성 수준이 OpenAPI 정의보다 우선합니다.

자세한 내용은 [API 게이트웨이 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html)의 *API 게이트웨이 REST API 리소스 활성화*를 참조하세요.

## 구문
<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 Preflight 요청을 캐시하는 데 걸리는 시간(초)이 포함된 문자열.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*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!')
          }
```

# DomainConfiguration
<a name="sam-property-api-domainconfiguration"></a>

API의 사용자 지정 도메인을 구성합니다.

## 구문
<a name="sam-property-api-domainconfiguration-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  [AccessAssociation](#sam-api-domainconfiguration-domainaccessassociation): DomainAccessAssociation
  [BasePath](#sam-api-domainconfiguration-basepath): List
  [CertificateArn](#sam-api-domainconfiguration-certificatearn): String
  [DomainName](#sam-api-domainconfiguration-domainname): String
  [EndpointConfiguration](#sam-api-domainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-api-domainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)
  [NormalizeBasePath](#sam-api-domainconfiguration-normalizebasepath): Boolean
  [OwnershipVerificationCertificateArn](#sam-api-domainconfiguration-ownershipverificationcertificatearn): String
  [Policy: ](#sam-api-domainconfiguration-policy)Json
  [Route53](#sam-api-domainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-api-domainconfiguration-securitypolicy): String
```

## 속성
<a name="sam-property-api-domainconfiguration-properties"></a>

 `AccessAssociation`   <a name="sam-api-domainconfiguration-domainaccessassociation"></a>
` AWS::ApiGateway::DomainNameAccessAssociation` 리소스를 생성하는 데 필요한 구성입니다.  
AWS SAM 는이 속성이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html) 리소스를 생성합니다. 생성된 CloudFormation 리소스에 대한 자세한 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: [DomainAccessAssociation](sam-property-api-domainaccessassociation.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `BasePath`   <a name="sam-api-domainconfiguration-basepath"></a>
Amazon API Gateway 도메인 이름을 사용하여 구성할 basepath 목록입니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*기본값*: /  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::BasePathMapping` 리소스의 `[BasePath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath)` 속성과 유사합니다.는이 속성에 `BasePath` 지정된당 하나씩 여러 `AWS::ApiGateway::BasePathMapping` 리소스를 AWS SAM 생성합니다.

 `CertificateArn`   <a name="sam-api-domainconfiguration-certificatearn"></a>
이 도메인 이름의 엔드포인트인 AWS 관리형 인증서의 Amazon 리소스 이름(ARN)은 유일하게 지원되는 소스 AWS Certificate Manager 입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn)` 속성과 유사합니다. `EndpointConfiguration`이 `REGIONAL`(기본값)로 설정된 경우 `CertificateArn`이 `AWS::ApiGateway::DomainName`의 [RegionalCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn)에 매핑됩니다. `EndpointConfiguration`이 `EDGE`로 설정된 경우 `CertificateArn`이 `AWS::ApiGateway::DomainName`의 [CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn)에 매핑됩니다. `EndpointConfiguration`이(가) `PRIVATE`(으)로 설정된 경우, 이 속성은 [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2) 리소스로 전달됩니다.  
*추가 참고* 사항: `EDGE` 엔드포인트의 경우 `us-east-1` AWS 리전에서 인증서를 생성해야 합니다.

 `DomainName`   <a name="sam-api-domainconfiguration-domainname"></a>
Amazon API Gateway의 API에 대한 사용자 지정 도메인 이름입니다. 대문자는 지원되지 않습니다.  
AWS SAM 는이 속성이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html) 리소스를 생성합니다. 이 시나리오에 대한 자세한 내용은 [DomainName 속성이 지정되었습니다.](sam-specification-generated-resources-api.md#sam-specification-generated-resources-api-domain-name) 섹션을 참조하세요. 생성된 CloudFormation 리소스에 대한 자세한 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname)` 속성으로 직접 전달되거나 EndpointConfiguration이 로 설정된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2) 경우 로 전달됩니다`PRIVATE`.

 `EndpointConfiguration`   <a name="sam-api-domainconfiguration-endpointconfiguration"></a>
사용자 지정 도메인에 매핑할 API Gateway 엔드포인트의 유형을 정의합니다. 이 속성의 값은 `CertificateArn` 속성이 매핑되는 방식을 결정합니다 CloudFormation.  
*유효한 값*: `EDGE`, `REGIONAL` 또는 `PRIVATE`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `REGIONAL`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MutualTlsAuthentication`   <a name="sam-api-domainconfiguration-mutualtlsauthentication"></a>
사용자 지정 도메인 이름에 대한 상호 전송 계층 보안(TLS) 인증 구성입니다.  
*유형*: [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)` 속성으로 직접 전달됩니다.

 `NormalizeBasePath`   <a name="sam-api-domainconfiguration-normalizebasepath"></a>
`BasePath` 속성으로 정의된 basepath에 영숫자가 아닌 문자를 사용할 수 있는지 여부를 나타냅니다. `True`로 설정하면 basepath에서 영숫자가 아닌 문자가 제거됩니다.  
`BasePath` 속성과 함께 `NormalizeBasePath`을 사용합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: True  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `OwnershipVerificationCertificateArn`   <a name="sam-api-domainconfiguration-ownershipverificationcertificatearn"></a>
사용자 지정 도메인의 소유권을 확인하기 위해 ACM에서 발급한 공인 인증서의 ARN입니다. 상호 TLS를 구성하고 `CertificateArn`에 대해 ACM 가져오기 또는 사설 CA 인증서 ARN을 지정하는 경우에만 필요합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn)` 속성으로 직접 전달됩니다.

 `Policy`   <a name="sam-api-domainconfiguration-policy"></a>
API Gateway 도메인 이름에 연결할 IAM 정책입니다. `EndpointConfiguration`이(가) `PRIVATE`(으)로 설정된 경우에만 적용됩니다.  
*유형*: Json  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은가 로 `EndpointConfiguration` 설정된 경우 `AWS::ApiGateway::DomainNameV2` 리소스의 `Policy` 속성으로 직접 전달됩니다`PRIVATE`. 유효한 정책 문서의 예시는 [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2)를 참조하세요.

 `Route53`   <a name="sam-api-domainconfiguration-route53"></a>
Amazon Route 53 구성을 정의합니다.  
*유형*: [Route53Configuration](sam-property-api-route53configuration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SecurityPolicy`   <a name="sam-api-domainconfiguration-securitypolicy"></a>
이 도메인 이름에 대한 TLS 버전과 암호 그룹의 결합입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy)` 속성으로 직접 전달되거나 `EndpointConfiguration`가 로 설정된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2) 경우 로 전달됩니다`PRIVATE`. `PRIVATE` 엔드포인트의 경우, TLS\$11\$12만 지원됩니다.

## 예제
<a name="sam-property-api-domainconfiguration--examples"></a>

### DomainName
<a name="sam-property-api-domainconfiguration--examples--domainname"></a>

DomainName 예제

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

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# DomainAccessAssociation
<a name="sam-property-api-domainaccessassociation"></a>

액세스 연결 소스와 프라이빗 커스텀 도메인 이름 간의 도메인 액세스 연결을 구성합니다. 지원되는 유일한 액세스 연결 소스는 VPC 엔드포인트 ID입니다. 자세한 내용은 [API 게이트웨이의 프라이빗 API의 사용자 지정 도메인 이름](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html)을 참조하세요.

## 구문
<a name="sam-property-api-domainaccessassociation-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
 VpcEndpointId: String
```

## 속성
<a name="sam-property-api-domainaccessassociation-properties"></a>

 `VpcEndpointId`   <a name="sam-api-domainaccessassociation-vpcendpointid"></a>
API Gateway VPC 서비스와 연결된 VPC 인터페이스 엔드포인트의 엔드포인트 ID입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainNameAccessAssociation` 리소스의 `[ AccessAssociationSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsource)` 속성으로 직접 전달됩니다.

# Route53Configuration
<a name="sam-property-api-route53configuration"></a>

API에 대한 Route53 레코드 세트를 구성합니다.

## 구문
<a name="sam-property-api-route53configuration-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  [DistributionDomainName](#sam-api-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-api-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-api-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-api-route53configuration-hostedzonename): String
  [IpV6](#sam-api-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
  VpcEndpointDomainName: String
  VpcEndpointHostedZoneId: String
```

## 속성
<a name="sam-property-api-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-api-route53configuration-distributiondomainname"></a>
API 사용자 지정 도메인 이름의 사용자 지정 배포를 구성합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: API Gateway 배포를 사용합니다.  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup AliasTarget` 리소스의 `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` 속성으로 직접 전달됩니다.  
*추가 참고 사항*: [CloudFront 배포](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)의 도메인 이름입니다.

 `EvaluateTargetHealth`   <a name="sam-api-route53configuration-evaluatetargethealth"></a>
EvaluateTargetHealth가 true인 경우 별칭 레코드는 Elastic Load Balancing 로드 밸런서 또는 호스팅 영역의 다른 레코드와 같이 참조된 AWS 리소스의 상태를 상속합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup AliasTarget` 리소스의 `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` 속성으로 직접 전달됩니다.  
*추가 참고 사항*: 별칭 대상이 CloudFront 배포인 경우, EvaluateTargetHealth를 true로 설정할 수 없습니다.

 `HostedZoneId`   <a name="sam-api-route53configuration-hostedzoneid"></a>
기록을 생성하려는 호스팅 영역의 ID입니다.  
`HostedZoneName` 또는 `HostedZoneId` 중 하나를 지정하며 둘 다 지정하지 않습니다. 동일한 도메인 이름을 가진 호스팅 영역이 여러 개 있는 경우 `HostedZoneId`를 사용하여 호스팅 영역을 지정해야 합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup RecordSet` 리소스의 `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` 속성으로 직접 전달됩니다.

 `HostedZoneName`   <a name="sam-api-route53configuration-hostedzonename"></a>
기록을 생성하려는 호스팅 영역의 이름입니다.  
`HostedZoneName` 또는 `HostedZoneId` 중 하나를 지정하며 둘 다 지정하지 않습니다. 동일한 도메인 이름을 가진 호스팅 영역이 여러 개 있는 경우 `HostedZoneId`를 사용하여 호스팅 영역을 지정해야 합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup RecordSet` 리소스의 `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` 속성으로 직접 전달됩니다.

 `IpV6`   <a name="sam-api-route53configuration-ipv6"></a>
이 속성이 설정되면는 `AWS::Route53::RecordSet` 리소스를 AWS SAM 생성하고 제공된 HostedZone에 `AAAA` 대해 [유형을](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) 로 설정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`Region`  <a name="sam-api-route53configuration-region"></a>
*지연 시간 기반 리소스 기록 세트만 해당:* 이 리소스 기록 세트가 참조하는 리소스를 생성한 Amazon EC2 리전입니다. 리소스는 일반적으로 EC2 인스턴스 또는 ELB 로드 밸런서와 같은 AWS 리소스이며 레코드 유형에 따라 IP 주소 또는 DNS 도메인 이름으로 참조됩니다.  
Amazon Route 53에서 지연 리소스 기록 세트에 대해 생성된 도메인 이름 및 유형에 대한 DNS 쿼리를 수신한 경우 Route 53은 최종 사용자와 연결된 Amazon EC2 리전 간에 지연 시간이 가장 짧은 지연 리소스 기록 세트를 선택합니다. 그 다음에 Route 53은 선택된 리소스 기록 세트와 연결된 값을 반환합니다.  
다음 사항에 유의하세요.  
+ 지연 리소스 기록 세트별로 `ResourceRecord`를 1개씩만 지정할 수 있습니다.
+ 각 Amazon EC2 리전에 지연 시간 리소스 기록 세트를 1개씩만 생성할 수 있습니다.
+ 모든 Amazon EC2 리전에 지연 시간 리소스 기록 세트를 생성할 필요는 없습니다. Route 53은 지연 시간 리소스 기록 세트를 생성할 리전 중에서 지연 시간이 가장 좋은 리전을 선택합니다.
+ `Name` 및 `Type` 요소 값이 지연 시간 리소스 기록 세트와 같은 비-지연 시간 리소스 기록 세트를 생성할 수 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup` `RecordSet` 데이터 유형의 `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` 속성으로 직접 전달됩니다.

`SetIdentifier`  <a name="sam-api-route53configuration-setidentifier"></a>
*단순하지 않은 라우팅 정책이 있는 리소스 기록 세트:* 이름과 유형의 조합이 동일한 여러 리소스 기록 세트(이름이 acme.example.com이고 유형이 A인 여러 가중치 기반 리소스 기록 세트) 사이에서 차별화되는 식별자입니다. 이름과 유형이 동일한 리소스 기록 세트 그룹에서 각 리소스 기록 세트의 `SetIdentifier` 값은 고유해야 합니다.  
라우팅 정책에 대한 자세한 내용을 알아보려면 *Amazon Route 53 개발자 안내서*의 [라우팅 정책 선택](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup` `RecordSet` 데이터 유형의 `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` 속성으로 직접 전달됩니다.

`VpcEndpointDomainName`  <a name="sam-api-route53configuration-vpcendpointdomainname"></a>
API Gateway VPC 서비스와 연결된 VPC 인터페이스 엔드포인트의 DNS 이름입니다. 이 속성은 프라이빗 도메인에만 필요합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSet` `AliasTarget` 필드의 `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-aliastarget.html)` 속성으로 직접 전달됩니다.

`VpcEndpointHostedZoneId`  <a name="sam-api-route53configuration-vpcendpointhostedzoneid"></a>
API Gateway VPC 서비스와 연결된 VPC 인터페이스 엔드포인트의 호스팅된 영역 ID입니다. 이 속성은 프라이빗 도메인에만 필요합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSet` `AliasTarget` 필드의 `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-aliastarget.html)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-api-route53configuration--examples"></a>

### 기본 예제
<a name="sam-property-api-route53configuration--examples--route-53-configuration-example"></a>

이 예시에서는 API에 대한 사용자 지정 도메인과 Route 53 기록 세트를 구성합니다.

#### YAML
<a name="sam-property-api-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Domain:
        DomainName: www.example.com
        CertificateArn: arn:aws:acm:us-east-1:123456789012:certificate/abcdef12-3456-7890-abcd-ef1234567890
        EndpointConfiguration: REGIONAL
        Route53:
          HostedZoneId: ABCDEFGHIJKLMNOP
```

# EndpointConfiguration
<a name="sam-property-api-endpointconfiguration"></a>

REST API의 엔드포인트 유형.

## 구문
<a name="sam-property-api-endpointconfiguration-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

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

```
  [IpAddressType](#sam-api-endpointconfiguration-ipaddresstype): String
  [Type](#sam-api-endpointconfiguration-type): String
  [VPCEndpointIds](#sam-api-endpointconfiguration-vpcendpointids): List
```

## 속성
<a name="sam-property-api-endpointconfiguration-properties"></a>

 `IpAddressType`   <a name="sam-api-endpointconfiguration-ipaddresstype"></a>
API(RestApi)를 호출할 수 있는 IP 주소 유형입니다.  
*유효한 값*: `ipv4` 또는 `dualstack`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `EndpointConfiguration` 데이터 유형의 `[IpAddressType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-ipaddresstype)` 속성으로 직접 전달됩니다.

 `Type`   <a name="sam-api-endpointconfiguration-type"></a>
REST API의 엔드포인트 유형.  
*유효한 값*: `EDGE` 또는 `REGIONAL` 또는 `PRIVATE`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `EndpointConfiguration` 데이터 유형의 `[Types](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types)` 속성으로 직접 전달됩니다.

 `VPCEndpointIds`   <a name="sam-api-endpointconfiguration-vpcendpointids"></a>
Route53 별칭을 생성할 REST API의 VPC 엔드포인트 ID 목록입니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `EndpointConfiguration` 데이터 유형의 `[VpcEndpointIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-api-endpointconfiguration--examples"></a>

### EndpointConfiguration
<a name="sam-property-api-endpointconfiguration--examples--endpointconfiguration"></a>

엔드포인트 구성 예제

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

```
EndpointConfiguration:
  Type: PRIVATE
  VPCEndpointIds:
    - vpce-123a123a
    - vpce-321a321a
```