View a markdown version of this page

AWS::CloudFormation: :Otentikasi - AWS CloudFormation

Ini adalah Panduan Referensi 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: :Otentikasi

Gunakan jenis AWS::CloudFormation::Authentication metadata untuk menentukan kredentif otentikasi untuk file atau sumber yang Anda tentukan dengan jenis AWS::CloudFormation: :Into metadata.

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, CloudFormation cari informasi otentikasi dalam urutan berikut:

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

  2. Pro uris buckets perti atau dari AWS::CloudFormation::Authentication metadata.

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

Sintaksis

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

Perhatikan pertimbangan berikut saat menggunakan jenis AWS::CloudFormation::Authentication metadata:

  • Tidak seperti kebanyakan CloudFormation sumber daya, jenis AWS::CloudFormation::Authentication metadata tidak berisi blok yang disebut Proper ties, 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 huruf unta yang lebih kecil.

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

Sifat-sifat

accessKeyId

Menentukan access key ID untuk autentikasi S3.

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

Tipe: String

buckets

Daftar bucket Amazon S3 yang dipisahkan koma untuk dikaitkan dengan kredentif otentikasi S3.

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

Jenis: Daftar nilai String

password

Menentukan kata sandi untuk autentikasi dasar.

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

Tipe: String

secretKey

Menentukan kunci rahasia untuk autentikasi S3.

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

Tipe: String

type

Menentukan apakah skema otentikasi menggunakan nama pengguna dan kata sandi (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 URI yang dipisahkan koma untuk dikaitkan dengan kredensial autentikasi dasar. Otorisasi berlaku untuk URI yang ditentukan dan URI yang lebih spesifik. 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 disetel kebasic.

Jenis: Daftar nilai String

username

Menentukan nama pengguna untuk autentikasi dasar.

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

Tipe: String

roleName

Menjelaskan peran untuk autentikasi berbasis peran.

penting

Peran ini harus ada di dalam profil instans yang dilampirkan ke instans EC2. Sebuah profil instans hanya dapat berisi satu IAM role.

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

Tipe: String.

Contoh

Autentikasi server web EC2

Snippet templat ini menunjukkan bagaimana cara mengambil file dari bucket S3 pribadi dalam instans EC2. KredenSIAL yang digunakan untuk otentikasi ditentukan dalam AWS::CloudFormation::Authentication metadata, dan direferensikan oleh AWS::CloudFormation::Init metadata di 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}

Peran IAM

Contoh berikut menunjukkan cara menggunakan IAM role:

  • myRole adalah sumber daya AWS::IAM::Role.

  • Instans Amazon EC2 yang dijalankan cfn-init dikaitkan dengan myRole melalui profil instans.

  • Contoh menentukan otentikasi dengan menggunakan buckets properti, seperti pada 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