

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Configura l'autorizzazione a livello di evento, per un'API, un percorso e un metodo specifici.

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

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

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

 `ApiKeyRequired`   <a name="sam-function-apifunctionauth-apikeyrequired"></a>
Richiede una chiave API per questa API, percorso e metodo.  
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `AuthorizationScopes`   <a name="sam-function-apifunctionauth-authorizationscopes"></a>
Gli ambiti di autorizzazione da applicare a questa API, percorso e metodo.  
Gli ambiti specificati sostituiranno tutti gli ambiti applicati dalla `DefaultAuthorizer` proprietà, se l'hai specificata.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `Authorizer`   <a name="sam-function-apifunctionauth-authorizer"></a>
Il `Authorizer` per una funzione specifica.  
Se hai specificato un autorizzatore globale per la tua `AWS::Serverless::Api` risorsa, puoi sovrascrivere l'autorizzatore impostando su. `Authorizer` `NONE` Per vedere un esempio, consulta [Sostituisci un autorizzatore globale per la tua API REST di Amazon API Gateway](#sam-property-function-apifunctionauth--examples--override).  
Se utilizzi la `DefinitionBody` proprietà di una `AWS::Serverless::Api` risorsa per descrivere la tua API, devi usare `OverrideApiAuth` with `Authorizer` per sovrascrivere l'autorizzazione globale. Per ulteriori informazioni, consulta `OverrideApiAuth`.
*Valori validi*: `AWS_IAM``NONE`, o l'ID logico per qualsiasi autorizzatore definito nel modello. AWS SAM   
▬*Tipo:* stringa  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `InvokeRole`   <a name="sam-function-apifunctionauth-invokerole"></a>
Specifica l'uso `InvokeRole` per l'`AWS_IAM`autorizzazione.  
▬*Tipo:* stringa  
*Obbligatorio:* no  
*Default*: `CALLER_CREDENTIALS`  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.  
*Note aggiuntive*: `CALLER_CREDENTIALS` maps to`arn:aws:iam:::<user>/`, che utilizza le credenziali del chiamante per richiamare l'endpoint.

`OverrideApiAuth`  <a name="sam-function-apifunctionauth-overrideapiauth"></a>
Specificate come `true` sovrascrivere la configurazione di autorizzazione globale della risorsa. `AWS::Serverless::Api` Questa proprietà è richiesta solo se si specifica un autorizzatore globale e si utilizza la `DefinitionBody` proprietà di una `AWS::Serverless::Api` risorsa per descrivere l'API.  
Quando specifichi `OverrideApiAuth` as`true`, AWS SAM sostituirà l'autorizzazione globale con tutti i valori forniti per`ApiKeyRequired`, `Authorizer` o. `ResourcePolicy` Pertanto, è necessario specificare almeno una di queste proprietà quando si utilizza. `OverrideApiAuth` Per vedere un esempio, consulta [Sostituisci un autorizzatore globale quando viene specificato for DefinitionBody AWS::Serverless::Api](#sam-property-function-apifunctionauth--examples--override2).
*Tipo*: Booleano  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `ResourcePolicy`   <a name="sam-function-apifunctionauth-resourcepolicy"></a>
Configura la politica delle risorse per questo percorso su un'API.  
*Tipo:* [ResourcePolicyStatement](sam-property-function-resourcepolicystatement.md)  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

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

### Autenticazione della funzione
<a name="sam-property-function-apifunctionauth--examples--function-auth"></a>

L'esempio seguente specifica l'autorizzazione a livello di funzione.

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

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

### Sostituisci un autorizzatore globale per la tua API REST di Amazon API Gateway
<a name="sam-property-function-apifunctionauth--examples--override"></a>

Puoi specificare un autorizzatore globale per la tua risorsa. `AWS::Serverless::Api` Di seguito è riportato un esempio che configura un autorizzatore globale predefinito:

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

Per sovrascrivere l'autorizzatore predefinito per la tua AWS Lambda funzione, puoi specificare as. `Authorizer` `NONE` Di seguito è riportato un esempio:

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

### Sostituisci un autorizzatore globale quando viene specificato for DefinitionBody AWS::Serverless::Api
<a name="sam-property-function-apifunctionauth--examples--override2"></a>

Quando si utilizza la `DefinitionBody` proprietà per descrivere la `AWS::Serverless::Api` risorsa, il metodo override precedente non funziona. Di seguito è riportato un esempio di utilizzo della `DefinitionBody` proprietà per una `AWS::Serverless::Api` risorsa:

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

Per sovrascrivere l'autorizzatore globale, utilizzate la `OverrideApiAuth` proprietà. Di seguito è riportato un esempio che utilizza `OverrideApiAuth` per sostituire l'autorizzatore globale con il valore fornito per: `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>

Configura una politica delle risorse per tutti i metodi e i percorsi di un'API. Per ulteriori informazioni sulle politiche delle risorse, consulta [Controllare l'accesso a un'API con le politiche delle risorse di API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html) nella *Guida per sviluppatori di API Gateway*.

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

Per dichiarare questa entità nel tuo modello AWS Serverless Application Model (AWS SAM), usa la seguente sintassi.

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

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

 `AwsAccountBlacklist`   <a name="sam-function-resourcepolicystatement-awsaccountblacklist"></a>
Gli AWS account da bloccare.  
*Tipo*: elenco di String  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `AwsAccountWhitelist`   <a name="sam-function-resourcepolicystatement-awsaccountwhitelist"></a>
Gli AWS account da consentire. Per un esempio di utilizzo di questa proprietà, consulta la sezione Esempi in fondo a questa pagina.  
*Tipo*: elenco di String  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `CustomStatements`   <a name="sam-function-resourcepolicystatement-customstatements"></a>
Un elenco di istruzioni personalizzate sulla politica delle risorse da applicare a questa API. Per un esempio di utilizzo di questa proprietà, consulta la sezione Esempi in fondo a questa pagina.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `IntrinsicVpcBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcblacklist"></a>
L'elenco dei cloud privati virtuali (VPCs) da bloccare, in cui ogni VPC è specificato come riferimento, ad esempio un [riferimento dinamico o una funzione `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) [intrinseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html). Per un esempio di utilizzo di questa proprietà, consultate la sezione Esempi in fondo a questa pagina.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `IntrinsicVpcWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcwhitelist"></a>
L'elenco di VPCs to allow, in cui ogni VPC è specificato come riferimento, ad esempio un [riferimento dinamico](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o una funzione `Ref` [intrinseca](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html).  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `IntrinsicVpceBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpceblacklist"></a>
[L'elenco degli endpoint VPC da bloccare, in cui ogni endpoint VPC è specificato come riferimento, ad esempio un riferimento [dinamico](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la funzione intrinseca. `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

 `IntrinsicVpceWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcewhitelist"></a>
[L'elenco degli endpoint VPC da consentire, in cui ogni endpoint VPC è specificato come riferimento, ad esempio un riferimento [dinamico](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) o la funzione intrinseca. `Ref`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) Per un esempio di utilizzo di questa proprietà, consulta la sezione Esempi in fondo a questa pagina.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `IpRangeBlacklist`   <a name="sam-function-resourcepolicystatement-iprangeblacklist"></a>
Gli indirizzi IP o gli intervalli di indirizzi da bloccare. Per un esempio di utilizzo di questa proprietà, consulta la sezione Esempi nella parte inferiore di questa pagina.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `IpRangeWhitelist`   <a name="sam-function-resourcepolicystatement-iprangewhitelist"></a>
Gli indirizzi IP o gli intervalli di indirizzi da consentire.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `SourceVpcBlacklist`   <a name="sam-function-resourcepolicystatement-sourcevpcblacklist"></a>
Gli endpoint VPC o VPC di origine da bloccare. I nomi dei VPC di origine devono iniziare con `"vpc-"` e i nomi degli endpoint VPC di origine devono iniziare con. `"vpce-"` Per un esempio di utilizzo di questa proprietà, consulta la sezione Esempi nella parte inferiore di questa pagina.  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un CloudFormation equivalente.

 `SourceVpcWhitelist`   <a name="sam-function-resourcepolicystatement-sourcevpcwhitelist"></a>
Gli endpoint VPC o VPC di origine da consentire. I nomi dei VPC di origine devono iniziare con `"vpc-"` e i nomi degli endpoint VPC di origine devono iniziare con. `"vpce-"`  
Tipo: elenco  
*Obbligatorio:* no  
*CloudFormation compatibilità*: questa proprietà è unica AWS SAM e non ha un equivalente. CloudFormation 

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

### Esempio di politica delle risorse
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example"></a>

L'esempio seguente blocca due indirizzi IP e un VPC di origine e consente un AWS account.

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