

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

# Cara kerja Amazon API Gateway dengan IAM
<a name="security_iam_service-with-iam"></a>

Sebelum Anda menggunakan IAM untuk mengelola akses ke API Gateway, Anda harus memahami fitur IAM apa yang tersedia untuk digunakan dengan API Gateway. Untuk mendapatkan tampilan tingkat tinggi tentang cara kerja API Gateway dan AWS layanan lainnya dengan IAM, lihat [AWS Layanan yang Bekerja dengan IAM di Panduan Pengguna *IAM*](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html).

**Topics**
+ [Kebijakan berbasis identitas API Gateway](#security_iam_service-with-iam-id-based-policies)
+ [Kebijakan berbasis sumber daya API Gateway](#security_iam_service-with-iam-resource-based-policies)
+ [Otorisasi berdasarkan tag API Gateway](#security_iam_service-with-iam-tags)
+ [Peran IAM API Gateway](#security_iam_service-with-iam-roles)

## Kebijakan berbasis identitas API Gateway
<a name="security_iam_service-with-iam-id-based-policies"></a>

Dengan kebijakan berbasis identitas IAM, Anda dapat menentukan tindakan dan sumber daya mana yang diizinkan atau ditolak serta kondisi di mana tindakan diizinkan atau ditolak. API Gateway mendukung tindakan, sumber daya, dan kunci kondisi tertentu. Untuk informasi selengkapnya tentang tindakan, sumber daya, dan kunci kondisi khusus Gateway API, lihat Kunci [tindakan, sumber daya, dan kondisi untuk Pengelolaan dan Tindakan Amazon API Gateway](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagement.html)[, sumber daya, dan kunci kondisi untuk Amazon API Gateway](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonapigatewaymanagementv2.html) Management V2. Untuk informasi tentang semua elemen yang Anda gunakan dalam kebijakan JSON, lihat [Referensi Elemen Kebijakan IAM JSON](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html) di Panduan Pengguna *IAM*.

Contoh berikut menunjukkan kebijakan berbasis identitas yang memungkinkan pengguna untuk membuat atau memperbarui hanya REST pribadi. APIs Untuk contoh lainnya, lihat [Contoh kebijakan berbasis identitas Amazon API Gateway](security_iam_id-based-policy-examples.md).

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "ScopeToPrivateApis",
      "Effect": "Allow",
      "Action": [
        "apigateway:PATCH",
        "apigateway:POST",
        "apigateway:PUT"
      ],
      "Resource": [
        "arn:aws:apigateway:us-east-1::/restapis",
        "arn:aws:apigateway:us-east-1::/restapis/??????????"
      ],
      "Condition": {
        "ForAllValues:StringEqualsIfExists": {
          "apigateway:Request/EndpointType": "PRIVATE",
          "apigateway:Resource/EndpointType": "PRIVATE"
        }
      }
    },
    {
      "Sid": "AllowResourcePolicyUpdates",
      "Effect": "Allow",
      "Action": [
          "apigateway:UpdateRestApiPolicy"
      ],
      "Resource": [
          "arn:aws:apigateway:us-east-1::/restapis/*"
      ]
    }
  ]
}
```

------

### Tindakan
<a name="security_iam_service-with-iam-id-based-policies-actions"></a>

Elemen `Action` dari kebijakan JSON menjelaskan tindakan yang dapat Anda gunakan untuk mengizinkan atau menolak akses dalam sebuah kebijakan.

Tindakan kebijakan di API Gateway menggunakan awalan berikut sebelum tindakan:`apigateway:`. Pernyataan kebijakan harus memuat elemen `Action` atau `NotAction`. API Gateway mendefinisikan serangkaian tindakannya sendiri yang menjelaskan tugas yang dapat Anda lakukan dengan layanan ini.



`Action`Ekspresi API-managing memiliki format`apigateway:action`, di mana *action* salah satu tindakan API Gateway berikut: **GET**, **POST**, **PUT**, **DELETE**, **PATCH** (untuk memperbarui sumber daya), atau **\$1**, yang merupakan semua tindakan sebelumnya.

Beberapa contoh `Action` ekspresi meliputi:
+ **apigateway:\$1**untuk semua tindakan API Gateway.
+ **apigateway:GET**hanya untuk tindakan GET di API Gateway.

Untuk menetapkan beberapa tindakan dalam satu pernyataan, pisahkan tindakan-tindakan tersebut menggunakan koma seperti berikut:

```
"Action": [
      "apigateway:action1",
      "apigateway:action2"
```

Untuk informasi tentang kata kerja HTTP yang akan digunakan untuk operasi API Gateway tertentu, lihat Referensi [API Amazon API Gateway Versi 1 (REST APIs) dan Referensi](https://docs.aws.amazon.com/apigateway/api-reference/) [API Amazon API Gateway Versi 2](https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/api-reference.html) (WebSocket dan HTTP APIs).

Untuk informasi selengkapnya, lihat [Contoh kebijakan berbasis identitas Amazon API Gateway](security_iam_id-based-policy-examples.md).

### Sumber daya
<a name="security_iam_service-with-iam-id-based-policies-resources"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, di mana **utama** dapat melakukan **tindakan** pada **sumber daya**, dan dalam **kondisi apa**.

Elemen kebijakan JSON `Resource` menentukan objek yang menjadi target penerapan tindakan. Praktik terbaiknya, tentukan sumber daya menggunakan [Amazon Resource Name (ARN)](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference-arns.html). Untuk tindakan yang tidak mendukung izin di tingkat sumber daya, gunakan wildcard (\$1) untuk menunjukkan bahwa pernyataan tersebut berlaku untuk semua sumber daya.

```
"Resource": "*"
```



Sumber daya API Gateway memiliki format ARN berikut:

```
arn:aws:apigateway:region::resource-path-specifier
```

Misalnya, untuk menentukan REST API dengan id *`api-id`* dan sub-sumber dayanya, seperti otorisasi dalam pernyataan Anda, gunakan ARN berikut:

```
"Resource": "arn:aws:apigateway:us-east-2::/restapis/api-id/*"
```

Untuk menentukan semua REST APIs dan sub-sumber daya milik akun tertentu, gunakan wildcard (\$1):

```
"Resource": "arn:aws:apigateway:us-east-2::/restapis/*"
```

Untuk daftar jenis sumber daya API Gateway dan jenisnya ARNs, lihat[Referensi API Gateway Amazon Resource Name (ARN)](arn-format-reference.md). 

### Kunci syarat
<a name="security_iam_service-with-iam-id-based-policies-conditionkeys"></a>

Administrator dapat menggunakan kebijakan AWS JSON untuk menentukan siapa yang memiliki akses ke apa. Yaitu, **principal** dapat melakukan **tindakan** pada suatu **sumber daya**, dan dalam suatu **syarat**.

Elemen `Condition` menentukan ketika pernyataan dieksekusi berdasarkan kriteria yang ditetapkan. Anda dapat membuat ekspresi bersyarat yang menggunakan [operator kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition_operators.html), misalnya sama dengan atau kurang dari, untuk mencocokkan kondisi dalam kebijakan dengan nilai-nilai yang diminta. Untuk melihat semua 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*.

API Gateway mendefinisikan kumpulan kunci kondisinya sendiri dan juga mendukung penggunaan beberapa kunci kondisi global. Untuk daftar kunci kondisi API Gateway, lihat [Kunci Kondisi untuk Amazon API Gateway](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_manageamazonapigateway.html#manageamazonapigateway-policy-keys) di *Panduan Pengguna IAM*. Untuk informasi tentang tindakan dan sumber daya yang dapat Anda gunakan dengan kunci kondisi, lihat [Tindakan yang Ditentukan oleh Amazon API Gateway](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_manageamazonapigateway.html#amazonapigateway-actions-as-permissions).

Untuk informasi tentang penandaan, termasuk kontrol akses berbasis atribut, lihat. [Menandai sumber daya API Gateway Anda](apigateway-tagging.md)

### Contoh
<a name="security_iam_service-with-iam-id-based-policies-examples"></a>



Untuk contoh kebijakan berbasis identitas API Gateway, lihat. [Contoh kebijakan berbasis identitas Amazon API Gateway](security_iam_id-based-policy-examples.md)

## Kebijakan berbasis sumber daya API Gateway
<a name="security_iam_service-with-iam-resource-based-policies"></a>

Kebijakan berbasis sumber daya adalah dokumen kebijakan JSON yang menentukan tindakan apa yang dapat dilakukan oleh prinsipal tertentu pada sumber daya API Gateway dan dalam kondisi apa. API Gateway mendukung kebijakan izin berbasis sumber daya untuk REST. APIs Anda menggunakan kebijakan sumber daya untuk mengontrol siapa yang dapat menjalankan REST API. Untuk informasi selengkapnya, lihat [Kontrol akses ke REST API dengan kebijakan sumber daya API Gateway](apigateway-resource-policies.md). 

### Contoh
<a name="security_iam_service-with-iam-resource-based-policies-examples"></a>

Untuk contoh kebijakan berbasis sumber daya API Gateway, lihat. [Contoh kebijakan sumber daya API Gateway](apigateway-resource-policies-examples.md)

## Otorisasi berdasarkan tag API Gateway
<a name="security_iam_service-with-iam-tags"></a>

Anda dapat melampirkan tag ke resource API Gateway atau meneruskan tag dalam permintaan ke API Gateway. Untuk mengendalikan akses berdasarkan tanda, berikan informasi tentang tanda di [elemen kondisi](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_condition.html) dari kebijakan menggunakan kunci kondisi `apigateway:ResourceTag/key-name`, `aws:RequestTag/key-name`, atau `aws:TagKeys`. Untuk informasi selengkapnya tentang menandai resource API Gateway, lihat[Menggunakan tag untuk mengontrol akses ke sumber daya API API Gateway REST API](apigateway-tagging-iam-policy.md).

Untuk contoh kebijakan berbasis identitas untuk membatasi akses ke sumber daya berdasarkan tag pada sumber daya tersebut, lihat. [Menggunakan tag untuk mengontrol akses ke sumber daya API API Gateway REST API](apigateway-tagging-iam-policy.md)

## Peran IAM API Gateway
<a name="security_iam_service-with-iam-roles"></a>

[Peran IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) adalah entitas dalam AWS akun Anda yang memiliki izin tertentu.

### Menggunakan kredensi sementara dengan API Gateway
<a name="security_iam_service-with-iam-roles-tempcreds"></a>

Anda dapat menggunakan kredensial sementara untuk masuk dengan gabungan, menjalankan IAM role, atau menjalankan peran lintas akun. Anda memperoleh kredensil keamanan sementara dengan memanggil operasi AWS STS API seperti [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html)atau. [GetFederationToken](https://docs.aws.amazon.com/STS/latest/APIReference/API_GetFederationToken.html) 

API Gateway mendukung penggunaan kredensi sementara. 

### Peran terkait layanan
<a name="security_iam_service-with-iam-roles-service-linked"></a>

[Peran terkait AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-linked-role) memungkinkan layanan mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran terkait layanan muncul di akun IAM Anda dan dimiliki oleh layanan tersebut. Administrator IAM dapat melihat tetapi tidak dapat mengedit izin untuk peran terkait layanan.

API Gateway mendukung peran terkait layanan. Untuk informasi tentang membuat atau mengelola peran terkait layanan API Gateway, lihat. [Menggunakan peran terkait layanan untuk API Gateway](using-service-linked-roles.md)

### Peran layanan
<a name="security_iam_service-with-iam-roles-service"></a>

Layanan dapat mengambil [peran layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_terms-and-concepts.html#iam-term-service-role) atas nama Anda. Peran layanan memungkinkan layanan mengakses sumber daya di layanan lain untuk menyelesaikan tindakan atas nama Anda. Peran layanan muncul di akun IAM Anda dan dimiliki oleh akun, sehingga administrator dapat mengubah izin untuk peran ini. Namun, melakukan hal itu dapat merusak fungsionalitas layanan.

API Gateway mendukung peran layanan. 