ApiAuth - AWS Serverless Application Model

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

ApiAuth

게이트웨이에 대한 액세스를 제어하도록 권한 부여를 구성합니다. API API

를 사용하여 액세스를 구성하는 방법에 대한 자세한 내용 및 예는 을 AWS SAM 참조하십시오AWS SAM 템플릿으로 API 액세스 제어.

구문

AWS Serverless Application Model (AWS SAM) 템플릿에서 이 엔티티를 선언하려면 다음 구문을 사용하십시오.

속성

AddApiKeyRequiredToCorsPreflight

ApiKeyRequiredCors 속성이 설정된 경우 AddApiKeyRequiredToCorsPreflight 설정하면 속성에 API 키가 추가됩니다. Options

유형: 부울

필수 항목 여부: 아니요

기본값: True

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

AddDefaultAuthorizerToCorsPreflight

DefaultAuthorizerCors 속성이 설정된 경우 AddDefaultAuthorizerToCorsPreflight 설정하면 열기 API 섹션의 Options 속성에 기본 권한 부여자가 추가됩니다.

유형: 부울

필수 항목 여부: 아니요

기본값: True

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

ApiKeyRequired

true로 설정하면 모든 API 이벤트에 API 키가 필요합니다. API키에 대한 자세한 내용은 APIGateway 개발자 안내서의 API 키를 이용한 사용량 계획 생성 및 사용을 참조하십시오.

유형: 부울

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

Authorizers

권한 부여자는 API 게이트웨이에 API 대한 액세스를 제어하는 데 사용됩니다.

자세한 내용은 AWS SAM 템플릿으로 API 액세스 제어 단원을 참조하십시오.

입력: CognitoAuthorizer| | LambdaTokenAuthorizerLambdaRequestAuthorizer

필수 항목 여부: 아니요

기본값: 없음

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

추가 참고 사항: Api OpenApi 정의에 권한 부여자를 SAM 추가합니다.

DefaultAuthorizer

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.

유형: ResourcePolicyStatement

필수 항목 여부: 아니요

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"