ApiAuth - AWS Serverless Application Model

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

ApiAuth

Konfigurieren Sie die Autorisierung, um den Zugriff auf Ihr Gateway zu kontrollieren. API API

Weitere Informationen und Beispiele für die Konfiguration des Zugriffs mithilfe von AWS SAM finden Sie unterSteuern API Sie den Zugriff mit Ihrer AWS SAM Vorlage.

Syntax

Verwenden Sie die folgende Syntax, um diese Entität in Ihrer Vorlage AWS Serverless Application Model (AWS SAM) zu deklarieren.

YAML

AddApiKeyRequiredToCorsPreflight: Boolean AddDefaultAuthorizerToCorsPreflight: Boolean ApiKeyRequired: Boolean Authorizers: CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM DefaultAuthorizer: String InvokeRole: String ResourcePolicy: ResourcePolicyStatement UsagePlan: ApiUsagePlan
Anmerkung

Die Authorizers Eigenschaft beinhaltetAWS_IAM, aber dafür ist keine zusätzliche Konfiguration erforderlichAWS_IAM. Ein Beispiel finden Sie unter AWS IAM.

Eigenschaften

AddApiKeyRequiredToCorsPreflight

Wenn die Cors Eigenschaften ApiKeyRequired und festgelegt sind, führt die Einstellung dazu, dass der API Schlüssel zur Eigenschaft hinzugefügt AddApiKeyRequiredToCorsPreflight wird. Options

Typ: Boolesch

Required: No

Standardwert: True

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

AddDefaultAuthorizerToCorsPreflight

Wenn die Cors Eigenschaften DefaultAuthorizer und festgelegt sind, führt AddDefaultAuthorizerToCorsPreflight diese Einstellung dazu, dass der Standardautorisierer zur Options Eigenschaft im API Abschnitt Öffnen hinzugefügt wird.

Typ: Boolesch

Required: No

Standard: Wahr

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

ApiKeyRequired

Wenn der Wert auf true gesetzt ist, ist für alle API Ereignisse ein API Schlüssel erforderlich. Weitere Informationen zu API Schlüsseln finden Sie unter Nutzungspläne mit API Schlüsseln erstellen und verwenden im APIGateway Developer Guide.

Typ: Boolesch

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

Authorizers

Der Autorisierer, der zur Steuerung des Zugriffs auf Ihr API Gateway API verwendet wurde.

Weitere Informationen finden Sie unter Steuern API Sie den Zugriff mit Ihrer AWS SAM Vorlage.

Typ: CognitoAuthorizer| | LambdaTokenAuthorizer| LambdaRequestAuthorizer AWS_IAM

Required: No

Standard: Keiner

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

Zusätzliche Hinweise: SAM Fügt die Autorisierer zur OpenApi Definition einer API hinzu.

DefaultAuthorizer

Geben Sie einen Standardautorisierer für ein API Gateway anAPI, der standardmäßig für die Autorisierung von API Aufrufen verwendet wird.

Anmerkung

Wenn die Api EventSource für die damit verbundene Funktion so konfiguriert API ist, dass sie IAM Permissions verwendet, muss diese Eigenschaft auf gesetzt seinAWS_IAM, andernfalls wird ein Fehler ausgegeben.

Typ: Zeichenfolge

Required: No

Standard: Keiner

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

InvokeRole

Legt die Integrationsanmeldedaten für alle Ressourcen und Methoden auf diesen Wert fest.

CALLER_CREDENTIALSordnet zuarn:aws:iam::*:user/*, wodurch die Anmeldeinformationen des Anrufers verwendet werden, um den Endpunkt aufzurufen.

Gültige Werte:CALLER_CREDENTIALS,, NONE IAMRoleArn

Typ: Zeichenfolge

Required: No

Standardwert: CALLER_CREDENTIALS

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

ResourcePolicy

Konfigurieren Sie die Ressourcenrichtlinie für alle Methoden und Pfade auf einemAPI.

Typ: ResourcePolicyStatement

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

Zusätzliche Hinweise: Diese Einstellung kann auch individuell AWS::Serverless::Function mit dem definiert werdenApiFunctionAuth. Dies ist für APIs with erforderlichEndpointConfiguration: PRIVATE.

UsagePlan

Konfiguriert einen damit verbundenen Nutzungsplan. API Weitere Informationen zu Nutzungsplänen finden Sie unter Nutzungspläne mit API Schlüsseln erstellen und verwenden im APIGateway Developer Guide.

Diese AWS SAM Eigenschaft generiert drei zusätzliche AWS CloudFormation Ressourcen, wenn diese Eigenschaft festgelegt ist: AWS::ApiGateway::UsagePlan, ein AWS::ApiGateway::UsagePlanKey, und ein AWS::ApiGateway::ApiKey. Informationen zu diesem Szenario finden Sie unterUsagePlanEigenschaft ist spezifiziert. Allgemeine Informationen zu generierten AWS CloudFormation Ressourcen finden Sie unterGenerierte AWS CloudFormation Ressourcen für AWS SAM.

Typ: ApiUsagePlan

Required: No

AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent.

Beispiele

CognitoAuth

Beispiel für Cognito Auth

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 IAMBeispiel

YAML

Auth: Authorizers: AWS_IAM