AWS::CloudFormation::Authentication - AWS CloudFormation

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

AWS::CloudFormation::Authentication

Gunakan sumber daya AWS::CloudFormation::Authentication untuk menentukan kredensial autentikasi untuk file atau sumber yang Anda tentukan dengan sumber daya AWS::CloudFormation::Init.

Untuk menyertakan informasi otentikasi untuk file atau sumber yang Anda tentukanAWS::CloudFormation::Init, gunakan uris properti jika sumbernya adalah URI atau buckets properti jika sumbernya adalah bucket Amazon S3. Untuk informasi selengkapnya tentang file, lihat Berkas. Untuk informasi selengkapnya tentang sumber, lihat Sumber.

Anda juga dapat menentukan informasi autentikasi untuk file secara langsung di sumber daya AWS::CloudFormation::Init. Kunci file dari sumber daya berisi properti bernama authentication. Anda dapat menggunakan properti authentication untuk mengasosiasikan informasi autentikasi yang ditentukan dalam sumber daya AWS::CloudFormation::Authentication langsung dengan file.

Untuk file, AWS CloudFormation cari informasi otentikasi dalam urutan sebagai berikut:

  1. Properti authentication dari kunci files AWS::CloudFormation::Init.

  2. Properti uris atau buckets dari sumber daya AWS::CloudFormation::Authentication.

Untuk sumber, CloudFormation cari informasi otentikasi di uris atau buckets properti AWS::CloudFormation::Authentication sumber daya.

Sintaks

Untuk mendeklarasikan entitas ini di CloudFormation template Anda, gunakan sintaks berikut:

Anda harus mengetahui pertimbangan berikut saat menggunakan jenis AWS::CloudFormation::Authentication:

  • Tidak seperti kebanyakan CloudFormation sumber daya, AWS::CloudFormation::Authentication jenis ini tidak berisi blok yang disebut Properties, melainkan berisi daftar blok bernama pengguna, masing-masing berisi properti otentikasi sendiri.

    Tidak semua properti berkaitan dengan setiap jenis autentikasi; lihat properti jenis untuk detail selengkapnya.

  • Tidak seperti kebanyakan CloudFormation sumber daya, nama properti menggunakan kotak unta yang lebih rendah.

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

Properti

accessKeyId

Menentukan access key ID untuk autentikasi S3.

Diperlukan: Bersyarat. Dapat ditentukan hanya jika type properti diatur keS3.

Tipe: String

buckets

Daftar bucket Amazon S3 yang dibatasi koma untuk dikaitkan dengan kredensil otentikasi S3.

Diperlukan: Bersyarat. Dapat ditentukan hanya jika type properti diatur keS3.

Jenis: Daftar nilai String

password

Menentukan kata sandi untuk autentikasi dasar.

Diperlukan: Bersyarat. Dapat ditentukan hanya jika properti tipe diatur kebasic.

Tipe: String

secretKey

Menentukan kunci rahasia untuk autentikasi S3.

Diperlukan: Bersyarat. Dapat ditentukan hanya jika type properti diatur keS3.

Tipe: String

type

Menentukan apakah skema otentikasi menggunakan nama pengguna dan password (dasar) atau ID kunci akses dan kunci rahasia (S3).

Jika Anda menentukan basic, tentukan properti username, password, dan uris.

Jika Anda menentukan S3, tentukan properti accessKeyId, secretKey, dan buckets(opsional).

Wajib: Ya

Nilai yang valid: basic | S3

uris

Daftar yang dibatasi koma URIs untuk dikaitkan dengan kredensial otentikasi dasar. Otorisasi berlaku untuk yang ditentukan URIs dan yang lebih spesifikURI. Misalnya, jika Anda menentukan http://www.example.com, otorisasi juga akan berlaku untuk http://www.example.com/test.

Diperlukan: Bersyarat. Dapat ditentukan hanya jika type properti diatur kebasic.

Jenis: Daftar nilai String

username

Menentukan nama pengguna untuk autentikasi dasar.

Diperlukan: Bersyarat. Dapat ditentukan hanya jika properti tipe diatur kebasic.

Tipe: String

roleName

Menjelaskan peran untuk autentikasi berbasis peran.

penting

Peran ini harus terkandung dalam profil instance yang dilampirkan ke EC2 instance. Profil instance hanya dapat berisi satu IAM peran.

Diperlukan: Bersyarat. Dapat ditentukan hanya jika type properti diatur keS3.

Tipe: String.

Contoh

catatan

Tidak seperti kebanyakan sumber daya, jenis AWS::CloudFormation::Authentication menentukan daftar blok yang diberi nama pengguna, masing-masing berisi properti autentikasi yang menggunakan penamaan dengan huruf besar dan kecil.

EC2otentikasi server web

Cuplikan template ini menunjukkan cara mendapatkan file dari bucket S3 pribadi dalam sebuah instance. EC2 Kredensial yang digunakan untuk autentikasi ditentukan dalam sumber daya AWS::CloudFormation::Authentication, dan direferensikan oleh sumber daya AWS::CloudFormation::Init dalam bagian 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 ...

Menentukan autentikasi dasar dan S3

Snippet templat contoh berikut menyertakan kedua jenis autentikasi dasar dan 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}

IAMperan

Contoh berikut menunjukkan cara menggunakan IAM peran:

  • myRoleadalah sumber daya AWS::IAM: :Role.

  • EC2Instans Amazon yang berjalan cfn-init dikaitkan dengan myRole melalui profil instance.

  • Contoh menentukan otentikasi dengan menggunakan buckets properti, seperti di otentikasi Amazon S3. Anda juga dapat menentukan autentikasi berdasarkan nama.

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