

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

# Kontrol akses ke layanan VPC Lattice menggunakan kebijakan autentikasi
<a name="auth-policies"></a>

Kebijakan autentikasi VPC Lattice adalah dokumen kebijakan IAM yang Anda lampirkan ke jaringan layanan atau layanan untuk mengontrol apakah prinsipal tertentu memiliki akses ke grup layanan atau layanan tertentu. Anda dapat melampirkan satu kebijakan autentikasi ke setiap jaringan layanan atau layanan yang ingin Anda kontrol aksesnya.

**catatan**  
Kebijakan autentikasi pada jaringan layanan tidak berlaku untuk konfigurasi sumber daya di jaringan layanan.

Kebijakan autentikasi berbeda dari kebijakan berbasis identitas IAM. Kebijakan berbasis identitas IAM dilampirkan ke pengguna, grup, atau peran IAM dan menentukan tindakan apa yang dapat dilakukan identitas tersebut pada sumber daya mana. Kebijakan autentikasi dilampirkan ke layanan dan jaringan layanan. Agar otorisasi berhasil, kebijakan autentikasi dan kebijakan berbasis identitas harus memiliki pernyataan izin eksplisit. Untuk informasi selengkapnya, lihat [Cara kerja otorisasi](#auth-policies-evaluation-logic).

Anda dapat menggunakan AWS CLI dan konsol untuk melihat, menambah, memperbarui, atau menghapus kebijakan autentikasi pada layanan dan jaringan layanan. Saat Anda menambahkan, memperbarui, atau menghapus kebijakan autentikasi, mungkin perlu beberapa menit untuk siap. Saat menggunakan AWS CLI, pastikan Anda berada di Wilayah yang benar. Anda dapat mengubah Wilayah default untuk profil Anda, atau menggunakan `--region` parameter dengan perintah.

**Topics**
+ [Elemen umum dalam kebijakan autentikasi](#auth-policies-common-elements)
+ [Format sumber daya untuk kebijakan autentikasi](#auth-policies-resource-format)
+ [Kunci kondisi yang dapat digunakan dalam kebijakan autentikasi](#auth-policies-condition-keys)
+ [Tag sumber daya](#resource-tags)
+ [Tag utama](#principal-tags)
+ [Prinsipal anonim (tidak diautentikasi)](#anonymous-unauthenticated-principals)
+ [Contoh kebijakan autentikasi](#example-auth-policies)
+ [Cara kerja otorisasi](#auth-policies-evaluation-logic)

Untuk memulai kebijakan autentikasi, ikuti prosedur untuk membuat kebijakan autentikasi yang berlaku untuk jaringan layanan. Untuk izin yang lebih ketat yang tidak ingin diterapkan ke layanan lain, Anda dapat secara opsional menetapkan kebijakan autentikasi pada layanan individual.

## Mengelola akses ke jaringan layanan dengan kebijakan autentikasi
<a name="manage-access-to-service-networks"></a>

 AWS CLI Tugas berikut menunjukkan cara mengelola akses ke jaringan layanan menggunakan kebijakan autentikasi. Untuk petunjuk yang menggunakan konsol, lihat[Jaringan layanan di VPC Lattice](service-networks.md).

**Topics**
+ [Menambahkan kebijakan autentikasi ke jaringan layanan](#add-service-network-auth-policy)
+ [Mengubah jenis autentikasi jaringan layanan](#change-service-network-auth-type)
+ [Menghapus kebijakan autentikasi dari jaringan layanan](#remove-service-network-auth-policy)

### Menambahkan kebijakan autentikasi ke jaringan layanan
<a name="add-service-network-auth-policy"></a>

Ikuti langkah-langkah di bagian ini untuk menggunakan AWS CLI to:
+ Aktifkan kontrol akses pada jaringan layanan menggunakan IAM.
+ Tambahkan kebijakan autentikasi ke jaringan layanan. Jika Anda tidak menambahkan kebijakan autentikasi, semua lalu lintas akan mendapatkan kesalahan akses ditolak.

**Untuk mengaktifkan kontrol akses dan menambahkan kebijakan autentikasi ke jaringan layanan baru**

1. Untuk mengaktifkan kontrol akses pada jaringan layanan sehingga dapat menggunakan kebijakan autentikasi, gunakan **create-service-network** perintah dengan `--auth-type` opsi dan nilai`AWS_IAM`.

   ```
   aws vpc-lattice create-service-network --name Name --auth-type AWS_IAM [--tags TagSpecification]
   ```

   Jika berhasil, perintah mengembalikan output yang serupa dengan berikut.

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "sn-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. Gunakan **put-auth-policy** perintah, tentukan ID jaringan layanan tempat Anda ingin menambahkan kebijakan autentikasi dan kebijakan autentikasi yang ingin Anda tambahkan.

   Misalnya, gunakan perintah berikut untuk membuat kebijakan autentikasi untuk jaringan layanan dengan ID*`sn-0123456789abcdef0`*.

   ```
   aws vpc-lattice put-auth-policy --resource-identifier sn-0123456789abcdef0 --policy file://policy.json
   ```

   Gunakan JSON untuk membuat definisi kebijakan. Untuk informasi selengkapnya, lihat [Elemen umum dalam kebijakan autentikasi](#auth-policies-common-elements).

   Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut ini.

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

**Untuk mengaktifkan kontrol akses dan menambahkan kebijakan autentikasi ke jaringan layanan yang ada**

1. Untuk mengaktifkan kontrol akses pada jaringan layanan sehingga dapat menggunakan kebijakan autentikasi, gunakan **update-service-network** perintah dengan `--auth-type` opsi dan nilai`AWS_IAM`.

   ```
   aws vpc-lattice update-service-network --service-network-identifier sn-0123456789abcdef0 --auth-type AWS_IAM
   ```

   Jika berhasil, perintah mengembalikan output yang serupa dengan berikut.

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "sn-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. Gunakan **put-auth-policy** perintah, tentukan ID jaringan layanan tempat Anda ingin menambahkan kebijakan autentikasi dan kebijakan autentikasi yang ingin Anda tambahkan. 

   ```
   aws vpc-lattice put-auth-policy --resource-identifier sn-0123456789abcdef0 --policy file://policy.json
   ```

   Gunakan JSON untuk membuat definisi kebijakan. Untuk informasi selengkapnya, lihat [Elemen umum dalam kebijakan autentikasi](#auth-policies-common-elements).

   Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut ini.

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

### Mengubah jenis autentikasi jaringan layanan
<a name="change-service-network-auth-type"></a>

**Untuk menonaktifkan kebijakan autentikasi untuk jaringan layanan**  
Gunakan **update-service-network** perintah dengan `--auth-type` opsi dan nilai`NONE`.

```
aws vpc-lattice update-service-network --service-network-identifier sn-0123456789abcdef0 --auth-type NONE
```

Jika Anda perlu mengaktifkan kebijakan autentikasi lagi nanti, jalankan perintah ini dengan `AWS_IAM` ditentukan untuk `--auth-type` opsi.

### Menghapus kebijakan autentikasi dari jaringan layanan
<a name="remove-service-network-auth-policy"></a>

**Untuk menghapus kebijakan autentikasi dari jaringan layanan**  
Gunakan perintah **delete-auth-policy**.

```
aws vpc-lattice delete-auth-policy --resource-identifier sn-0123456789abcdef0
```

Permintaan gagal jika Anda menghapus kebijakan autentikasi sebelum mengubah jenis autentikasi jaringan layanan menjadi. `NONE`

## Mengelola akses ke layanan dengan kebijakan autentikasi
<a name="manage-access-to-services"></a>

 AWS CLI Tugas berikut menunjukkan cara mengelola akses ke layanan menggunakan kebijakan autentikasi. Untuk petunjuk yang menggunakan konsol, lihat[Layanan di VPC Lattice](services.md). 

**Topics**
+ [Menambahkan kebijakan autentikasi ke layanan](#add-service-auth-policy)
+ [Mengubah jenis autentikasi layanan](#change-service-auth-type)
+ [Menghapus kebijakan autentikasi dari layanan](#remove-service-auth-policy)

### Menambahkan kebijakan autentikasi ke layanan
<a name="add-service-auth-policy"></a>

Ikuti langkah-langkah ini untuk menggunakan AWS CLI untuk:
+ Aktifkan kontrol akses pada layanan menggunakan IAM.
+ Tambahkan kebijakan autentikasi ke layanan. Jika Anda tidak menambahkan kebijakan autentikasi, semua lalu lintas akan mendapatkan kesalahan akses ditolak.

**Untuk mengaktifkan kontrol akses dan menambahkan kebijakan autentikasi ke layanan baru**

1. Untuk mengaktifkan kontrol akses pada layanan sehingga dapat menggunakan kebijakan autentikasi, gunakan **create-service** perintah dengan `--auth-type` opsi dan nilai`AWS_IAM`.

   ```
   aws vpc-lattice create-service --name Name --auth-type AWS_IAM [--tags TagSpecification]
   ```

   Jika berhasil, perintah mengembalikan output yang serupa dengan berikut.

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "dnsEntry": { 
         ...
      },
      "id": "svc-0123456789abcdef0",
      "name": "Name",
      "status": "CREATE_IN_PROGRESS"
   }
   ```

1. Gunakan **put-auth-policy** perintah, tentukan ID layanan tempat Anda ingin menambahkan kebijakan autentikasi dan kebijakan autentikasi yang ingin Anda tambahkan.

   Misalnya, gunakan perintah berikut untuk membuat kebijakan autentikasi untuk layanan dengan ID*svc-0123456789abcdef0*.

   ```
   aws vpc-lattice put-auth-policy --resource-identifier svc-0123456789abcdef0 --policy file://policy.json
   ```

   Gunakan JSON untuk membuat definisi kebijakan. Untuk informasi selengkapnya, lihat [Elemen umum dalam kebijakan autentikasi](#auth-policies-common-elements).

   Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut ini.

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

**Untuk mengaktifkan kontrol akses dan menambahkan kebijakan autentikasi ke layanan yang ada**

1. Untuk mengaktifkan kontrol akses pada layanan sehingga dapat menggunakan kebijakan autentikasi, gunakan **update-service** perintah dengan `--auth-type` opsi dan nilai`AWS_IAM`.

   ```
   aws vpc-lattice update-service --service-identifier svc-0123456789abcdef0 --auth-type AWS_IAM
   ```

   Jika berhasil, perintah mengembalikan output yang serupa dengan berikut.

   ```
   {
      "arn": "arn",
      "authType": "AWS_IAM",
      "id": "svc-0123456789abcdef0",
      "name": "Name"
   }
   ```

1. Gunakan **put-auth-policy** perintah, tentukan ID layanan tempat Anda ingin menambahkan kebijakan autentikasi dan kebijakan autentikasi yang ingin Anda tambahkan.

   ```
   aws vpc-lattice put-auth-policy --resource-identifier svc-0123456789abcdef0 --policy file://policy.json
   ```

   Gunakan JSON untuk membuat definisi kebijakan. Untuk informasi selengkapnya, lihat [Elemen umum dalam kebijakan autentikasi](#auth-policies-common-elements).

   Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut ini.

   ```
   {
      "policy": "policy",
      "state": "Active"
   }
   ```

### Mengubah jenis autentikasi layanan
<a name="change-service-auth-type"></a>

**Untuk menonaktifkan kebijakan autentikasi untuk layanan**  
Gunakan **update-service** perintah dengan `--auth-type` opsi dan nilai`NONE`.

```
aws vpc-lattice update-service --service-identifier svc-0123456789abcdef0 --auth-type NONE
```

Jika Anda perlu mengaktifkan kebijakan autentikasi lagi nanti, jalankan perintah ini dengan `AWS_IAM` ditentukan untuk `--auth-type` opsi.

### Menghapus kebijakan autentikasi dari layanan
<a name="remove-service-auth-policy"></a>

**Untuk menghapus kebijakan autentikasi dari layanan**  
Gunakan perintah **delete-auth-policy**.

```
aws vpc-lattice delete-auth-policy --resource-identifier svc-0123456789abcdef0
```

Permintaan gagal jika Anda menghapus kebijakan autentikasi sebelum mengubah jenis autentikasi layanan menjadi. `NONE`

Jika Anda mengaktifkan kebijakan autentikasi yang memerlukan permintaan terautentikasi ke layanan, permintaan apa pun ke layanan tersebut harus berisi tanda tangan permintaan yang valid yang dihitung menggunakan Sigv4 (SigV4). Untuk informasi selengkapnya, lihat [SIGv4 permintaan yang diautentikasi untuk Amazon VPC Lattice](sigv4-authenticated-requests.md).

## Elemen umum dalam kebijakan autentikasi
<a name="auth-policies-common-elements"></a>

Kebijakan autentikasi VPC Lattice ditentukan menggunakan sintaks yang sama dengan kebijakan IAM. *Untuk informasi selengkapnya, lihat Kebijakan [berbasis identitas dan kebijakan berbasis sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_identity-vs-resource.html) di Panduan Pengguna IAM.*

Kebijakan autentikasi berisi elemen-elemen berikut:
+ **Kepala Sekolah** — Orang atau aplikasi yang diizinkan mengakses tindakan dan sumber daya dalam pernyataan. Dalam kebijakan autentikasi, prinsipal adalah entitas IAM yang merupakan penerima izin ini. Prinsipal diautentikasi sebagai entitas IAM untuk membuat permintaan ke sumber daya tertentu, atau kelompok sumber daya seperti dalam kasus layanan dalam jaringan layanan. 

  Anda harus menentukan principal dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau layanan. AWS Untuk informasi selengkapnya, lihat [elemen kebijakan AWS JSON: Principal](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html) dalam *Panduan Pengguna IAM*.
+ **Efek** — Efek ketika prinsipal yang ditentukan meminta tindakan spesifik. Ini bisa salah satu `Allow` atau`Deny`. Secara default, ketika Anda mengaktifkan kontrol akses pada layanan atau jaringan layanan menggunakan IAM, prinsipal tidak memiliki izin untuk membuat permintaan ke jaringan layanan atau layanan.
+ **Tindakan — Tindakan** API spesifik yang Anda berikan atau tolak izinnya. VPC Lattice mendukung tindakan yang menggunakan awalan. `vpc-lattice-svcs` Untuk informasi selengkapnya, lihat [Tindakan yang ditentukan oleh Amazon VPC Lattice Services](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-actions-as-permissions) di Referensi Otorisasi *Layanan*.
+ **Sumber Daya** — Layanan yang dipengaruhi oleh tindakan. 
+ **Kondisi** - Kondisi bersifat opsional. Anda dapat menggunakannya untuk mengontrol kapan kebijakan Anda berlaku. Untuk informasi selengkapnya, lihat [Kunci kondisi untuk Layanan Kisi VPC Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-policy-keys) di Referensi Otorisasi *Layanan*.

Saat Anda membuat dan mengelola kebijakan autentikasi, Anda mungkin ingin menggunakan [IAM Policy](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html#access_policies_create-generator) Generator.

**Persyaratan**  
Kebijakan di JSON tidak boleh berisi baris baru atau baris kosong.

## Format sumber daya untuk kebijakan autentikasi
<a name="auth-policies-resource-format"></a>

Anda dapat membatasi akses ke sumber daya tertentu dengan membuat kebijakan autentikasi yang menggunakan skema yang cocok dengan `<serviceARN>/<path>` pola dan kode `Resource` elemen seperti yang ditunjukkan pada contoh berikut. 


| Protokol | Contoh | 
| --- | --- | 
| HTTP |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/vpc-lattice/latest/ug/auth-policies.html)  | 
| gRPC |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/vpc-lattice/latest/ug/auth-policies.html)  | 

Gunakan format sumber daya Amazon Resource Name (ARN) berikut untuk: `<serviceARN>`

```
arn:aws:vpc-lattice:region:account-id:service/service-id
```

Contoh:

```
"Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0"
```

## Kunci kondisi yang dapat digunakan dalam kebijakan autentikasi
<a name="auth-policies-condition-keys"></a>

Akses dapat dikontrol lebih lanjut oleh kunci kondisi dalam elemen **Kondisi** kebijakan autentikasi. Kunci kondisi ini hadir untuk evaluasi tergantung pada protokol dan apakah permintaan ditandatangani dengan [Signature Version 4 (SigV4)](sigv4-authenticated-requests.md) atau anonim. Kunci kondisi peka huruf besar/kecil.

AWS menyediakan kunci kondisi global yang dapat Anda gunakan untuk mengontrol akses, seperti `aws:PrincipalOrgID` dan`aws:SourceIp`. Untuk melihat daftar kunci kondisi AWS global, lihat [kunci konteks kondisi AWS global](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html) di *Panduan Pengguna IAM*.

Kisah berikut mencantumkan kunci kondisi VPC Lattice. Untuk informasi selengkapnya, lihat [Kunci kondisi untuk Layanan Kisi VPC Amazon](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonvpclatticeservices.html#amazonvpclatticeservices-policy-keys) di Referensi Otorisasi *Layanan*.


| Kunci syarat | Deskripsi | Contoh | Tersedia untuk penelepon anonim (tidak diautentikasi)? | Tersedia untuk gRPC? | 
| --- | --- | --- | --- | --- | 
| vpc-lattice-svcs:Port | Memfilter akses oleh port layanan permintaan dibuat | 80 | Ya | Ya | 
| vpc-lattice-svcs:RequestMethod | Memfilter akses dengan metode permintaan | GET | Ya | Selalu POST | 
| vpc-lattice-svcs:RequestPath | Memfilter akses berdasarkan bagian jalur dari URL permintaan | /path | Ya | Ya | 
| vpc-lattice-svcs:RequestHeader/header-name: value | Memfilter akses dengan pasangan nama-nilai header di header permintaan | content-type: application/json | Ya | Ya | 
| vpc-lattice-svcs:RequestQueryString/key-name: value | Memfilter akses dengan pasangan nilai kunci string kueri di URL permintaan | quux: [corge, grault] | Ya | Tidak | 
| vpc-lattice-svcs:ServiceNetworkArn | Memfilter akses oleh ARN dari jaringan layanan layanan yang menerima permintaan | arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-0123456789abcdef0 | Ya | Ya | 
| vpc-lattice-svcs:ServiceArn | Memfilter akses oleh ARN dari layanan yang menerima permintaan | arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0 | Ya | Ya | 
| vpc-lattice-svcs:SourceVpc | Memfilter akses oleh VPC permintaan dibuat dari | vpc-1a2b3c4d | Ya | Ya | 
| vpc-lattice-svcs:SourceVpcOwnerAccount | Memfilter akses oleh akun VPC yang memiliki permintaan dibuat | 123456789012 | Ya | Ya | 

## Tag sumber daya
<a name="resource-tags"></a>

*Tag* adalah label metadata yang Anda tetapkan atau yang ditetapkan ke sumber AWS daya. AWS Setiap tag memiliki dua bagian:
+ Sebuah *kunci tag* (misalnya, `CostCenter`, `Environment`, atau `Project`). Kunci tag peka huruf besar dan kecil.
+ Bidang opsional yang dikenal sebagai *nilai tag* (misalnya, `111122223333` atau `Production`). Mengabaikan nilai tag sama dengan menggunakan sebuah string kosong. Seperti kunci tag, nilai tag peka huruf besar/kecil.

Untuk informasi selengkapnya tentang penandaan, lihat [Mengontrol akses ke AWS sumber daya menggunakan](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html) tag

Anda dapat menggunakan tag dalam kebijakan autentikasi menggunakan kunci konteks kondisi `aws:ResourceTag/key` AWS global.

Contoh kebijakan berikut memberikan akses ke layanan dengan tag`Environment=Gamma`. Kebijakan ini memungkinkan Anda merujuk ke layanan tanpa layanan hard‑coding atau. ARNs IDs

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "AllowGammaAccess",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "vpc-lattice-svcs:Invoke",
      "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0124446789abcdef0/*",
      "Condition": {
        "StringEquals": {
          "aws:ResourceTag/Environment": "Gamma",
        }
      }
    }
  ]
}
```

## Tag utama
<a name="principal-tags"></a>

Anda dapat mengontrol akses ke layanan dan sumber daya Anda berdasarkan tag yang dilampirkan pada identitas pemanggil. VPC Lattice mendukung kontrol akses berdasarkan tag utama apa pun pada tag pengguna, peran, atau sesi menggunakan variabel. `aws:PrincipalTag/context` Untuk informasi selengkapnya, lihat [Mengontrol akses untuk prinsipal IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_iam-tags.html#access_iam-tags_control-principals).

Contoh kebijakan berikut memberikan akses hanya ke identitas dengan tag. `Team=Payments` Kebijakan ini memungkinkan Anda mengontrol akses tanpa akun IDs atau peran hardcoding. ARNs

```
{
  "Version": "2012-10-17", 		 	 	 		 	 	 
  "Statement": [
    {
      "Sid": "AllowPaymentsTeam",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "vpc-lattice-svcs:Invoke",
      "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*",
      "Condition": {
        "StringEquals": {
          "aws:PrincipalTag/Team": "Payments",
        }
      }
    }
  ]
}
```

## Prinsipal anonim (tidak diautentikasi)
<a name="anonymous-unauthenticated-principals"></a>

Prinsipal anonim adalah penelepon yang tidak menandatangani AWS permintaan mereka dengan [Signature Version 4 (SigV4)](sigv4-authenticated-requests.md), dan berada dalam VPC yang terhubung ke jaringan layanan. Prinsipal anonim dapat membuat permintaan yang tidak diautentikasi ke layanan di jaringan layanan jika kebijakan autentikasi mengizinkannya.

## Contoh kebijakan autentikasi
<a name="example-auth-policies"></a>

Berikut ini adalah contoh kebijakan autentikasi yang mengharuskan permintaan dibuat oleh prinsipal yang diautentikasi.

Semua contoh menggunakan `us-west-2` Wilayah dan berisi akun fiktif. IDs

**Contoh 1: Batasi akses ke layanan oleh organisasi tertentu AWS**  
Contoh kebijakan autentikasi berikut memberikan izin untuk setiap permintaan yang diautentikasi untuk mengakses layanan apa pun di jaringan layanan tempat kebijakan tersebut berlaku. Namun, permintaan harus berasal dari kepala sekolah yang termasuk dalam AWS organisasi yang ditentukan dalam kondisi.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": "*",
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": "*",
         "Condition": {
            "StringEquals": {
               "aws:PrincipalOrgID": [ 
                  "o-123456example"
               ]
            }
         }
      }
   ]
}
```

------

**Contoh 2: Batasi akses ke layanan dengan peran IAM tertentu**  
Contoh kebijakan autentikasi berikut memberikan izin untuk setiap permintaan yang diautentikasi yang menggunakan peran IAM `rates-client` untuk membuat permintaan HTTP GET pada layanan yang ditentukan dalam elemen. `Resource` Sumber daya dalam `Resource` elemen sama dengan layanan yang dilampirkan kebijakan tersebut.

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement":[
      {
         "Effect": "Allow",
         "Principal": {
            "AWS": [
               "arn:aws:iam::123456789012:role/rates-client"
            ]
         },
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": [
            "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*"
         ],
         "Condition": {
            "StringEquals": {
               "vpc-lattice-svcs:RequestMethod": "GET"
            }
         }
      }
   ]
}
```

------

**Contoh 3: Batasi akses ke layanan oleh prinsipal yang diautentikasi di VPC tertentu**  
Contoh kebijakan autentikasi berikut hanya mengizinkan permintaan yang diautentikasi dari prinsipal di VPC yang ID VPC-nya. `vpc-1a2b3c4d`

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
      {
         "Effect": "Allow",
         "Principal": "*",
         "Action": "vpc-lattice-svcs:Invoke",
         "Resource": "*",
         "Condition": {
            "StringNotEquals": {
               "aws:PrincipalType": "Anonymous"
            },
            "StringEquals": {
               "vpc-lattice-svcs:SourceVpc": "vpc-1a2b3c4d"
            }
         }
      }
   ]
}
```

------

## Cara kerja otorisasi
<a name="auth-policies-evaluation-logic"></a>

Ketika layanan VPC Lattice menerima permintaan, kode AWS penegakan akan mengevaluasi semua kebijakan izin yang relevan secara bersamaan untuk menentukan apakah akan mengotorisasi atau menolak permintaan tersebut. Ini mengevaluasi semua kebijakan berbasis identitas IAM dan kebijakan autentikasi yang berlaku dalam konteks permintaan selama otorisasi. Secara default, semua permintaan ditolak secara implisit saat jenis autentikasi. `AWS_IAM` Izin eksplisit dari semua kebijakan yang relevan akan mengesampingkan default.

Otorisasi meliputi:
+ Mengumpulkan semua kebijakan dan kebijakan autentikasi berbasis identitas IAM yang relevan.
+ Mengevaluasi serangkaian kebijakan yang dihasilkan:
  + Memverifikasi bahwa pemohon (seperti pengguna atau peran IAM) memiliki izin untuk melakukan operasi dari akun tempat pemohon berada. Jika tidak ada pernyataan izin eksplisit, AWS tidak mengotorisasi permintaan.
  + Memverifikasi bahwa permintaan diizinkan oleh kebijakan autentikasi untuk jaringan layanan. Jika kebijakan autentikasi diaktifkan, tetapi tidak ada pernyataan izin eksplisit, AWS tidak mengotorisasi permintaan. Jika ada pernyataan allow eksplisit, atau tipe autentikasi`NONE`, kode berlanjut. 
  + Memverifikasi bahwa permintaan diizinkan oleh kebijakan autentikasi untuk layanan. Jika kebijakan autentikasi diaktifkan, tetapi tidak ada pernyataan izin eksplisit, AWS tidak mengotorisasi permintaan. **Jika ada pernyataan allow eksplisit, atau tipe autentikasi`NONE`, maka kode penegakan mengembalikan keputusan akhir Izinkan.**
  + Penolakan secara tegas dalam kebijakan apa pun akan mengesampingkan izin apa pun.

Diagram menunjukkan alur kerja otorisasi. Ketika permintaan dibuat, kebijakan yang relevan mengizinkan atau menolak akses permintaan ke layanan tertentu.

![\[Alur kerja otorisasi\]](http://docs.aws.amazon.com/id_id/vpc-lattice/latest/ug/images/authpolicy.png)
