AWS::CloudFormation::Authentication - AWS CloudFormation

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::Authentication

Utilizza la risorsa AWS::CloudFormation::Authentication per specificare le credenziali di autenticazione per i file o le origini che indici con la risorsa AWS::CloudFormation::Init.

Per includere le informazioni di autenticazione per un file o una fonte con cui specifichiAWS::CloudFormation::Init, utilizza la uris proprietà se l'origine è una URI o la buckets proprietà 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 nella risorsa 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 una risorsa direttamente con un file.AWS::CloudFormation::Authentication

Per i file, AWS CloudFormation cerca le informazioni di autenticazione nel seguente ordine:

  1. La proprietà authentication della chiave AWS::CloudFormation::Init files.

  2. La proprietà uris o buckets della risorsa AWS::CloudFormation::Authentication.

Per le fonti, CloudFormation cerca le informazioni di autenticazione nella buckets proprietà uris o della AWS::CloudFormation::Authentication risorsa.

Sintassi

Per dichiarare questa entità nel tuo CloudFormation modello, usa la seguente sintassi:

È necessario essere a conoscenza delle seguenti considerazioni quando si usa il tipo AWS::CloudFormation::Authentication:

  • A differenza della maggior parte CloudFormation delle risorse, il AWS::CloudFormation::Authentication tipo non contiene un blocco chiamato Proprietà, ma contiene invece un elenco di blocchi denominati dall'utente, ciascuno contenente le proprie proprietà di autenticazione.

    Non tutte le proprietà riguardano ciascun tipo di autenticazione; consulta la proprietà tipo per ulteriori dettagli.

  • A differenza della maggior parte CloudFormation delle risorse, i nomi delle proprietà utilizzano lettere maiuscole e minuscole.

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

Proprietà

accessKeyId

Specifica l'ID della chiave di accesso per l'autenticazione di S3.

Obbligatorio: condizionale. Può essere specificato solo se la proprietà type è impostata su S3.

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

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

Tipo: Stringa

type

Speciifica se lo schema di autenticazione utilizza un nome utente e una password (di base) o un ID della chiave di accesso e una chiave segreta (S3).

Se specifichi basic, specifica le proprietà username, passworde uris.

Se specifichi S3, specifica le proprietà (facoltative) accessKeyId, secretKeye buckets.

Campo obbligatorio: sì

Valori validi: basic | S3

uris

Un elenco delimitato da virgole da associare URIs alle credenziali di autenticazione di base. L'autorizzazione si applica a quelle specificate e a quelle più specificheURIs. URI Ad esempio, se specifichi http://www.example.com, l'autorizzazione si applicherà anche a http://www.example.com/test.

Obbligatorio: condizionale. Può essere specificato solo se la proprietà type è impostata su basic.

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 nel profilo dell'istanza collegato all'EC2istanza. Un profilo di istanza può contenere un solo IAM ruolo.

Obbligatorio: condizionale. Può essere specificato solo se la proprietà type è impostata su S3.

Tipo: stringa.

Esempi

Nota

A differenza della maggior parte delle risorse, il tipo AWS::CloudFormation::Authentication definisce un elenco di blocchi designati dall'utente, ciascuno dei quali contiene le proprietà di autenticazione che utilizzano la denominazione con il lower camel case (notazione a cammello con la prima lettera minuscola).

EC2autenticazione del server web

Questo frammento di modello mostra come ottenere un file da un bucket S3 privato all'interno di un'istanza. EC2 Le credenziali utilizzate per l'autenticazione sono definite nella risorsa AWS::CloudFormation::Authentication e la risorsa AWS::CloudFormation::Init vi fa 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}

IAMruoli

L'esempio seguente mostra come utilizzare IAM i ruoli:

  • myRoleè una risorsa AWS::IAM: :Role.

  • L'EC2istanza Amazon in esecuzione cfn-init viene associata myRole tramite un profilo di 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