기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
ApiAuth
게이트웨이에 대한 액세스를 제어하도록 권한 부여를 구성합니다. API API
를 사용하여 액세스를 구성하는 방법에 대한 자세한 내용 및 예는 을 AWS SAM 참조하십시오AWS SAM 템플릿으로 API 액세스 제어.
구문
AWS Serverless Application Model (AWS SAM) 템플릿에서 이 엔티티를 선언하려면 다음 구문을 사용하십시오.
YAML
AddApiKeyRequiredToCorsPreflight:
Boolean
AddDefaultAuthorizerToCorsPreflight:Boolean
ApiKeyRequired:Boolean
Authorizers:CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer
DefaultAuthorizer:String
InvokeRole:String
ResourcePolicy:ResourcePolicyStatement
UsagePlan:ApiUsagePlan
속성
-
AddApiKeyRequiredToCorsPreflight
-
ApiKeyRequired
및Cors
속성이 설정된 경우AddApiKeyRequiredToCorsPreflight
설정하면 속성에 API 키가 추가됩니다.Options
유형: 부울
필수 항목 여부: 아니요
기본값:
True
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
-
DefaultAuthorizer
및Cors
속성이 설정된 경우AddDefaultAuthorizerToCorsPreflight
설정하면 열기 API 섹션의Options
속성에 기본 권한 부여자가 추가됩니다.유형: 부울
필수 항목 여부: 아니요
기본값: True
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
-
ApiKeyRequired
-
true로 설정하면 모든 API 이벤트에 API 키가 필요합니다. API키에 대한 자세한 내용은 APIGateway 개발자 안내서의 API 키를 이용한 사용량 계획 생성 및 사용을 참조하십시오.
유형: 부울
필수 항목 여부: 아니요
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
-
권한 부여자는 API 게이트웨이에 API 대한 액세스를 제어하는 데 사용됩니다.
자세한 내용은 AWS SAM 템플릿으로 API 액세스 제어 단원을 참조하십시오.
입력: CognitoAuthorizer| | LambdaTokenAuthorizerLambdaRequestAuthorizer
필수 항목 여부: 아니요
기본값: 없음
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
추가 참고 사항: Api OpenApi 정의에 권한 부여자를 SAM 추가합니다.
-
API게이트웨이의 API 기본 권한 부여자를 지정하십시오. 이 인증자는 기본적으로 호출 인증에 사용됩니다. API
참고
이와 관련된 함수의 EventSource API API가 IAM Permissions를 사용하도록 구성된 경우 이 속성을 로 설정해야 합니다.
AWS_IAM
그렇지 않으면 오류가 발생합니다.유형: 문자열
필수 항목 여부: 아니요
기본값: 없음
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
-
InvokeRole
-
모든 리소스 및 메서드의 통합 보안 인증 정보를 이 값으로 설정합니다.
CALLER_CREDENTIALS
이 호출자 보안 인증 정보를 사용하여 엔드포인트를 호출하는arn:aws:iam::*:user/*
에 매핑됩니다.유효한 값:
CALLER_CREDENTIALS
,NONE
,IAMRoleArn
유형: 문자열
필수 항목 여부: 아니요
기본값:
CALLER_CREDENTIALS
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
-
ResourcePolicy
-
의 모든 메서드와 경로에 대한 리소스 정책을 구성합니다API.
필수 항목 여부: 아니요
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
추가 참고 사항: 이 설정은 ApiFunctionAuth를 사용하여 개별
AWS::Serverless::Function
에서도 정의할 수도 있습니다. APIswith에 필요합니다EndpointConfiguration: PRIVATE
. -
UsagePlan
-
이와 관련된 사용량 계획을 구성합니다. API 사용량 계획에 대한 자세한 내용은 APIGateway 개발자 안내서의 API키를 사용하여 사용량 계획 생성 및 사용을 참조하십시오.
이 AWS SAM 속성을 설정하면 an AWS::ApiGateway::UsagePlan, an AWS::ApiGateway::UsagePlanKey, an이라는 세 가지 추가 AWS CloudFormation 리소스가 생성됩니다 AWS::ApiGateway::ApiKey. 이 시나리오에 대한 자세한 내용은 UsagePlan속성이 지정되었습니다. 섹션을 참조하세요. 생성된 AWS CloudFormation 리소스에 대한 일반 정보는 을 참조하십시오에 대한 AWS CloudFormation 리소스 생성 AWS SAM.
유형: ApiUsagePlan
필수 항목 여부: 아니요
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
예시
CognitoAuth
Cognito 인증 예제
YAML
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"