기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
ApiAuth
권한 부여를 구성하여 API Gateway 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
를 설정하면 기본 권한 부여자가 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 이에 상응하는 속성이 없습니다.
-
API Gateway API에 대한 액세스를 제어하는 데 사용되는 권한 부여자.
자세한 정보는 AWS SAM 템플릿으로 API 액세스 제어을 참조하세요.
유형: CognitoAuthorizer| LambdaTokenAuthorizer| LambdaRequestAuthorizer
필수 항목 여부: 아니요
기본값: 없음
AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.
추가 참고 사항: SAM은 Api OpenApi 정의에 권한 부여자를 추가합니다.
-
기본적으로 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의 모든 메서드와 경로에 대한 리소스 정책을 구성합니다.
필수 항목 여부: 아니요
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"