Questa è la nuova Guida di riferimento ai modelli CloudFormation . Aggiorna i segnalibri e i link. Per informazioni su come iniziare CloudFormation, consulta la Guida AWS CloudFormation per l'utente.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS::CloudFormation: :Autenticazione
Utilizza il tipo di metadati AWS::CloudFormation::Authentication per specificare le credenziali di autenticazione per i file o le origini che indichi con il tipo di metadati AWS::CloudFormation:: Init.
Per includere le informazioni di autenticazione per un file o un'origine specificato con AWS::CloudFormation::Init, usa la proprietà uris se l'origine è un URI o la proprietà buckets se l'origine è un bucket Amazon S3. Per ulteriori informazioni sui file, consulta File. Per ulteriori informazioni sulle origini, consulta Origini.
Puoi anche specificare le informazioni di autenticazione per i file direttamente nel tipo di metadati AWS::CloudFormation::Init. La chiave dei file della risorsa contiene una proprietà denominata authentication. Puoi utilizzare la proprietà authentication per associare le informazioni di autenticazione definite in un tipo di metadati AWS::CloudFormation::Authentication direttamente con un file.
Per i file, CloudFormation cerca le informazioni di autenticazione nel seguente ordine:
-
La proprietà
authenticationdella chiaveAWS::CloudFormation::Initfiles. -
La proprietà
urisobucketsdei metadatiAWS::CloudFormation::Authentication.
Per le fonti, CloudFormation cerca le informazioni di autenticazione nella buckets proprietà uris or dei AWS::CloudFormation::Authentication metadati.
Argomenti
Sintassi
Per dichiarare questa entità nel CloudFormation modello, utilizzate la seguente sintassi:
Presta attenzione alle seguenti considerazioni quando utilizzi il tipo di metadati AWS::CloudFormation::Authentication:
-
A differenza della maggior parte CloudFormation delle risorse, il tipo di
AWS::CloudFormation::Authenticationmetadati non contiene un blocco chiamato Proprietà, ma contiene invece un elenco di blocchi denominati dall'utente, ognuno contenente le proprie proprietà di autenticazione.Non tutte le proprietà riguardano ciascun tipo di autenticazione. Per ulteriori informazioni, consulta la proprietà type.
-
A differenza della maggior parte CloudFormation delle risorse, i nomi delle
AWS::CloudFormation::Authenticationproprietà utilizzano lettere minuscole.
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
Properties
accessKeyId-
Specifica l'ID della chiave di accesso per l'autenticazione di S3.
Obbligatorio: condizionale. Può essere specificato solo se la proprietà
typeè impostata suS3.Tipo: stringa
buckets-
Un elenco di bucket Amazon S3 delimitati da virgola associati alle credenziali di autenticazione S3.
Obbligatorio: condizionale. Può essere specificato solo se la proprietà
typeè impostata suS3.Tipo: elenco di valori stringa
password-
Specifica la password per l'autenticazione di base.
Obbligatorio: condizionale. Può essere specificato solo se la proprietà type è impostata su
basic.Tipo: stringa
secretKey-
Specifica la chiave segreta per l'autenticazione S3.
Obbligatorio: condizionale. Può essere specificato solo se la proprietà
typeè impostata suS3.Tipo: stringa
type-
Specifica se lo schema di autenticazione utilizza un nome utente e una password (di base) o un ID della chiave di accesso e la chiave segreta (S3).
Se specifichi
basic, specifica le proprietàusername,passwordeuris.Se specifichi
S3, specifica le proprietà (facoltative)accessKeyId,secretKeyebuckets.Obbligatorio: sì
Valori validi:
basic|S3 uris-
Un elenco di bucket URI delimitati da virgola associati alle credenziali di autenticazione di base. L'autorizzazione è valida per l'URI specificato e qualsiasi URI più specifico. Ad esempio, se specifichi
http://www.example.com, l'autorizzazione si applicherà anche ahttp://www.example.com/test.Obbligatorio: condizionale. Può essere specificato solo se la proprietà
typeè impostata subasic.Tipo: elenco di valori stringa
username-
Specifica il nome utente per l'autenticazione di base.
Obbligatorio: condizionale. Può essere specificato solo se la proprietà type è impostata su
basic.Tipo: stringa
roleName-
Descrive il ruolo per l'autenticazione basata sui ruoli.
Importante
Questo ruolo deve essere contenuto all'interno del profilo dell'istanza che è collegato all'istanza di EC2. Un profilo dell'istanza può contenere solo un ruolo IAM.
Obbligatorio: condizionale. Può essere specificato solo se la proprietà
typeè impostata suS3.Tipo: stringa.
Esempi
Autenticazione del server Web EC2
Questo snippet modello mostra come ottenere un file da un bucket S3 privato in un'istanza EC2. Le credenziali utilizzate per l’autenticazione sono definite nei metadati AWS::CloudFormation::Authentication e i metadati AWS::CloudFormation::Init vi fanno riferimento nella sezione file.
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 ...
Specificare l'autenticazione di base e S3
L'esempio seguente di snippet modello include i tipi di autenticazione di base e 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}
Ruoli IAM
L'esempio seguente mostra come utilizzare i ruoli IAM:
-
myRoleè una risorsa AWS::IAM::Role. -
L'istanza Amazon EC2 che esegue
cfn-initè associata amyRoleattraverso un profilo dell'istanza. -
L'esempio specifica l'autenticazione utilizzando la proprietà
buckets, come nell'autenticazione Amazon S3. Puoi anche specificare l'autenticazione per nome.
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