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.
ApiFunctionAuth
Konfiguriert die Autorisierung auf Ereignisebene für eine bestimmte API, einen bestimmten Pfad und eine Methode.
Syntax
Verwenden Sie die folgende Syntax, um diese Entität in Ihrer Vorlage AWS Serverless Application Model (AWS SAM) zu deklarieren.
YAML
ApiKeyRequired:BooleanAuthorizationScopes:ListAuthorizer:StringInvokeRole:StringOverrideApiAuth:BooleanResourcePolicy:ResourcePolicyStatement
Eigenschaften
- 
                    ApiKeyRequired
- 
                    Erfordert einen API-Schlüssel für diese API, diesen Pfad und diese Methode. Typ: Boolesch Required: No AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent. 
- 
                    Die Autorisierungsbereiche, die für diese API, diesen Pfad und diese Methode gelten sollen. Die von Ihnen angegebenen Bereiche haben Vorrang vor allen Bereichen, die von der DefaultAuthorizerEigenschaft angewendet werden, sofern Sie sie angegeben haben.Typ: Liste Required: No AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent. 
- 
                    Die Authorizerfür eine bestimmte Funktion.Wenn Sie für Ihre AWS::Serverless::ApiRessource einen globalen Autorisierer angegeben haben, können Sie den Autorisierer überschreiben, indem Sie auf setzenAuthorizer.NONEEin Beispiel finden Sie unter Überschreiben Sie einen globalen Autorisierer für Ihre Amazon API Gateway Gateway-REST-API.AnmerkungWenn Sie die DefinitionBodyEigenschaft einerAWS::Serverless::ApiRessource verwenden, um Ihre API zu beschreiben, müssen SieOverrideApiAuthwith verwenden, um Ihren globalenAuthorizerAutorisierer zu überschreiben. Weitere Informationen finden Sie unterOverrideApiAuth.Gültige Werte: AWS_IAMNONE, oder die logische ID für jeden in Ihrer AWS SAM Vorlage definierten Autorisierer.Typ: Zeichenfolge Required: No AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent. 
- 
                    InvokeRole
- 
                    Gibt an, welche für InvokeRoledieAWS_IAMAutorisierung verwendet werden soll.Typ: Zeichenfolge Required: No Standardwert: CALLER_CREDENTIALSAWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent. Zusätzliche Hinweise: CALLER_CREDENTIALSMappings toarn:aws:iam::, das die Anmeldeinformationen des Anrufers verwendet, um den Endpunkt aufzurufen.:<user>/
- OverrideApiAuth
- 
                    Geben Sie truean, ob die globale Autorisierungskonfiguration Ihrer Ressource überschrieben werden soll.AWS::Serverless::ApiDiese Eigenschaft ist nur erforderlich, wenn Sie einen globalen Autorisierer angeben und dieDefinitionBodyEigenschaft einerAWS::Serverless::ApiRessource verwenden, um Ihre API zu beschreiben.AnmerkungWenn Sie OverrideApiAuthals angebentrue, AWS SAM wird Ihr globaler Autorisierer mit allen fürApiKeyRequiredAuthorizer, oder angegebenen Werten überschrieben.ResourcePolicyDaher muss bei der VerwendungOverrideApiAuthmindestens eine dieser Eigenschaften ebenfalls angegeben werden. Ein Beispiel finden Sie unter Überschreiben Sie einen globalen Autorisierer, wenn DefinitionBody für AWS::Serverless::Api angegeben ist.Typ: Boolesch Required: No 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 diesen Pfad auf einer API. Required: No AWS CloudFormation Kompatibilität: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein AWS CloudFormation Äquivalent. 
Beispiele
Funktions-Auth
Das folgende Beispiel spezifiziert die Autorisierung auf Funktionsebene.
YAML
Auth: ApiKeyRequired: true Authorizer: NONE
Überschreiben Sie einen globalen Autorisierer für Ihre Amazon API Gateway Gateway-REST-API
Sie können einen globalen Autorisierer für Ihre AWS::Serverless::Api Ressource angeben. Im Folgenden finden Sie ein Beispiel für die Konfiguration eines globalen Standardautorisierers:
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: MyApiWithLambdaRequestAuth: Type: AWS::Serverless::Api Properties: ... Auth: Authorizers: MyLambdaRequestAuth: FunctionArn: !GetAtt MyAuthFn.Arn DefaultAuthorizer: MyLambdaRequestAuth
Um den Standardautorisierer für Ihre AWS Lambda Funktion zu überschreiben, können Sie als angeben. Authorizer NONE Im Folgenden wird ein Beispiel gezeigt:
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: ... MyFn: Type: AWS::Serverless::Function Properties: ... Events: LambdaRequest: Type: Api Properties: RestApiId: !Ref MyApiWithLambdaRequestAuth Method: GET Auth: Authorizer: NONE
Überschreiben Sie einen globalen Autorisierer, wenn DefinitionBody für AWS::Serverless::Api angegeben ist
Wenn Sie die DefinitionBody Eigenschaft zur Beschreibung Ihrer AWS::Serverless::Api Ressource verwenden, funktioniert die vorherige Override-Methode nicht. Im Folgenden finden Sie ein Beispiel für die Verwendung der DefinitionBody Eigenschaft für eine AWS::Serverless::Api Ressource:
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: MyApiWithLambdaRequestAuth: Type: AWS::Serverless::Api Properties: ... DefinitionBody: swagger: 2.0 ... paths: /lambda-request: ... Auth: Authorizers: MyLambdaRequestAuth: FunctionArn: !GetAtt MyAuthFn.Arn DefaultAuthorizer: MyLambdaRequestAuth
Verwenden Sie die OverrideApiAuth Eigenschaft, um den globalen Autorisierer zu überschreiben. Im Folgenden finden Sie ein Beispiel, das verwendet wird, OverrideApiAuth um den globalen Autorisierer mit dem für angegebenen Wert zu überschreiben: Authorizer
AWSTemplateFormatVersion: '2010-09-09' Transform: AWS::Serverless-2016-10-31 ... Resources: MyApiWithLambdaRequestAuth: Type: AWS::Serverless::Api Properties: ... DefinitionBody: swagger: 2-0 ... paths: /lambda-request: ... Auth: Authorizers: MyLambdaRequestAuth: FunctionArn: !GetAtt MyAuthFn.Arn DefaultAuthorizer: MyLambdaRequestAuth MyAuthFn: Type: AWS::Serverless::Function ... MyFn: Type: AWS::Serverless::Function Properties: ... Events: LambdaRequest: Type: Api Properties: RestApiId: !Ref MyApiWithLambdaRequestAuth Method: GET Auth: Authorizer: NONE OverrideApiAuth: true Path: /lambda-token