AWS::CloudFormation::Authentication - AWS CloudFormation

Il s'agit du nouveau guide AWS CloudFormation de référence des modèles. Veuillez mettre à jour vos favoris et vos liens. Pour obtenir de l'aide pour démarrer CloudFormation, consultez le guide de AWS CloudFormation l'utilisateur.

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

AWS::CloudFormation::Authentication

Utilisez le type de AWS::CloudFormation::Authentication métadonnées pour spécifier les informations d'authentification pour les fichiers ou les sources que vous spécifiez avec le type de AWS::CloudFormation::Init métadonnées.

Pour inclure les informations d'authentification d'un fichier ou d'une source que vous spécifiez avec AWS::CloudFormation::Init, utilisez la propriété uris si la source est un URI ou la propriété buckets si la source est un compartiment Amazon S3. Pour en savoir plus sur les fichiers, consultez Dépôt de . Pour plus d'informations sur les sources, consultez Sources.

Vous pouvez également spécifier les informations d'authentification pour les fichiers directement dans le type de AWS::CloudFormation::Init métadonnées. La clé « files » de la ressource contient une propriété nommée authentication. Vous pouvez utiliser cette authentication propriété pour associer les informations d'authentification définies dans le type de AWS::CloudFormation::Authentication métadonnées directement à un fichier.

Pour les fichiers, AWS CloudFormation recherche les informations d'authentification dans l'ordre suivant :

  1. Propriété authentication de la clé AWS::CloudFormation::Init files.

  2. La buckets propriété uris or des AWS::CloudFormation::Authentication métadonnées.

Pour les sources, CloudFormation recherche les informations d'authentification dans la buckets propriété uris or des AWS::CloudFormation::Authentication métadonnées.

Syntaxe

Pour déclarer cette entité dans votre CloudFormation modèle, utilisez la syntaxe suivante :

Tenez compte des considérations suivantes lorsque vous utilisez le type de AWS::CloudFormation::Authentication métadonnées :

  • Contrairement à la plupart CloudFormation des ressources, le type de AWS::CloudFormation::Authentication métadonnées ne contient pas de bloc appelé Propriétés, mais une liste de blocs nommés par l'utilisateur, chacun contenant ses propres propriétés d'authentification.

    Les propriétés ne se rapportent pas toutes à chaque type d'authentification. Pour plus d'informations, consultez la propriété type.

  • Contrairement à la plupart CloudFormation des ressources, les noms de AWS::CloudFormation::Authentication propriétés utilisent des minuscules en majuscules.

JSON

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

YAML

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

Propriétés

accessKeyId

Spécifie l'ID de clé d'accès pour l'authentification S3.

Obligatoire : selon les conditions. Peut être spécifié uniquement si la propriété type est définie sur S3.

Type : chaîne

buckets

Liste CSV des compartiments Amazon S3 à associer aux informations d'identification de l'authentification S3.

Obligatoire : selon les conditions. Peut être spécifié uniquement si la propriété type est définie sur S3.

Type : liste de valeurs de chaîne

password

Spécifie le mot de passe pour l'authentification de base.

Obligatoire : selon les conditions. Peut être spécifié uniquement si la propriété « type » est définie sur basic.

Type : chaîne

secretKey

Spécifie la clé secrète pour l'authentification S3.

Obligatoire : selon les conditions. Peut être spécifié uniquement si la propriété type est définie sur S3.

Type : chaîne

type

Spécifie si le schéma d'authentification utilise un nom d'utilisateur et un mot de passe (de base) ou un identifiant de clé d'accès et une clé secrète (S3).

Si vous définissez basic, spécifiez les propriétés username, password et uris.

Si vous définissez S3, spécifiez les propriétés accessKeyId, secretKey et buckets (facultatives).

Obligatoire : oui

Valeurs valides : basic | S3

uris

Une liste séparée par des virgules à associer URIs aux informations d'authentification de base. L'autorisation s'applique à l'URI spécifié URIs et à tout autre URI spécifique. Par exemple, si vous spécifiez http://www.example.com, l'autorisation s'applique également à http://www.example.com/test.

Obligatoire : selon les conditions. Peut être spécifié uniquement si la propriété type est définie sur basic.

Type : liste de valeurs de chaîne

username

Spécifie le nom d'utilisateur pour l'authentification basic.

Obligatoire : selon les conditions. Peut être spécifié uniquement si la propriété « type » est définie sur basic.

Type : chaîne

roleName

Décrit le rôle pour l'authentification basée sur les rôles.

Important

Ce rôle doit figurer dans le profil d'instance attaché à l' EC2 instance. Un profil d'instance ne peut contenir qu'un seul rôle IAM.

Obligatoire : selon les conditions. Peut être spécifié uniquement si la propriété type est définie sur S3.

Type : chaîne.

Exemples

EC2 authentification du serveur Web

Cet extrait de modèle montre comment obtenir un fichier à partir d'un compartiment S3 privé au sein d'une EC2 instance. Les informations d'identification utilisées pour l'authentification sont définies dans les AWS::CloudFormation::Authentication métadonnées et référencées par les AWS::CloudFormation::Init métadonnées de la section des fichiers.

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

Spécification de l'authentification Basic et de l'authentification S3

L'exemple d'extrait de modèle suivant inclut à la fois les types d'authentification basic et 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}

Rôles IAM

L'exemple suivant montre comment utiliser les rôles IAM:

  • myRole est une AWS::IAM::Role.

  • L' EC2 instance Amazon qui s'exécute cfn-init est associée myRole via un profil d'instance.

  • L'exemple spécifie l'authentification à l'aide de la propriété buckets, comme dans l'authentification Amazon S3. Vous pouvez également spécifier l'authentification par nom.

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