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 :
-
Propriété
authentication
de la cléAWS::CloudFormation::Init
files
. -
La
buckets
propriétéuris
or desAWS::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.
Rubriques
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 surS3
.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 surS3
.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 surS3
.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ésusername
,password
eturis
.Si vous définissez
S3
, spécifiez les propriétésaccessKeyId
,secretKey
etbuckets
(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 surbasic
.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 surS3
.Type : chaîne.
Exemples
Rubriques
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éemyRole
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