기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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 | AWS_IAM
DefaultAuthorizer:String
InvokeRole:String
ResourcePolicy:ResourcePolicyStatement
UsagePlan:ApiUsagePlan
참고
Authorizers
속성에는 가 포함되지AWS_IAM
만 에 대한 추가 구성은 필요하지 않습니다AWS_IAM
. 예시는 AWS IAM에서 확인하십시오.
속성
-
AddApiKeyRequiredToCorsPreflight
-
ApiKeyRequired
및Cors
속성이 설정된 경우 설정을AddApiKeyRequiredToCorsPreflight
통해Options
속성에 API 키가 추가됩니다.유형: 부울
필수 항목 여부: 아니요
기본값:
True
AWS CloudFormation 호환성 : 이 속성은 에 고유 AWS SAM 하며 AWS CloudFormation 동등한 속성이 없습니다.
-
DefaultAuthorizer
및Cors
속성이 설정된 경우 설정을AddDefaultAuthorizerToCorsPreflight
사용하면 열기API 섹션의Options
속성에 기본 권한 부여자가 추가됩니다.유형: 부울
필수 항목 여부: 아니요
기본값: True
AWS CloudFormation 호환성 : 이 속성은 에 고유 AWS SAM 하며 AWS CloudFormation 동등한 속성이 없습니다.
-
ApiKeyRequired
-
true로 설정하면 모든 API 이벤트에 API 키가 필요합니다. API 키에 대한 자세한 내용은 API Gateway 개발자 안내서의 API 키를 사용한 사용 계획 생성 및 사용을 참조하세요.
유형: 부울
필수 항목 여부: 아니요
AWS CloudFormation 호환성 : 이 속성은 에 고유 AWS SAM 하며 AWS CloudFormation 동등한 속성이 없습니다.
-
API Gateway 에 대한 액세스를 제어하는 데 사용되는 권한 부여자입니다API.
자세한 내용은 AWS SAM 템플릿으로 API 액세스 제어 단원을 참조하십시오.
유형: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM
필수 항목 여부: 아니요
기본값: 없음
AWS CloudFormation 호환성 : 이 속성은 에 고유 AWS SAM 하며 AWS CloudFormation 동등한 속성이 없습니다.
추가 참고 사항: 는 Api의 OpenApi 정의에 권한 부여자를 SAM 추가합니다.
-
기본적으로 API 호출을 승인API하는 데 사용되는 API 게이트웨이 에 대한 기본 권한 부여자를 지정합니다.
참고
이와 연결된 함수 EventSource 의 ApiAPI가 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
에서도 정의할 수도 있습니다. 이는 를 APIs 사용하는 에 필요합니다EndpointConfiguration: PRIVATE
. -
UsagePlan
-
이 와 연결된 사용 계획을 구성합니다API. 사용 계획에 대한 자세한 내용은 API Gateway 개발자 안내서의 API 키를 사용하여 사용 계획 생성 및 사용을 참조하세요.
이 AWS SAM 속성은 이 속성이 설정될 때 세 가지 추가 AWS CloudFormation 리소스를 생성합니다. AWS::ApiGateway::UsagePlan, AWS::ApiGateway::UsagePlanKey, 및 AWS::ApiGateway::ApiKey. 이 시나리오에 대한 자세한 내용은 섹션을 참조하세요UsagePlan 속성 지정됨. 생성된 AWS CloudFormation 리소스에 대한 일반 정보는 섹션을 참조하세요AWS SAM용으로 생성된 AWS CloudFormation 리소스.
유형: 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"
AWS IAM
AWS IAM 예제
YAML
Auth: Authorizers: AWS_IAM