

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

# LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer"></a>

 AWS Lambda 함수를 사용하여 Amazon API Gateway HTTP API에 대한 액세스를 제어하도록 Lambda 권한 부여자를 구성합니다.

자세한 내용과 예제는 *API Gateway 개발자 안내서*의 [HTTP APIs에 대한 AWS Lambda 권한 부여자 작업을 참조하세요](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html).

## 구문
<a name="sam-property-httpapi-lambdaauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-lambdaauthorizer-syntax.yaml"></a>

```
  [AuthorizerPayloadFormatVersion](#sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion): String
  EnableFunctionDefaultPermissions: Boolean
  [EnableSimpleResponses](#sam-httpapi-lambdaauthorizer-enablesimpleresponses): Boolean
  [FunctionArn](#sam-httpapi-lambdaauthorizer-functionarn): String
  [FunctionInvokeRole](#sam-httpapi-lambdaauthorizer-functioninvokerole): String
  [Identity](#sam-httpapi-lambdaauthorizer-identity): LambdaAuthorizationIdentity
```

## 속성
<a name="sam-property-httpapi-lambdaauthorizer-properties"></a>

 `AuthorizerPayloadFormatVersion`   <a name="sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion"></a>
HTTP API Lambda 권한 부여자에게 전송되는 페이로드의 형식을 지정합니다. HTTP API Lambda 권한 부여자에 필요합니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `authorizerPayloadFormatVersion` 섹션으로 전달됩니다.  
*유효한 값*: `1.0` 또는 `2.0`  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `EnableFunctionDefaultPermissions`   <a name="sam-httpapi-lambdaauthorizer-enablefunctiondefaultpermissions"></a>
기본적으로 HTTP API 리소스에는 Lambda 권한 부여자를 호출할 수 있는 권한이 부여되지 않습니다. HTTP API 리소스와 Lambda 권한 부여자 간에 권한을 자동으로 생성하도록 이 속성을 `true`로 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값:* `false`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

 `EnableSimpleResponses`   <a name="sam-httpapi-lambdaauthorizer-enablesimpleresponses"></a>
Lambda 권한 부여자가 간단한 형식으로 응답을 반환하는지 여부를 지정합니다. 기본적으로 Lambda 권한 부여자는 AWS Identity and Access Management (IAM) 정책을 반환해야 합니다. 사용하도록 설정되면 Lambda 권한 부여자가 IAM 정책 대신 부울 값을 반환할 수 있습니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `enableSimpleResponses` 섹션으로 전달됩니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionArn`   <a name="sam-httpapi-lambdaauthorizer-functionarn"></a>
API에 대한 인증을 제공하는 Lambda 함수의 Amazon 리소스 이름(ARN)입니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `authorizerUri` 섹션으로 전달됩니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionInvokeRole`   <a name="sam-httpapi-lambdaauthorizer-functioninvokerole"></a>
API Gateway가 권한 부여자 함수를 호출하는 데 필요한 보안 인증 정보가 있는 IAM 역할의 ARN입니다. 함수의 리소스 기반 정책이 API Gateway `lambda:InvokeFunction` 권한을 부여하지 않는 경우, 이 파라미터를 지정합니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `authorizerCredentials` 섹션으로 전달됩니다.  
자세한 내용은 *API Gateway 개발자 안내서*의 [Lambda 권한 부여자 만들기](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.example-create) 섹션을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Identity`   <a name="sam-httpapi-lambdaauthorizer-identity"></a>
권한 부여자에 대한 수신 요청에 `IdentitySource`를 지정합니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `identitySource` 섹션으로 전달됩니다.  
*유형*: [LambdaAuthorizationIdentity](sam-property-httpapi-lambdaauthorizationidentity.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-httpapi-lambdaauthorizer--examples"></a>

### LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer"></a>

LambdaAuthorizer 예

#### YAML
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer--yaml"></a>

```
Auth:
  Authorizers:
    MyLambdaAuthorizer:
      AuthorizerPayloadFormatVersion: 2.0
      FunctionArn:
        Fn::GetAtt:
          - MyAuthFunction
          - Arn
      FunctionInvokeRole:
        Fn::GetAtt:
          - LambdaAuthInvokeRole
          - Arn
      Identity:
        Headers:
          - Authorization
```

# LambdaAuthorizationIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity"></a>

Lambda 권한 부여자에 대한 수신 요청에서 IdentitySource를 지정하는 데 속성을 사용할 수 있습니다. ID 소스에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [ID 소스](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.identity-sources)를 참조하세요.

## 구문
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax.yaml"></a>

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

## 속성
<a name="sam-property-httpapi-lambdaauthorizationidentity-properties"></a>

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

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

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

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

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

## 예제
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity"></a>

Lambda 요청 자격 증명 예제

#### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

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