ApiAuth - AWS Serverless Application Model

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

ApiAuth

권한 부여를 구성하여 API Gateway 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를 설정하면 기본 권한 부여자가 OpenAPI 섹션의 Options 속성에 추가됩니다.

유형: 부울

필수 항목 여부: 아니요

기본값: True

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

ApiKeyRequired

true로 설정하면 모든 API 이벤트에 API 키가 필요합니다. 자세한 내용을 알아보려면 API Gateway 개발자 안내서Amazon API Gateway에서 API 사용량 계획 생성 및 사용을 참조하세요.

유형: 부울

필수 항목 여부: 아니요

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

Authorizers

API Gateway API에 대한 액세스를 제어하는 데 사용되는 권한 부여자.

자세한 정보는 AWS SAM 템플릿으로 API 액세스 제어을 참조하세요.

유형: CognitoAuthorizer| LambdaTokenAuthorizer| LambdaRequestAuthorizer

필수 항목 여부: 아니요

기본값: 없음

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

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

DefaultAuthorizer

기본적으로 API 호출을 승인하는 데 사용되는 API Gateway API의 기본 권한 부여자를 지정합니다.

참고

이 EventSource API와 연결된 함수의 API가 IAM 권한을 사용하도록 구성된 경우 이 속성을 로 설정해야 합니다. 그렇지 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에서도 정의할 수도 있습니다. 이는 EndpointConfiguration: PRIVATE를 포함하는 API에 필요합니다.

UsagePlan

이 API와 연결된 사용량 계획을 구성합니다. 사용량 계획에 대한 자세한 내용은 API Gateway 개발자 안내서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" } } }] IpRangeBlacklist: - "10.20.30.40"