

Dies ist das neue *CloudFormation Template Reference Guide*. Bitte aktualisieren Sie Ihre Lesezeichen und Links. Hilfe zu den ersten CloudFormation Schritten finden Sie im [AWS CloudFormation Benutzerhandbuch](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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.

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

Verwenden Sie den Metadatentyp `AWS::CloudFormation::Authentication`, um Authentifizierungsdaten für Dateien oder Quellen anzugeben, die Sie mit dem Metadatentyp [`AWS::CloudFormation::Init`](aws-resource-init.md) spezifizieren.

Um Authentifizierungsinformationen für eine Datei oder Quelle zu berücksichtigen, die Sie mit `AWS::CloudFormation::Init` angegeben haben, verwenden Sie die `uris`-Eigenschaft, wenn die Quelle ein URI ist, oder die `buckets`-Eigenschaft, wenn die Quelle ein Amazon S3-Bucket ist. Weitere Informationen über Dateien finden Sie unter [Dateien](aws-resource-init.md#aws-resource-init-files). Weitere Informationen zu Quellen finden Sie unter [Quellen](aws-resource-init.md#aws-resource-init-sources).

Sie können die Authentifizierungsinformationen für Dateien auch direkt im Metadatentyp `AWS::CloudFormation::Init` angeben. Der Dateischlüssel der Ressource enthält eine Eigenschaft mit dem Namen `authentication`. Sie können die Eigenschaft `authentication` verwenden, um die im Metadatentyp `AWS::CloudFormation::Authentication` definierten Authentifizierungsinformationen direkt mit einer Datei zu verknüpfen.

Sucht bei Dateien in der folgenden Reihenfolge nach Authentifizierungsinformationen: CloudFormation 

1. Die `authentication`-Eigenschaft des `AWS::CloudFormation::Init`-Schlüssels.`files`

1. Die Eigenschaft `uris` oder `buckets` der Metadaten `AWS::CloudFormation::Authentication` .

Sucht bei Quellen nach Authentifizierungsinformationen in der `buckets` Eigenschaft `uris` or der `AWS::CloudFormation::Authentication` Metadaten. CloudFormation 

**Topics**
+ [Syntax](#aws-resource-cloudformation-authentication-syntax)
+ [Eigenschaften](#w2aac19c23c15c19)
+ [Beispiele](#aws-resource-authentication-examples)

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

Verwenden Sie die folgende Syntax, um diese Entität in Ihrer CloudFormation Vorlage zu deklarieren:

Beachten Sie bei der Verwendung des Metadatentyps `AWS::CloudFormation::Authentication` die folgenden Punkte:
+ Im Gegensatz zu den meisten CloudFormation Ressourcen enthält der `AWS::CloudFormation::Authentication` Metadatentyp keinen Block mit dem Namen *Eigenschaften*, sondern eine Liste von Blöcken mit Benutzernamen, von denen jeder seine eigenen Authentifizierungseigenschaften enthält.

  Nicht alle Eigenschaften beziehen sich auf jeden Authentifizierungstyp. Weitere Informationen finden Sie unter der Eigenschaft [Typ](#cfn-cloudformation-authentication-type) .
+ Im Gegensatz zu den meisten CloudFormation Ressourcen werden `AWS::CloudFormation::Authentication` Eigenschaftsnamen in Kamelkleinbuchstaben geschrieben.

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

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

`accessKeyId`  <a name="cfn-cloudformation-authentication-accesskeyid"></a>
Gibt die Zugriffsschlüssel-ID für die S3-Authentifizierung an.  
*Erforderlich:* Bedingt. Kann nur angegeben werden, wenn die Eigenschaft `type` auf `S3` festgelegt ist.  
*Typ:* Zeichenfolge

`buckets`  <a name="cfn-cloudformation-authentication-buckets"></a>
Eine durch Komma getrennte Liste mit Amazon S3-Buckets, die den S3-Authentifizierungsinformationen zugewiesen werden müssen.  
*Erforderlich:* Bedingt. Kann nur angegeben werden, wenn die Eigenschaft `type` auf `S3` festgelegt ist.  
*Typ*: Liste von Zeichenfolgenwerten

`password`  <a name="cfn-cloudformation-authentication-password"></a>
Gibt das Passwort für die Authentifizierung an.  
*Erforderlich:* Bedingt. Kann nur angegeben werden, wenn die Eigenschaft "type" auf `basic` festgelegt ist.  
*Typ:* Zeichenfolge

`secretKey`  <a name="cfn-cloudformation-authentication-secretkey"></a>
Gibt den geheimen Schlüssel für die S3-Authentifizierung an.  
*Erforderlich:* Bedingt. Kann nur angegeben werden, wenn die Eigenschaft `type` auf `S3` festgelegt ist.  
*Typ:* Zeichenfolge

`type`  <a name="cfn-cloudformation-authentication-type"></a>
Gibt an, ob das Authentifizierungsschema einen Benutzernamen und ein Passwort (basic) oder eine Zugriffsschlüssel-ID und einen geheimen Schlüssel (S3) verwendet.  
Wenn Sie `basic` angeben, müssen Sie die Eigenschaften `username`, `password` und `uris` angeben.  
Wenn Sie `S3` angeben, müssen Sie die Eigenschaften `accessKeyId`, `secretKey` und `buckets` (optional) angeben.  
*Erforderlich*: Ja  
*Gültige Werte*: `basic` \| `S3`

`uris`  <a name="cfn-cloudformation-authentication-uris"></a>
Eine kommagetrennte Liste von Dateien, die URIs den Basisauthentifizierungsdaten zugeordnet werden sollen. Die Autorisierung gilt für den angegebenen URIs und jeden spezifischeren URI. Wenn Sie beispielsweise `http://www.example.com` angeben, gilt die Autorisierung auch für `http://www.example.com/test`.  
*Erforderlich:* Bedingt. Kann nur angegeben werden, wenn die Eigenschaft `type` auf `basic` festgelegt ist.  
*Typ*: Liste von Zeichenfolgenwerten

`username`  <a name="cfn-cloudformation-authentication-username"></a>
Gibt den Benutzernamen für die Authentifizierung an.  
*Erforderlich:* Bedingt. Kann nur angegeben werden, wenn die Eigenschaft "type" auf `basic` festgelegt ist.  
*Typ:* Zeichenfolge

`roleName`  <a name="cfn-cloudformation-authentication-rolename"></a>
Beschreibt die Rolle für eine auf Rollen basierende Authentifizierung.  
Diese Rolle muss in dem Instanzprofil enthalten sein, das der EC2 Instanz angehängt ist. Ein Instance-Profil kann nur eine IAM-Rolle enthalten.
*Erforderlich:* Bedingt. Kann nur angegeben werden, wenn die Eigenschaft `type` auf `S3` festgelegt ist.  
*Typ:* Zeichenfolge.

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

**Topics**
+ [EC2 Webserver-Authentifizierung](#aws-resource-cloudformation-authentication-example1)
+ [Angabe der Basic- und S3-Authentifizierung](#aws-resource-cloudformation-authentication-example2)
+ [IAM-Rollen](#aws-resource-cloudformation-authentication-example3)

### EC2 Webserver-Authentifizierung
<a name="aws-resource-cloudformation-authentication-example1"></a>

Dieser Vorlagenausschnitt zeigt, wie Sie eine Datei aus einem privaten S3-Bucket innerhalb einer EC2 Instanz abrufen. Die für die Authentifizierung verwendeten Anmeldeinformationen werden in den `AWS::CloudFormation::Authentication`-Metadaten definiert und von den `AWS::CloudFormation::Init`-Metadaten im Abschnitt-*Dateien* referenziert.

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

### Angabe der Basic- und S3-Authentifizierung
<a name="aws-resource-cloudformation-authentication-example2"></a>

Das folgende Beispiel eines Vorlagenausschnitt enthält die Authentifizierungstypen *basic* und *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}
```

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

Im folgenden Beispiel wird gezeigt, wie IAM-Rollen verwendet werden:
+ `myRole` ist eine [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-iam-role.html)-Ressource.
+ Die EC2 ausgeführte Amazon-Instance `cfn-init` ist `myRole` über ein Instance-Profil verknüpft.
+ Das Beispiel zeigt, wie bei der Amazon S3-Authentifizierung, die Authentifizierung mit der `buckets`-Eigenschaft. Sie können auch die Authentifizierung mit Namen angeben.

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