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 la ressource AWS::CloudFormation::Authentication
pour spécifier les informations d'identification pour l'authentification des fichiers ou des sources que vous spécifiez avec la ressource AWS::CloudFormation::Init.
Pour inclure des informations d'authentification pour un fichier ou une source que vous spécifiezAWS::CloudFormation::Init
, utilisez la uris
propriété si la source est un URI ou la buckets
propriété 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 des informations d'authentification pour les fichiers directement dans la ressource AWS::CloudFormation::Init
. La clé « files » de la ressource contient une propriété nommée authentication
. Vous pouvez utiliser la propriété authentication
pour associer des informations d'authentification définies dans une ressource directement à un fichier.AWS::CloudFormation::Authentication
Pour les fichiers, AWS CloudFormation recherche les informations d'authentification dans l'ordre suivant :
-
Propriété
authentication
de la cléAWS::CloudFormation::Init
files
. -
Propriété
uris
oubuckets
de la ressourceAWS::CloudFormation::Authentication
.
Pour les sources, CloudFormation recherche les informations d'authentification dans la buckets
propriété uris
or de la AWS::CloudFormation::Authentication
ressource.
Rubriques
Syntaxe
Pour déclarer cette entité dans votre CloudFormation modèle, utilisez la syntaxe suivante :
Vous devez être conscient des considérations suivantes lors de l'utilisation du type AWS::CloudFormation::Authentication
:
-
Contrairement à la plupart CloudFormation des ressources, le
AWS::CloudFormation::Authentication
type 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.Toutes les propriétés ne s'appliquent pas toutes à chaque type d'authentification. Pour en savoir plus, consultez la propriété type.
-
Contrairement à la plupart CloudFormation des ressources, les noms de propriétés utilisent des minuscules en majuscules.
JSON
{ "Type" : "AWS::CloudFormation::Authentication" { "
String
" : { "accessKeyId" :String
, "buckets" : [String, ...
], "password" :String
, "secretKey" :String
, "type" :String
, "uris" : [String, ...
], "username" :String
, "roleName" :String
} } }
YAML
Type: 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 à ce qui est spécifié URIs et à tout autre élément plus spécifiqueURI. 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'EC2instance. Un profil d'instance ne peut contenir qu'un seul IAM rôle.
Obligatoire : selon les conditions. Peut être spécifié uniquement si la propriété
type
est définie surS3
.Type : chaîne.
Exemples
Note
Contrairement à la plupart des autres ressources, le type AWS::CloudFormation::Authentication
définit une liste des blocs nommés par l'utilisateur, chacune d'entre eux contenant des propriétés d'authentification qui utilisent la notation camel minuscule.
Rubriques
EC2authentification 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 la ressource AWS::CloudFormation::Authentication
et référencées par la ressource AWS::CloudFormation::Init
dans la section files.
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}
IAMrôles
L'exemple suivant montre comment utiliser IAM les rôles :
-
myRole
est une ressource AWS: IAM : :Role. -
L'EC2instance 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