

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
<a name="sam-property-function-apifunctionauth"></a>

Konfiguriert die Autorisierung auf Ereignisebene für eine bestimmte API, einen bestimmten Pfad und eine Methode.

## Syntax
<a name="sam-property-function-apifunctionauth-syntax"></a>

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

### YAML
<a name="sam-property-function-apifunctionauth-syntax.yaml"></a>

```
  [ApiKeyRequired](#sam-function-apifunctionauth-apikeyrequired): Boolean
  [AuthorizationScopes](#sam-function-apifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-apifunctionauth-authorizer): String
  [InvokeRole](#sam-function-apifunctionauth-invokerole): String
  OverrideApiAuth: Boolean
  [ResourcePolicy](#sam-function-apifunctionauth-resourcepolicy): ResourcePolicyStatement
```

## Eigenschaften
<a name="sam-property-function-apifunctionauth-properties"></a>

 `ApiKeyRequired`   <a name="sam-function-apifunctionauth-apikeyrequired"></a>
Erfordert einen API-Schlüssel für diese API, diesen Pfad und diese Methode.  
*Typ*: Boolesch  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `AuthorizationScopes`   <a name="sam-function-apifunctionauth-authorizationscopes"></a>
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 `DefaultAuthorizer` Eigenschaft angewendet werden, sofern Sie sie angegeben haben.  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `Authorizer`   <a name="sam-function-apifunctionauth-authorizer"></a>
Die `Authorizer` für eine bestimmte Funktion.  
Wenn Sie für Ihre `AWS::Serverless::Api` Ressource einen globalen Autorisierer angegeben haben, können Sie den Autorisierer überschreiben, indem Sie auf setzen`Authorizer`. `NONE` Ein Beispiel finden Sie unter [Überschreiben Sie einen globalen Autorisierer für Ihre Amazon API Gateway Gateway-REST-API](#sam-property-function-apifunctionauth--examples--override).  
Wenn Sie die `DefinitionBody` Eigenschaft einer `AWS::Serverless::Api` Ressource verwenden, um Ihre API zu beschreiben, müssen Sie `OverrideApiAuth` with verwenden, um Ihren globalen `Authorizer` Autorisierer zu überschreiben. Weitere Informationen finden Sie unter `OverrideApiAuth`.
*Gültige Werte*: `AWS_IAM``NONE`, oder die logische ID für jeden in Ihrer AWS SAM Vorlage definierten Authorizer.  
*Typ:* Zeichenfolge  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `InvokeRole`   <a name="sam-function-apifunctionauth-invokerole"></a>
Gibt an, welche für `InvokeRole` die `AWS_IAM` Autorisierung verwendet werden soll.  
*Typ:* Zeichenfolge  
*Required*: No  
*Standardwert*: `CALLER_CREDENTIALS`  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.  
*Zusätzliche Hinweise*: `CALLER_CREDENTIALS` Mappings to`arn:aws:iam:::<user>/`, das die Anmeldeinformationen des Anrufers verwendet, um den Endpunkt aufzurufen.

`OverrideApiAuth`  <a name="sam-function-apifunctionauth-overrideapiauth"></a>
Geben Sie `true` an, ob die globale Autorisierungskonfiguration Ihrer Ressource überschrieben werden soll. `AWS::Serverless::Api` Diese Eigenschaft ist nur erforderlich, wenn Sie einen globalen Autorisierer angeben und die `DefinitionBody` Eigenschaft einer `AWS::Serverless::Api` Ressource verwenden, um Ihre API zu beschreiben.  
Wenn Sie `OverrideApiAuth` als angeben`true`, AWS SAM wird Ihr globaler Autorisierer mit allen für `ApiKeyRequired``Authorizer`, oder angegebenen Werten überschrieben. `ResourcePolicy` Daher muss bei der Verwendung `OverrideApiAuth` mindestens 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](#sam-property-function-apifunctionauth--examples--override2).
*Typ*: Boolesch  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `ResourcePolicy`   <a name="sam-function-apifunctionauth-resourcepolicy"></a>
Konfigurieren Sie die Ressourcenrichtlinie für diesen Pfad auf einer API.  
*Typ:* [ResourcePolicyStatement](sam-property-function-resourcepolicystatement.md)  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

## Beispiele
<a name="sam-property-function-apifunctionauth--examples"></a>

### Funktions-Auth
<a name="sam-property-function-apifunctionauth--examples--function-auth"></a>

Das folgende Beispiel spezifiziert die Autorisierung auf Funktionsebene.

#### YAML
<a name="sam-property-function-apifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  ApiKeyRequired: true
  Authorizer: NONE
```

### Überschreiben Sie einen globalen Autorisierer für Ihre Amazon API Gateway Gateway-REST-API
<a name="sam-property-function-apifunctionauth--examples--override"></a>

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
<a name="sam-property-function-apifunctionauth--examples--override2"></a>

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
```

# ResourcePolicyStatement
<a name="sam-property-function-resourcepolicystatement"></a>

Konfiguriert eine Ressourcenrichtlinie für alle Methoden und Pfade einer API. Weitere Informationen zu Ressourcenrichtlinien finden Sie unter [Steuern des Zugriffs auf eine API mit API-Gateway-Ressourcenrichtlinien](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) im *API Gateway Developer Guide*.

## Syntax
<a name="sam-property-function-resourcepolicystatement-syntax"></a>

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

### YAML
<a name="sam-property-function-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-function-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-function-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-function-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-function-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-function-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-function-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-function-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-function-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-function-resourcepolicystatement-sourcevpcwhitelist): List
```

## Eigenschaften
<a name="sam-property-function-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-function-resourcepolicystatement-awsaccountblacklist"></a>
Die zu blockierenden AWS Konten.  
*Typ*: Liste von Zeichenfolgen  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig AWS SAM und hat kein CloudFormation Äquivalent.

 `AwsAccountWhitelist`   <a name="sam-function-resourcepolicystatement-awsaccountwhitelist"></a>
Die AWS Konten, die zugelassen werden sollen. Ein Beispiel für die Verwendung dieser Eigenschaft finden Sie im Abschnitt Beispiele unten auf dieser Seite.  
*Typ*: Liste von Zeichenfolgen  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `CustomStatements`   <a name="sam-function-resourcepolicystatement-customstatements"></a>
Eine Liste von benutzerdefinierten Ressourcenrichtlinien-Anweisungen, die auf diese API angewendet werden sollen. Ein Beispiel für die Verwendung dieser Eigenschaft finden Sie im Abschnitt Beispiele unten auf dieser Seite.  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `IntrinsicVpcBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcblacklist"></a>
Die Liste der zu blockierenden virtuellen privaten Clouds (VPCs), wobei jede VPC als Referenz angegeben ist, z. B. als [dynamische Referenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) oder als `Ref` [intrinsische Funktion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Ein Beispiel für die Verwendung dieser Eigenschaft finden Sie im Abschnitt Beispiele unten auf dieser Seite.  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `IntrinsicVpcWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcwhitelist"></a>
Die Liste der VPCs Zulässigen, wobei jede VPC als Referenz angegeben wird, z. B. als [dynamische Referenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) oder als `Ref` [intrinsische Funktion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig AWS SAM und hat kein Äquivalent. CloudFormation 

 `IntrinsicVpceBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpceblacklist"></a>
[Die Liste der zu blockierenden VPC-Endpunkte, wobei jeder VPC-Endpunkt als Referenz angegeben ist, z. B. als [dynamische Referenz oder als intrinsische](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) Funktion. `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein Äquivalent. CloudFormation 

 `IntrinsicVpceWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcewhitelist"></a>
[Die Liste der VPC-Endpunkte, die zugelassen werden sollen, wobei jeder VPC-Endpunkt als Referenz angegeben ist, z. B. als [dynamische Referenz](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) oder als systemeigene Funktion. `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) Ein Beispiel für die Verwendung dieser Eigenschaft finden Sie im Abschnitt Beispiele unten auf dieser Seite.  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `IpRangeBlacklist`   <a name="sam-function-resourcepolicystatement-iprangeblacklist"></a>
Die IP-Adressen oder Adressbereiche, die blockiert werden sollen. Ein Beispiel für die Verwendung dieser Eigenschaft finden Sie im Abschnitt Beispiele unten auf dieser Seite.  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `IpRangeWhitelist`   <a name="sam-function-resourcepolicystatement-iprangewhitelist"></a>
Die IP-Adressen oder Adressbereiche, die zugelassen werden sollen.  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `SourceVpcBlacklist`   <a name="sam-function-resourcepolicystatement-sourcevpcblacklist"></a>
Die Quell-VPC oder die VPC-Endpoints, die blockiert werden sollen. Quell-VPC-Namen müssen mit beginnen `"vpc-"` und Quell-VPC-Endpunktnamen müssen mit beginnen. `"vpce-"` Ein Beispiel für die Verwendung dieser Eigenschaft finden Sie im Abschnitt Beispiele unten auf dieser Seite.  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

 `SourceVpcWhitelist`   <a name="sam-function-resourcepolicystatement-sourcevpcwhitelist"></a>
Die Quell-VPC oder VPC-Endpoints, die zugelassen werden sollen. Quell-VPC-Namen müssen mit beginnen `"vpc-"` und Quell-VPC-Endpunktnamen müssen mit beginnen. `"vpce-"`  
*Typ*: Liste  
*Required*: No  
*CloudFormation Kompatibilität*: Diese Eigenschaft ist einzigartig für AWS SAM und hat kein CloudFormation Äquivalent.

## Beispiele
<a name="sam-property-function-resourcepolicystatement--examples"></a>

### Beispiel für eine Ressourcenrichtlinie
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example"></a>

Das folgende Beispiel blockiert zwei IP-Adressen und eine Quell-VPC und lässt ein AWS Konto zu.

#### YAML
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  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"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```