

Ini adalah *Panduan Referensi CloudFormation Template* baru. Harap perbarui bookmark dan tautan Anda. Untuk bantuan memulai CloudFormation, lihat [Panduan AWS CloudFormation Pengguna](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html).

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

# `AWS::CloudFormation::Authentication`
<a name="aws-resource-authentication"></a>

Gunakan jenis `AWS::CloudFormation::Authentication` metadata untuk menentukan kredensi otentikasi untuk file atau sumber yang Anda tentukan dengan jenis metadata. [`AWS::CloudFormation::Init`](aws-resource-init.md)

Untuk menyertakan informasi otentikasi untuk file atau sumber yang Anda tentukan`AWS::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](aws-resource-init.md#aws-resource-init-files). Untuk informasi selengkapnya tentang sumber, lihat [Sumber](aws-resource-init.md#aws-resource-init-sources).

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 sebagai berikut:

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

1. `uris`Atau `buckets` properti `AWS::CloudFormation::Authentication` metadata.

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

**Topics**
+ [Sintaksis](#aws-resource-cloudformation-authentication-syntax)
+ [Sifat-sifat](#w2aac19c23c15c19)
+ [Contoh](#aws-resource-authentication-examples)

## Sintaksis
<a name="aws-resource-cloudformation-authentication-syntax"></a>

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](#cfn-cloudformation-authentication-type).
+ Tidak seperti kebanyakan CloudFormation sumber daya, nama `AWS::CloudFormation::Authentication` properti menggunakan kotak unta yang lebih rendah.

### JSON
<a name="aws-resource-cloudformation-authentication-syntax.json"></a>

```
{
  "AWS::CloudFormation::Authentication" {
    "{{String}}" : {
      "accessKeyId" : {{String}},
      "buckets" : [ {{String, ...}} ],
      "password" : {{String}},
      "secretKey" : {{String}},
      "type" : {{String}},
      "uris" : [ {{String, ...}} ],
      "username" : {{String}},
      "roleName" : {{String}}
    }
  }
}
```

### YAML
<a name="aws-resource-cloudformation-authentication-syntax.yaml"></a>

```
AWS::CloudFormation::Authentication
{{String}}:
  accessKeyId: {{String}}
  buckets:
    - {{String}}
  password: {{String}}
  secretKey: {{String}}
  type: {{String}}
  uris:
    - {{String}}
  username: {{String}}
  roleName: {{String}}
```

## Sifat-sifat
<a name="w2aac19c23c15c19"></a>

`accessKeyId`  <a name="cfn-cloudformation-authentication-accesskeyid"></a>
Menentukan access key ID untuk autentikasi S3.  
*Diperlukan*: Bersyarat. Dapat ditentukan hanya jika `type` properti diatur ke`S3`.  
*Tipe*: String

`buckets`  <a name="cfn-cloudformation-authentication-buckets"></a>
Daftar bucket Amazon S3 yang dibatasi koma untuk dikaitkan dengan kredensil otentikasi S3.  
*Diperlukan*: Bersyarat. Dapat ditentukan hanya jika `type` properti diatur ke`S3`.  
*Jenis*: Daftar nilai String

`password`  <a name="cfn-cloudformation-authentication-password"></a>
Menentukan kata sandi untuk autentikasi dasar.  
*Diperlukan*: Bersyarat. Dapat ditentukan hanya jika properti tipe diatur ke`basic`.  
*Tipe*: String

`secretKey`  <a name="cfn-cloudformation-authentication-secretkey"></a>
Menentukan kunci rahasia untuk autentikasi S3.  
*Diperlukan*: Bersyarat. Dapat ditentukan hanya jika `type` properti diatur ke`S3`.  
*Tipe*: String

`type`  <a name="cfn-cloudformation-authentication-type"></a>
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`  <a name="cfn-cloudformation-authentication-uris"></a>
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 untuk `http://www.example.com/test`.  
*Diperlukan*: Bersyarat. Dapat ditentukan hanya jika `type` properti diatur ke`basic`.  
*Jenis*: Daftar nilai String

`username`  <a name="cfn-cloudformation-authentication-username"></a>
Menentukan nama pengguna untuk autentikasi dasar.  
*Diperlukan*: Bersyarat. Dapat ditentukan hanya jika properti tipe diatur ke`basic`.  
*Tipe*: String

`roleName`  <a name="cfn-cloudformation-authentication-rolename"></a>
Menjelaskan peran untuk autentikasi berbasis peran.  
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 ke`S3`.  
*Tipe*: String.

## Contoh
<a name="aws-resource-authentication-examples"></a>

**Topics**
+ [EC2 otentikasi server web](#aws-resource-cloudformation-authentication-example1)
+ [Menentukan autentikasi dasar dan S3](#aws-resource-cloudformation-authentication-example2)
+ [Peran IAM](#aws-resource-cloudformation-authentication-example3)

### EC2 otentikasi server web
<a name="aws-resource-cloudformation-authentication-example1"></a>

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
<a name="aws-resource-cloudformation-authentication-example1.json"></a>

```
"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
<a name="aws-resource-cloudformation-authentication-example1.yaml"></a>

```
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
<a name="aws-resource-cloudformation-authentication-example2"></a>

Snippet templat contoh berikut menyertakan kedua jenis autentikasi *dasar* dan *S3*.

#### JSON
<a name="aws-resource-cloudformation-authentication-example2.json"></a>

```
"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
<a name="aws-resource-cloudformation-authentication-example2.yaml"></a>

```
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
<a name="aws-resource-cloudformation-authentication-example3"></a>

Contoh berikut menunjukkan cara menggunakan IAM role:
+ `myRole`adalah sumber [AWS::IAM::Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-iam-role.html)daya.
+  EC2 Instans 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
<a name="aws-resource-cloudformation-authentication-example3.json"></a>

```
"AWS::CloudFormation::Authentication": {
    "rolebased" : {
        "type": "S3",
        "buckets": [{ "Fn::Sub": "${BucketName}" }],
        "roleName": { "Ref": "myRole" }
    }
}
```

#### YAML
<a name="aws-resource-cloudformation-authentication-example3.yaml"></a>

```
AWS::CloudFormation::Authentication:
  rolebased:
    type: S3
    buckets:
      - !Sub ${BucketName}
    roleName: !Ref myRole
```