

Questa è la nuova *Guida di riferimento ai modelli CloudFormation *. Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la [Guida AWS CloudFormation per l'utente](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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à.

# `AWS::CloudFormation::Authentication`
<a name="aws-resource-authentication"></a>

Utilizza il tipo di metadati `AWS::CloudFormation::Authentication` per specificare le credenziali di autenticazione per i file o le origini che indichi con il tipo di metadati [`AWS::CloudFormation::Init`](aws-resource-init.md).

Per includere le informazioni di autenticazione per un file o un'origine specificato con `AWS::CloudFormation::Init`, usa la proprietà `uris` se l'origine è un URI o la proprietà `buckets` se l'origine è un bucket Amazon S3. Per ulteriori informazioni sui file, consulta [File](aws-resource-init.md#aws-resource-init-files). Per ulteriori informazioni sulle origini, consulta [Origini](aws-resource-init.md#aws-resource-init-sources).

Puoi anche specificare le informazioni di autenticazione per i file direttamente nel tipo di metadati `AWS::CloudFormation::Init`. La chiave dei file della risorsa contiene una proprietà denominata `authentication`. Puoi utilizzare la proprietà `authentication` per associare le informazioni di autenticazione definite in un tipo di metadati `AWS::CloudFormation::Authentication` direttamente con un file.

Per i file, CloudFormation cerca le informazioni di autenticazione nel seguente ordine:

1. La proprietà `authentication` della chiave `AWS::CloudFormation::Init` `files`.

1. La proprietà `uris` o `buckets` dei metadati `AWS::CloudFormation::Authentication`.

Per le fonti, CloudFormation cerca le informazioni di autenticazione nella `buckets` proprietà `uris` o dei `AWS::CloudFormation::Authentication` metadati.

**Topics**
+ [Sintassi](#aws-resource-cloudformation-authentication-syntax)
+ [Properties](#w2aac19c23c15c19)
+ [Esempi](#aws-resource-authentication-examples)

## Sintassi
<a name="aws-resource-cloudformation-authentication-syntax"></a>

Per dichiarare questa entità nel CloudFormation modello, utilizzate la seguente sintassi:

Presta attenzione alle seguenti considerazioni quando utilizzi il tipo di metadati `AWS::CloudFormation::Authentication`:
+ A differenza della maggior parte CloudFormation delle risorse, il tipo di `AWS::CloudFormation::Authentication` metadati non contiene un blocco chiamato *Proprietà*, ma contiene invece un elenco di blocchi denominati dall'utente, ciascuno contenente le proprie proprietà di autenticazione.

  Non tutte le proprietà riguardano ciascun tipo di autenticazione. Per ulteriori informazioni, consulta la proprietà [type](#cfn-cloudformation-authentication-type).
+ A differenza della maggior parte CloudFormation delle risorse, i nomi delle `AWS::CloudFormation::Authentication` proprietà utilizzano lettere maiuscole e minuscole.

### JSON
<a name="aws-resource-cloudformation-authentication-syntax.json"></a>

```
{
  "AWS::CloudFormation::Authentication" {
    "String" : {
      "accessKeyId" : String,
      "buckets" : [ String, ... ],
      "password" : String,
      "secretKey" : String,
      "type" : String,
      "uris" : [ String, ... ],
      "username" : String,
      "roleName" : String
    }
  }
}
```

### YAML
<a name="aws-resource-cloudformation-authentication-syntax.yaml"></a>

```
AWS::CloudFormation::Authentication
String:
  accessKeyId: String
  buckets:
    - String
  password: String
  secretKey: String
  type: String
  uris:
    - String
  username: String
  roleName: String
```

## Properties
<a name="w2aac19c23c15c19"></a>

`accessKeyId`  <a name="cfn-cloudformation-authentication-accesskeyid"></a>
Specifica l'ID della chiave di accesso per l'autenticazione di S3.  
*Obbligatorio:* condizionale. Può essere specificato solo se la proprietà `type` è impostata su `S3`.  
▬*Tipo:* stringa

`buckets`  <a name="cfn-cloudformation-authentication-buckets"></a>
Un elenco di bucket Amazon S3 delimitati da virgola associati alle credenziali di autenticazione S3.  
*Obbligatorio:* condizionale. Può essere specificato solo se la proprietà `type` è impostata su `S3`.  
*Tipo*: elenco di valori stringa

`password`  <a name="cfn-cloudformation-authentication-password"></a>
Specifica la password per l'autenticazione di base.  
*Obbligatorio:* condizionale. Può essere specificato solo se la proprietà type è impostata su `basic`.  
▬*Tipo:* stringa

`secretKey`  <a name="cfn-cloudformation-authentication-secretkey"></a>
Specifica la chiave segreta per l'autenticazione S3.  
*Obbligatorio:* condizionale. Può essere specificato solo se la proprietà `type` è impostata su `S3`.  
▬*Tipo:* stringa

`type`  <a name="cfn-cloudformation-authentication-type"></a>
Specifica se lo schema di autenticazione utilizza un nome utente e una password (di base) o un ID della chiave di accesso e la chiave segreta (S3).  
Se specifichi `basic`, specifica le proprietà `username`, `password`e `uris`.  
Se specifichi `S3`, specifica le proprietà (facoltative) `accessKeyId`, `secretKey`e `buckets`.  
*Obbligatorio:* sì  
*Valori validi*: `basic` \$1 `S3`

`uris`  <a name="cfn-cloudformation-authentication-uris"></a>
Un elenco delimitato da virgole da associare URIs alle credenziali di autenticazione di base. L'autorizzazione si applica all'URI specificato URIs e a qualsiasi URI più specifico. Ad esempio, se specifichi `http://www.example.com`, l'autorizzazione si applicherà anche a `http://www.example.com/test`.  
*Obbligatorio:* condizionale. Può essere specificato solo se la proprietà `type` è impostata su `basic`.  
*Tipo*: elenco di valori stringa

`username`  <a name="cfn-cloudformation-authentication-username"></a>
Specifica il nome utente per l'autenticazione di base.  
*Obbligatorio:* condizionale. Può essere specificato solo se la proprietà type è impostata su `basic`.  
▬*Tipo:* stringa

`roleName`  <a name="cfn-cloudformation-authentication-rolename"></a>
Descrive il ruolo per l'autenticazione basata sui ruoli.  
Questo ruolo deve essere contenuto nel profilo dell'istanza collegato all' EC2 istanza. Un profilo dell'istanza può contenere solo un ruolo IAM.
*Obbligatorio:* condizionale. Può essere specificato solo se la proprietà `type` è impostata su `S3`.  
*Tipo:* stringa.

## Esempi
<a name="aws-resource-authentication-examples"></a>

**Topics**
+ [EC2 autenticazione del server web](#aws-resource-cloudformation-authentication-example1)
+ [Specificare l'autenticazione di base e S3](#aws-resource-cloudformation-authentication-example2)
+ [Ruoli IAM](#aws-resource-cloudformation-authentication-example3)

### EC2 autenticazione del server web
<a name="aws-resource-cloudformation-authentication-example1"></a>

Questo frammento di modello mostra come ottenere un file da un bucket S3 privato all'interno di un'istanza. EC2 Le credenziali utilizzate per l’autenticazione sono definite nei metadati `AWS::CloudFormation::Authentication` e i metadati `AWS::CloudFormation::Init` vi fanno riferimento nella sezione *file*.

#### JSON
<a name="aws-resource-cloudformation-authentication-example1.json"></a>

```
"WebServer": {
   "Type": "AWS::EC2::Instance",
   "DependsOn" : "BucketPolicy",
   "Metadata" : {
      "AWS::CloudFormation::Init" : {
         "config" : {
            "packages" : { "yum" : { "httpd" : [] } },
            "files" : {
               "/var/www/html/index.html" : {
                  "source" : {
                     "Fn::Join" : [
                        "", [ "http://s3.amazonaws.com/", { "Ref" : "BucketName" }, "/index.html" ]
                     ]
                  },
                  "mode"   : "000400",
                  "owner"  : "apache",
                  "group"  : "apache",
                  "authentication" : "S3AccessCreds"
               }
            },
            "services" : {
               "sysvinit" : {
                  "httpd" : { "enabled" : "true", "ensureRunning" : "true" }
               }
            }
         }
      },
      "AWS::CloudFormation::Authentication" : {
         "S3AccessCreds" : {
            "type" : "S3",
            "accessKeyId" : { "Ref" : "AccessKeyID" },
            "secretKey" : { "Ref" : "SecretAccessKey" }
         }
      }
   },
   "Properties": {
   EC2 Resource Properties ...
   }
}
```

#### YAML
<a name="aws-resource-cloudformation-authentication-example1.yaml"></a>

```
WebServer: 
  Type: AWS::EC2::Instance
  DependsOn: BucketPolicy
  Metadata: 
    AWS::CloudFormation::Init: 
      config: 
        packages: 
          yum: 
            httpd: []
        files: 
          /var/www/html/index.html: 
            source: !Join
              - ''
              - - 'http://s3.amazonaws.com/'
                - !Ref BucketName
                - '/index.html'
            mode: '000400'
            owner: apache
            group: apache
            authentication: S3AccessCreds
        services: 
          sysvinit: 
            httpd: 
              enabled: 'true'
              ensureRunning: 'true'
    AWS::CloudFormation::Authentication: 
      S3AccessCreds: 
        type: S3
        accessKeyId: !Ref AccessKeyID
        secretKey: !Ref SecretAccessKey
  Properties: 
  EC2 Resource Properties ...
```

### Specificare l'autenticazione di base e S3
<a name="aws-resource-cloudformation-authentication-example2"></a>

L'esempio seguente di snippet modello include i tipi di autenticazione *di base* e *S3*.

#### JSON
<a name="aws-resource-cloudformation-authentication-example2.json"></a>

```
"AWS::CloudFormation::Authentication" : {
   "testBasic" : {
      "type" : "basic",
      "username" : { "Ref" : "UserName" },
      "password" : { "Ref" : "Password" },
      "uris" : [ "example.com/test" ]
   },
   "testS3" : {
      "type" : "S3",
      "accessKeyId" : { "Ref" : "AccessKeyID" },
      "secretKey" : { "Ref" : "SecretAccessKey" },
      "buckets" : [{ "Fn::Sub": "${BucketName}" }]
   }
}
```

#### YAML
<a name="aws-resource-cloudformation-authentication-example2.yaml"></a>

```
AWS::CloudFormation::Authentication: 
  testBasic: 
    type: basic
    username: !Ref UserName
    password: !Ref Password
    uris: 
      - 'example.com/test'
  testS3: 
    type: S3
    accessKeyId: !Ref AccessKeyID
    secretKey: !Ref SecretAccessKey
    buckets: 
      - !Sub ${BucketName}
```

### Ruoli IAM
<a name="aws-resource-cloudformation-authentication-example3"></a>

L'esempio seguente mostra come utilizzare i ruoli IAM:
+ `myRole` è una risorsa [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-iam-role.html).
+ L' EC2 istanza Amazon in esecuzione `cfn-init` viene associata `myRole` tramite un profilo di istanza.
+ L'esempio specifica l'autenticazione utilizzando la proprietà `buckets`, come nell'autenticazione Amazon S3. Puoi anche specificare l'autenticazione per nome.

#### JSON
<a name="aws-resource-cloudformation-authentication-example3.json"></a>

```
"AWS::CloudFormation::Authentication": {
    "rolebased" : {
        "type": "S3",
        "buckets": [{ "Fn::Sub": "${BucketName}" }],
        "roleName": { "Ref": "myRole" }
    }
}
```

#### YAML
<a name="aws-resource-cloudformation-authentication-example3.yaml"></a>

```
AWS::CloudFormation::Authentication:
  rolebased:
    type: S3
    buckets:
      - !Sub ${BucketName}
    roleName: !Ref myRole
```