

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

# Batasi akses ke asal AWS Elemental MediaPackage v2
<a name="private-content-restricting-access-to-mediapackage"></a>

CloudFront menyediakan *kontrol akses asal* (OAC) untuk membatasi akses ke asal MediaPackage v2.

**catatan**  
CloudFront OAC hanya mendukung MediaPackage v2. MediaPackage v1 tidak didukung.

**Topics**
+ [Membuat OAC baru](#create-oac-overview-mediapackage)
+ [Pengaturan lanjutan untuk kontrol akses asal](#oac-advanced-settings-mediapackage)

## Membuat OAC baru
<a name="create-oac-overview-mediapackage"></a>

Selesaikan langkah-langkah yang dijelaskan dalam topik berikut untuk menyiapkan OAC baru. CloudFront

**Topics**
+ [Prasyarat](#oac-prerequisites-mediapackage)
+ [Berikan CloudFront izin untuk mengakses asal MediaPackage v2](#oac-permission-to-access-mediapackage)
+ [Menciptakan OAC](#create-oac-mediapackage)

### Prasyarat
<a name="oac-prerequisites-mediapackage"></a>

Sebelum Anda membuat dan mengatur OAC, Anda harus memiliki CloudFront distribusi dengan asal MediaPackage v2. Untuk informasi selengkapnya, lihat [Gunakan MediaStore wadah atau MediaPackage saluran](DownloadDistS3AndCustomOrigins.md#concept_AWS_Media).

### Berikan CloudFront izin untuk mengakses asal MediaPackage v2
<a name="oac-permission-to-access-mediapackage"></a>

Sebelum Anda membuat OAC atau mengaturnya dalam CloudFront distribusi, pastikan bahwa CloudFront memiliki izin untuk mengakses asal MediaPackage v2. Lakukan ini setelah Anda membuat CloudFront distribusi, tetapi sebelum Anda menambahkan OAC ke asal MediaPackage v2 dalam konfigurasi distribusi.

Gunakan kebijakan IAM untuk mengizinkan prinsipal CloudFront layanan (`cloudfront.amazonaws.com`) mengakses asal. `Condition`Elemen dalam kebijakan memungkinkan CloudFront untuk mengakses asal MediaPackage v2 *hanya* jika permintaan atas nama CloudFront distribusi yang berisi asal MediaPackage v2. Ini adalah distribusi dengan asal MediaPackage v2 yang ingin Anda tambahkan OAC.

**Example : Kebijakan IAM yang memungkinkan akses hanya-baca untuk CloudFront distribusi dengan OAC diaktifkan**  
Kebijakan berikut memungkinkan akses CloudFront distribusi (`E1PDK09ESKHJWT`) ke asal MediaPackage v2. Asal adalah ARN yang ditentukan untuk elemen. `Resource`    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "AllowCloudFrontServicePrincipal",
            "Effect": "Allow",
            "Principal": {"Service": "cloudfront.amazonaws.com"},
            "Action": "mediapackagev2:GetObject",
            "Resource": "arn:aws:mediapackagev2:us-east-1:123456789012:channelGroup/channel-group-name/channel/channel-name/originEndpoint/origin_endpoint_name",
            "Condition": {
                "StringEquals": {"AWS:SourceArn": "arn:aws:cloudfront::123456789012:distribution/E1PDK09ESKHJWT"}
            }
        }
    ]
}
```

**Catatan**  
Jika Anda mengaktifkan fitur MQAR dan kontrol akses asal (OAC), tambahkan `mediapackagev2:GetHeadObject` tindakan ke kebijakan IAM. MQAR memerlukan izin ini untuk mengirim `HEAD` permintaan ke asal MediaPackage v2. Untuk informasi lebih lanjut tentang MQAR, lihat. [Ketahanan sadar kualitas media](media-quality-score.md)
Jika Anda membuat distribusi yang tidak memiliki izin ke asal MediaPackage v2 Anda, Anda dapat memilih **Salin kebijakan** dari CloudFront konsol dan kemudian memilih **Perbarui izin titik akhir**. Anda kemudian dapat melampirkan izin yang disalin ke titik akhir. Untuk informasi selengkapnya, lihat [bidang kebijakan titik akhir](https://docs.aws.amazon.com/mediapackage/latest/userguide/endpoints-policy.html) di *Panduan AWS Elemental MediaPackage Pengguna*. 

### Menciptakan OAC
<a name="create-oac-mediapackage"></a>

Untuk membuat OAC, Anda dapat menggunakan Konsol Manajemen AWS CloudFormation, AWS CLI, atau CloudFront API.

------
#### [ Console ]

**Untuk membuat OAC**

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. Di panel navigasi, pilih **Akses asal**.

1. Pilih **Buat pengaturan kontrol**.

1. Pada formulir **Create new OAC**, lakukan hal berikut:

   1. Masukkan **Nama** dan (opsional) **Deskripsi** untuk OAC.

   1. Untuk **perilaku Penandatanganan**, sebaiknya Anda meninggalkan setelan default (**Permintaan tanda tangan (disarankan)**). Untuk informasi selengkapnya, lihat [Pengaturan lanjutan untuk kontrol akses asal](#oac-advanced-settings-mediapackage).

1. Untuk **tipe Origin**, pilih **MediaPackage V2**. 

1. Pilih **Buat**.
**Tip**  
Setelah Anda membuat OAC, catat **Nama**. Anda membutuhkan ini dalam prosedur berikut.

**Untuk menambahkan OAC ke asal MediaPackage v2 dalam distribusi**

1. Buka CloudFront konsol di[https://console.aws.amazon.com/cloudfront/v4/home](https://console.aws.amazon.com/cloudfront/v4/home).

1. Pilih distribusi dengan asal MediaPackage V2 yang ingin Anda tambahkan OAC, lalu pilih tab **Origins**.

1. Pilih asal MediaPackage v2 yang ingin Anda tambahkan OAC, lalu pilih **Edit**.

1. Pilih **HTTPS hanya** untuk **Protokol** asal Anda.

1. Dari menu tarik-turun **kontrol akses Origin**, pilih nama OAC yang ingin Anda gunakan.

1. Pilih **Simpan perubahan**.

Distribusi mulai menyebar ke semua lokasi CloudFront tepi. Ketika lokasi tepi menerima konfigurasi baru, ia menandatangani semua permintaan yang dikirim ke asal MediaPackage v2.

------
#### [ CloudFormation ]

Untuk membuat OAC dengan CloudFormation, gunakan jenis `AWS::CloudFront::OriginAccessControl` sumber daya. Contoh berikut menunjukkan sintaks CloudFormation template, dalam format YAMAL, untuk membuat OAC.

```
Type: AWS::CloudFront::OriginAccessControl
Properties: 
  OriginAccessControlConfig: 
      Description: An optional description for the origin access control
      Name: ExampleOAC
      OriginAccessControlOriginType: mediapackagev2
      SigningBehavior: always
      SigningProtocol: sigv4
```

Untuk informasi selengkapnya, lihat [AWS::CloudFront::OriginAccessKontrol](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-originaccesscontrol.html) di *Panduan AWS CloudFormation Pengguna*.

------
#### [ CLI ]

Untuk membuat kontrol akses asal dengan AWS Command Line Interface (AWS CLI), gunakan **aws cloudfront create-origin-access-control** perintah. Anda dapat menggunakan file input untuk memberikan parameter input untuk perintah, daripada menentukan setiap parameter individu sebagai input baris perintah.

**Untuk membuat kontrol akses asal (CLI dengan file input)**

1. Gunakan perintah berikut untuk membuat file yang diberi nama`origin-access-control.yaml`. File ini berisi semua parameter input untuk **create-origin-access-control** perintah.

   ```
   aws cloudfront create-origin-access-control --generate-cli-skeleton yaml-input > origin-access-control.yaml
   ```

1. Buka `origin-access-control.yaml` file yang baru saja Anda buat. Edit file untuk menambahkan nama untuk OAC, deskripsi (opsional), dan ubah `SigningBehavior` ke`always`. Kemudian simpan filenya.

   Untuk informasi tentang pengaturan OAC lainnya, lihat[Pengaturan lanjutan untuk kontrol akses asal](#oac-advanced-settings-mediapackage).

1. Gunakan perintah berikut untuk membuat kontrol akses asal menggunakan parameter input dari `origin-access-control.yaml` file.

   ```
   aws cloudfront create-origin-access-control --cli-input-yaml file://origin-access-control.yaml
   ```

   Catat `Id` nilai dalam output perintah. Anda membutuhkannya untuk menambahkan OAC ke asal MediaPackage v2 dalam CloudFront distribusi.

**Untuk melampirkan OAC ke asal MediaPackage v2 dalam distribusi yang ada (CLI dengan file input)**

1. Gunakan perintah berikut untuk menyimpan konfigurasi distribusi untuk CloudFront distribusi yang ingin Anda tambahkan OAC. Distribusi harus memiliki asal MediaPackage v2.

   ```
   aws cloudfront get-distribution-config --id <CloudFront distribution ID> --output yaml > dist-config.yaml
   ```

1. Buka file yang diberi nama `dist-config.yaml` yang baru saja Anda buat. Edit file akan membuat perubahan berikut:
   + Di `Origins` objek, tambahkan ID OAC ke bidang yang diberi `OriginAccessControlId` nama.
   + Hapus nilai dari bidang yang diberi nama`OriginAccessIdentity`, jika ada.
   + Ubah nama `ETag` bidang menjadi`IfMatch`, tetapi jangan ubah nilai bidang.

   Simpan file setelah selesai.

1. Gunakan perintah berikut untuk memperbarui distribusi untuk menggunakan kontrol akses asal.

   ```
   aws cloudfront update-distribution --id <CloudFront distribution ID> --cli-input-yaml file://dist-config.yaml
   ```

Distribusi mulai menyebar ke semua lokasi CloudFront tepi. Ketika lokasi tepi menerima konfigurasi baru, ia menandatangani semua permintaan yang dikirim ke asal MediaPackage v2.

------
#### [ API ]

Untuk membuat OAC dengan CloudFront API, gunakan [CreateOriginAccessControl](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateOriginAccessControl.html). Untuk informasi selengkapnya tentang bidang yang Anda tentukan dalam panggilan API ini, lihat dokumentasi referensi API untuk AWS SDK atau klien API lainnya.

Setelah membuat OAC, Anda dapat melampirkannya ke asal MediaPackage v2 dalam distribusi, menggunakan salah satu panggilan API berikut:
+ Untuk melampirkannya ke distribusi yang ada, gunakan [UpdateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html).
+ Untuk melampirkannya ke distribusi baru, gunakan [CreateDistribution](https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_CreateDistribution.html).

Untuk kedua panggilan API ini, berikan ID OAC di `OriginAccessControlId` bidang, di dalam asal. Untuk informasi selengkapnya tentang bidang lain yang Anda tentukan dalam panggilan API ini, lihat [Semua referensi pengaturan distribusi](distribution-web-values-specify.md) dan dokumentasi referensi API untuk AWS SDK atau klien API lainnya.

------

## Pengaturan lanjutan untuk kontrol akses asal
<a name="oac-advanced-settings-mediapackage"></a>

Fitur CloudFront OAC mencakup pengaturan lanjutan yang ditujukan hanya untuk kasus penggunaan tertentu. Gunakan pengaturan yang disarankan kecuali Anda memiliki kebutuhan khusus untuk pengaturan lanjutan.

OAC berisi setelan bernama **Perilaku penandatanganan** (di konsol), atau `SigningBehavior` (di API, CLI, CloudFormation dan). Pengaturan ini menyediakan opsi berikut:

**Selalu tandatangani permintaan asal (pengaturan yang disarankan)**  
Sebaiknya gunakan pengaturan ini, bernama **Permintaan tanda (disarankan)** di konsol, atau `always` di API, CLI, dan. CloudFormation Dengan pengaturan ini, CloudFront selalu tandatangani semua permintaan yang dikirimkan ke asal MediaPackage v2.

**Jangan pernah menandatangani permintaan asal**  
Pengaturan ini diberi nama **Jangan menandatangani permintaan** di konsol, atau `never` di API, CLI, dan. CloudFormation Gunakan pengaturan ini untuk mematikan OAC untuk semua asal di semua distribusi yang menggunakan OAC ini. Ini dapat menghemat waktu dan tenaga dibandingkan dengan menghapus OAC dari semua asal dan distribusi yang menggunakannya, satu per satu. Dengan pengaturan ini, CloudFront tidak menandatangani permintaan apa pun yang dikirimkan ke asal MediaPackage v2.  
Untuk menggunakan pengaturan ini, asal MediaPackage v2 harus dapat diakses publik. Jika Anda menggunakan setelan ini dengan asal MediaPackage v2 yang tidak dapat diakses publik, tidak CloudFront dapat mengakses asal. Asal MediaPackage v2 mengembalikan kesalahan ke CloudFront dan CloudFront meneruskan kesalahan tersebut ke pemirsa. Untuk informasi selengkapnya, lihat contoh kebijakan MediaPackage v2 untuk [Kebijakan dan Izin MediaPackage](https://docs.aws.amazon.com/mediapackage/latest/userguide/policies-permissions.html) di *Panduan AWS Elemental MediaPackage Pengguna*.

**Jangan mengganti header penampil (klien) `Authorization`**  
Pengaturan ini diberi nama **Jangan timpa header otorisasi** di konsol, atau `no-override` di API, CLI, dan. CloudFormation Gunakan setelan ini saat Anda CloudFront ingin menandatangani permintaan asal hanya jika permintaan penampil yang sesuai tidak menyertakan `Authorization` header. Dengan pengaturan ini, CloudFront meneruskan `Authorization` header dari permintaan penampil saat ada, tetapi menandatangani permintaan asal (menambahkan tajuknya sendiri`Authorization`) saat permintaan penampil tidak menyertakan `Authorization` header.  
Untuk meneruskan `Authorization` header dari permintaan penampil, Anda *harus* menambahkan `Authorization` header ke [kebijakan cache](controlling-the-cache-key.md) untuk semua perilaku cache yang menggunakan asal MediaPackage v2 yang terkait dengan kontrol akses asal ini.