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.
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
Verwenden Sie den Metadatentyp AWS::CloudFormation::Authentication, um Authentifizierungsdaten für Dateien oder Quellen anzugeben, die Sie mit dem Metadatentyp AWS::CloudFormation::Init 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. Weitere Informationen zu Quellen finden Sie unter Quellen.
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
-
Die
authentication-Eigenschaft desAWS::CloudFormation::Init-Schlüssels.files -
Die Eigenschaft
urisoderbucketsder MetadatenAWS::CloudFormation::Authentication.
Sucht bei Quellen nach Authentifizierungsinformationen in der buckets Eigenschaft uris or der AWS::CloudFormation::Authentication Metadaten. CloudFormation
Syntax
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::AuthenticationMetadatentyp 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 .
-
Im Gegensatz zu den meisten CloudFormation Ressourcen werden
AWS::CloudFormation::AuthenticationEigenschaftsnamen in Kamelkleinbuchstaben geschrieben.
JSON
{ "AWS::CloudFormation::Authentication" { "String" : { "accessKeyId" :String, "buckets" : [String, ...], "password" :String, "secretKey" :String, "type" :String, "uris" : [String, ...], "username" :String, "roleName" :String} } }
YAML
AWS::CloudFormation::AuthenticationString: accessKeyId:Stringbuckets: -Stringpassword:StringsecretKey:Stringtype:Stringuris: -Stringusername:StringroleName:String
Eigenschaften
accessKeyId-
Gibt die Zugriffsschlüssel-ID für die S3-Authentifizierung an.
Erforderlich: Bedingt. Kann nur angegeben werden, wenn die Eigenschaft
typeaufS3festgelegt ist.Typ: Zeichenfolge
buckets-
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
typeaufS3festgelegt ist.Typ: Liste von Zeichenfolgenwerten
password-
Gibt das Passwort für die Authentifizierung an.
Erforderlich: Bedingt. Kann nur angegeben werden, wenn die Eigenschaft "type" auf
basicfestgelegt ist.Typ: Zeichenfolge
secretKey-
Gibt den geheimen Schlüssel für die S3-Authentifizierung an.
Erforderlich: Bedingt. Kann nur angegeben werden, wenn die Eigenschaft
typeaufS3festgelegt ist.Typ: Zeichenfolge
type-
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
basicangeben, müssen Sie die Eigenschaftenusername,passwordundurisangeben.Wenn Sie
S3angeben, müssen Sie die EigenschaftenaccessKeyId,secretKeyundbuckets(optional) angeben.Erforderlich: Ja
Gültige Werte:
basic|S3 uris-
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.comangeben, gilt die Autorisierung auch fürhttp://www.example.com/test.Erforderlich: Bedingt. Kann nur angegeben werden, wenn die Eigenschaft
typeaufbasicfestgelegt ist.Typ: Liste von Zeichenfolgenwerten
username-
Gibt den Benutzernamen für die Authentifizierung an.
Erforderlich: Bedingt. Kann nur angegeben werden, wenn die Eigenschaft "type" auf
basicfestgelegt ist.Typ: Zeichenfolge
roleName-
Beschreibt die Rolle für eine auf Rollen basierende Authentifizierung.
Wichtig
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
typeaufS3festgelegt ist.Typ: Zeichenfolge.
Beispiele
EC2 Webserver-Authentifizierung
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
"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
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
Das folgende Beispiel eines Vorlagenausschnitt enthält die Authentifizierungstypen basic und S3.
JSON
"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
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
Im folgenden Beispiel wird gezeigt, wie IAM-Rollen verwendet werden:
-
myRoleist eine AWS::IAM::Role-Ressource. -
Die EC2 ausgeführte Amazon-Instance
cfn-initistmyRoleü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
"AWS::CloudFormation::Authentication": { "rolebased" : { "type": "S3", "buckets": [{ "Fn::Sub": "${BucketName}" }], "roleName": { "Ref": "myRole" } } }
YAML
AWS::CloudFormation::Authentication: rolebased: type: S3 buckets: - !Sub ${BucketName} roleName: !Ref myRole