Ini adalah Panduan Referensi AWS CloudFormation Template baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat Panduan AWS CloudFormation Pengguna.
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
AWS::CloudFormation::Authentication
Gunakan jenis AWS::CloudFormation::Authentication
metadata untuk menentukan kredensi otentikasi untuk file atau sumber yang Anda tentukan dengan jenis metadata. 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 otentikasi untuk file secara langsung dalam jenis AWS::CloudFormation::Init
metadata. Kunci file dari sumber daya berisi properti bernama authentication
. Anda dapat menggunakan authentication
properti untuk mengaitkan informasi otentikasi yang ditentukan dalam jenis AWS::CloudFormation::Authentication
metadata secara langsung dengan file.
Untuk file, AWS CloudFormation cari informasi otentikasi dalam urutan sebagai berikut:
-
Properti
authentication
dari kuncifiles
AWS::CloudFormation::Init
. -
uris
Ataubuckets
propertiAWS::CloudFormation::Authentication
metadata.
Untuk sumber, CloudFormation cari informasi otentikasi di uris
atau buckets
properti AWS::CloudFormation::Authentication
metadata.
Sintaksis
Untuk mendeklarasikan entitas ini di CloudFormation template Anda, gunakan sintaks berikut:
Perhatikan pertimbangan berikut saat menggunakan tipe AWS::CloudFormation::Authentication
metadata:
-
Tidak seperti kebanyakan CloudFormation sumber daya, jenis
AWS::CloudFormation::Authentication
metadata 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 otentikasi. Untuk informasi selengkapnya, lihat properti tipe.
-
Tidak seperti kebanyakan CloudFormation sumber daya, nama
AWS::CloudFormation::Authentication
properti menggunakan kotak unta yang lebih rendah.
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
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 ke
basic
.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 propertiusername
,password
, danuris
.Jika Anda menentukan
S3
, tentukan propertiaccessKeyId
,secretKey
, danbuckets
(opsional).Wajib: Ya
Nilai yang valid:
basic
|S3
uris
-
Daftar yang dibatasi koma URIs untuk dikaitkan dengan kredensial otentikasi dasar. Otorisasi berlaku untuk URI yang ditentukan URIs dan yang lebih spesifik. Misalnya, jika Anda menentukan
http://www.example.com
, otorisasi juga akan berlaku untukhttp://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 ke
basic
.Tipe: String
roleName
-
Menjelaskan peran untuk autentikasi berbasis peran.
penting
Peran ini harus terkandung dalam profil instance yang dilampirkan ke EC2 instance. Sebuah profil instans hanya dapat berisi satu IAM role.
Diperlukan: Bersyarat. Dapat ditentukan hanya jika
type
properti diatur keS3
.Tipe: String.
Contoh
EC2 otentikasi server web
Cuplikan template ini menunjukkan cara mendapatkan file dari bucket S3 pribadi dalam sebuah instance. EC2 Kredensi yang digunakan untuk otentikasi didefinisikan dalam AWS::CloudFormation::Authentication
metadata, dan direferensikan oleh metadata di bagian AWS::CloudFormation::Init
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}
Peran IAM
Contoh berikut menunjukkan cara menggunakan IAM role:
-
myRole
adalah sumber AWS::IAM::Roledaya. -
EC2 Instans Amazon yang berjalan
cfn-init
dikaitkan denganmyRole
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