

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

# Aktifkan TLS timbal balik untuk distribusi CloudFront
<a name="enable-mtls-distributions"></a>

## Prasyarat dan persyaratan
<a name="mtls-prerequisites-requirements"></a>

CloudFrontMode verifikasi TLS timbal balik mengharuskan semua klien untuk menunjukkan sertifikat yang valid selama jabat tangan TLS dan menolak koneksi tanpa sertifikat yang valid. Sebelum mengaktifkan TLS timbal balik pada CloudFront distribusi, pastikan Anda memiliki:
+ Membuat toko kepercayaan dengan sertifikat Otoritas Sertifikat Anda
+ Mengaitkan toko kepercayaan dengan CloudFront distribusi Anda
+ Memastikan semua perilaku cache distribusi menggunakan kebijakan protokol penampil khusus HTTP
+ Memastikan distribusi Anda menggunakan HTTP/2 (pengaturan default, MTL Viewer tidak didukung pada HTTP/3)

**catatan**  
Otentikasi TLS timbal balik memerlukan koneksi HTTPS antara pemirsa dan. CloudFront Anda tidak dapat mengaktifkan mTL pada distribusi dengan perilaku cache apa pun yang mendukung koneksi HTTP.

## Aktifkan TLS timbal balik (Konsol)
<a name="enable-mtls-console"></a>

### Untuk distribusi baru
<a name="enable-mtls-new-distributions"></a>

MTL penampil tidak dapat dikonfigurasi dalam proses pembuatan distribusi baru di CloudFront konsol. Pertama buat distribusi dengan cara apa pun (konsol, CLI, API), lalu edit pengaturan distribusi untuk mengaktifkan mTL Penampil sesuai instruksi distribusi yang ada di bawah ini.

### Untuk distribusi yang ada
<a name="enable-mtls-existing-distributions"></a>

1. Masuk ke Konsol Manajemen AWS dan buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Dari daftar distribusi, pilih distribusi yang ingin Anda ubah.

1. Pastikan kebijakan protokol Viewer disetel ke **Redirect HTTP ke HTTPS atau HTTPS** **Only** untuk semua perilaku cache. (Anda dapat memilih tab **Perilaku cache** untuk melihat dan memperbarui perilaku cache apa pun dengan kebijakan protokol HTTP.)

1. Pilih tab **Umum**.

1. Di bagian **Pengaturan**, pilih **Edit**.

1. Di bagian **Konektivitas**, temukan **otentikasi bersama Viewer (mTLS**).

1. Alihkan **Aktifkan otentikasi timbal balik** ke Aktif.

1. Untuk **mode validasi sertifikat Klien**, pilih **Diperlukan** (semua klien harus menunjukkan sertifikat) atau **Opsional** (klien dapat menyajikan sertifikat secara opsional).

1. Untuk **toko Trust**, pilih toko kepercayaan yang Anda buat sebelumnya.

1. (Opsional) Alihkan **Iklan nama CA toko kepercayaan jika Anda ingin mengirim nama** CA CloudFront ke klien selama jabat tangan TLS.

1. (Opsional) Alihkan **Abaikan tanggal kedaluwarsa sertifikat** jika Anda ingin mengizinkan koneksi dengan sertifikat kedaluwarsa.

1. Pilih **Simpan perubahan**.

## Aktifkan TLS timbal balik (AWS CLI)
<a name="enable-mtls-cli"></a>

### Untuk distribusi baru
<a name="enable-mtls-cli-new"></a>

Contoh berikut menunjukkan cara membuat file konfigurasi distribusi (distribution-config.json) yang menyertakan pengaturan mTLS:

```
{
  "CallerReference": "cli-example-1",
  "Origins": {
    "Quantity": 1,
    "Items": [
      {
        "Id": "my-origin",
        "DomainName": "example.com",
        "CustomOriginConfig": {
          "HTTPPort": 80,
          "HTTPSPort": 443,
          "OriginProtocolPolicy": "https-only"
        }
      }
    ]
  },
  "DefaultCacheBehavior": {
    "TargetOriginId": "my-origin",
    "ViewerProtocolPolicy": "https-only",
    "MinTTL": 0,
    "ForwardedValues": {
      "QueryString": false,
      "Cookies": {
        "Forward": "none"
      }
    }
  },
  "ViewerCertificate": {
    "CloudFrontDefaultCertificate": true
  },
  "ViewerMtlsConfig": {
    "Mode": "required", 
    "TrustStoreConfig": {
        "TrustStoreId": {TRUST_STORE_ID},
        "AdvertiseTrustStoreCaNames": true,
        "IgnoreCertificateExpiry": true
    }
  },
  "Enabled": true
}
```

Buat distribusi dengan mTL diaktifkan menggunakan perintah contoh berikut:

```
aws cloudfront create-distribution --distribution-config file://distribution-config.json
```

### Untuk distribusi yang ada
<a name="enable-mtls-cli-existing"></a>

Dapatkan konfigurasi distribusi saat ini menggunakan perintah contoh berikut:

```
aws cloudfront get-distribution-config --id E1A2B3C4D5E6F7 --output json > dist-config.json
```

Edit file untuk menambahkan pengaturan mTLS. Tambahkan bagian contoh berikut ke konfigurasi distribusi Anda:

```
"ViewerMtlsConfig": {
    "Mode": "required", 
    "TrustStoreConfig": {
        "TrustStoreId": {TRUST_STORE_ID},
        "AdvertiseTrustStoreCaNames": true,
        "IgnoreCertificateExpiry": true
    }
}
```

Hapus ETag bidang dari file tetapi simpan nilainya secara terpisah.

Perbarui distribusi dengan konfigurasi baru menggunakan perintah contoh berikut:

```
aws cloudfront update-distribution \
    --id E1A2B3C4D5E6F7 \
    --if-match YOUR-ETAG-VALUE \
    --distribution-config file://dist-config.json
```

## Kebijakan protokol penampil
<a name="viewer-protocol-policies"></a>

Saat menggunakan TLS timbal balik, semua perilaku cache distribusi harus dikonfigurasi dengan kebijakan protokol penampil khusus HTTP:
+ **Redirect HTTP ke HTTPS** - Mengalihkan permintaan HTTP ke HTTPS sebelum melakukan validasi sertifikat.
+ **Hanya HTTPS** - Hanya menerima permintaan HTTPS dan melakukan validasi sertifikat.

**catatan**  
Kebijakan protokol penampil HTTP dan HTTPS tidak didukung dengan TLS timbal balik karena koneksi HTTP tidak dapat melakukan validasi sertifikat.

## Langkah selanjutnya
<a name="enable-mtls-next-steps"></a>

Setelah mengaktifkan Viewer TLS pada CloudFront distribusi Anda, Anda dapat mengaitkan Fungsi Koneksi untuk menerapkan logika validasi sertifikat kustom. Fungsi Koneksi memungkinkan Anda untuk memperluas kemampuan otentikasi mTLS bawaan dengan aturan validasi kustom, pemeriksaan pencabutan sertifikat, dan pencatatan. Untuk detail tentang membuat dan mengaitkan Fungsi Koneksi, lihat[Kaitkan Fungsi CloudFront Koneksi](connection-functions.md).