

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

# Lingkup, M2M, dan server sumber daya
<a name="cognito-user-pools-define-resource-servers"></a>

Setelah mengonfigurasi domain untuk kumpulan pengguna, Amazon Cognito secara otomatis menyediakan server otorisasi OAuth 2.0 dan UI web yang dihosting dengan halaman pendaftaran dan login yang dapat ditampilkan aplikasi kepada pengguna Anda. Untuk mengetahui informasi selengkapnya, lihat [Login terkelola kumpulan pengguna](cognito-user-pools-managed-login.md). Anda dapat memilih cakupan yang Anda inginkan untuk ditambahkan oleh server otorisasi ke token akses. Cakupan mengotorisasi akses ke server sumber daya dan data pengguna.

*Server sumber daya* adalah server API OAuth 2.0. Untuk mengamankan sumber daya yang dilindungi akses, ini memvalidasi bahwa token akses dari kumpulan pengguna Anda berisi cakupan yang mengotorisasi metode dan jalur yang diminta di API yang dilindunginya. Ini memverifikasi penerbit berdasarkan tanda tangan token, validitas berdasarkan waktu kedaluwarsa token, dan tingkat akses berdasarkan cakupan dalam klaim token. Lingkup kumpulan pengguna ada dalam `scope` klaim token akses. Untuk informasi selengkapnya tentang klaim dalam token akses Amazon Cognito, lihat. [Memahami token akses](amazon-cognito-user-pools-using-the-access-token.md)

Dengan Amazon Cognito, cakupan dalam token akses dapat mengotorisasi akses ke atribut eksternal APIs atau pengguna. Anda dapat mengeluarkan token akses ke pengguna lokal, pengguna federasi, atau identitas mesin.

**Topics**
+ [Otorisasi API](#cognito-user-pools-define-resource-servers-about-api-authz)
+ [Machine-to-machine (M2M) otorisasi](#cognito-user-pools-define-resource-servers-about-m2m)
+ [Tentang cakupan](#cognito-user-pools-define-resource-servers-about-scopes)
+ [Tentang server sumber daya](#cognito-user-pools-define-resource-servers-about-resource-servers)
+ [Pengikatan sumber daya](#cognito-user-pools-resource-binding)

## Otorisasi API
<a name="cognito-user-pools-define-resource-servers-about-api-authz"></a>

Berikut ini adalah beberapa cara yang dapat Anda otorisasi permintaan APIs dengan token Amazon Cognito:

**Token akses**  
Saat menambahkan otorisasi Amazon Cognito ke konfigurasi permintaan metode REST API, tambahkan **cakupan Otorisasi ke konfigurasi otorisasi**. Dengan konfigurasi ini, API Anda menerima token akses di `Authorization` header dan meninjaunya untuk cakupan yang diterima.

**Token ID**  
Saat Anda meneruskan token ID yang valid ke otorisasi Amazon Cognito di REST API Anda, API Gateway menerima permintaan tersebut dan meneruskan konten token ID ke backend API.

**Izin Terverifikasi Amazon**  
Di Izin Terverifikasi, Anda memiliki opsi untuk membuat toko kebijakan [terkait API](https://docs.aws.amazon.com/verifiedpermissions/latest/userguide/policy-stores_api-userpool.html). Izin Terverifikasi membuat dan menetapkan otorisasi Lambda yang memproses ID atau token akses dari header permintaan Anda. `Authorization` Pengotorisasi Lambda ini meneruskan token Anda ke toko kebijakan Anda, tempat Izin Terverifikasi membandingkannya dengan kebijakan dan mengembalikan keputusan izin atau penolakan kepada pihak otorisasi.

**Sumber daya lainnya**
+ [Mengontrol dan mengelola akses ke REST API di API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-to-api.html)
+ [Otorisasi dengan Izin Terverifikasi Amazon](amazon-cognito-authorization-with-avp.md)

## Machine-to-machine (M2M) otorisasi
<a name="cognito-user-pools-define-resource-servers-about-m2m"></a>

Amazon Cognito mendukung aplikasi yang mengakses data API dengan identitas *mesin*. Identitas mesin di kumpulan pengguna adalah [klien rahasia](user-pool-settings-client-apps.md#user-pool-settings-client-app-client-types) yang berjalan di server aplikasi dan terhubung ke jarak jauh. APIs Operasi mereka terjadi tanpa interaksi pengguna: tugas terjadwal, aliran data, atau pembaruan aset. Ketika klien ini mengotorisasi permintaan mereka dengan token akses, mereka melakukan otorisasi *machine to machine*, atau M2M. Dalam otorisasi M2M, rahasia bersama menggantikan kredensi pengguna dalam kontrol akses.

Aplikasi yang mengakses API dengan otorisasi M2M harus memiliki ID klien dan rahasia klien. Di kumpulan pengguna, Anda harus membuat klien aplikasi yang mendukung hibah kredensi klien. Untuk mendukung kredensi klien, klien aplikasi Anda harus memiliki rahasia klien dan Anda harus memiliki domain kumpulan pengguna. Dalam alur ini, identitas mesin Anda meminta token akses langsung dari[Titik akhir token](token-endpoint.md). Anda hanya dapat mengotorisasi cakupan kustom dari [server sumber daya](#cognito-user-pools-define-resource-servers-about-resource-servers) dalam token akses untuk hibah kredensi klien. Untuk informasi selengkapnya tentang menyiapkan klien aplikasi, lihat[Pengaturan khusus aplikasi dengan klien aplikasi](user-pool-settings-client-apps.md).

Token akses dari hibah kredensial klien adalah pernyataan operasi yang dapat diverifikasi yang ingin Anda izinkan identitas mesin Anda diminta dari API. Untuk mempelajari selengkapnya tentang cara token akses mengotorisasi permintaan API, lanjutkan membaca. Untuk contoh aplikasi, lihat [Amazon Cognito dan API Gateway berbasis mesin ke otorisasi mesin menggunakan CDK](https://github.com/aws-samples/amazon-cognito-and-api-gateway-based-machine-to-machine-authorization-using-aws-cdk). AWS 

Otorisasi M2M memiliki model penagihan yang berbeda dari cara pengguna aktif bulanan () MAUs ditagih. Jika autentikasi pengguna membawa biaya per pengguna aktif, penagihan M2M mencerminkan kredensi klien aktif klien aplikasi dan total volume permintaan token. Untuk informasi selengkapnya, lihat [Harga Amazon Cognito](https://aws.amazon.com/cognito/pricing). Untuk mengontrol biaya otorisasi M2M, optimalkan durasi token akses dan jumlah permintaan token yang dibuat aplikasi Anda. Lihat [Mengelola kedaluwarsa token kumpulan pengguna dan caching](amazon-cognito-user-pools-using-tokens-caching-tokens.md) cara menggunakan caching API Gateway untuk mengurangi permintaan token baru dalam otorisasi M2M.

Untuk informasi tentang mengoptimalkan operasi Amazon Cognito yang menambahkan biaya ke tagihan AWS Anda, lihat. [Mengelola biaya](tracking-cost.md#tracking-cost-managing)

**Metadata klien untuk kredensyal klien machine-to-machine (M2M)**  
Anda dapat meneruskan [metadata klien](cognito-user-pools-working-with-lambda-triggers.md#working-with-lambda-trigger-client-metadata) dalam permintaan M2M. Metadata klien adalah informasi tambahan dari lingkungan pengguna atau aplikasi yang dapat berkontribusi pada hasil. [Pemicu Lambda generasi pra token](user-pool-lambda-pre-token-generation.md) Dalam operasi otentikasi dengan prinsipal pengguna, Anda dapat meneruskan metadata klien ke pemicu pembuatan token pra di badan [AdminRespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminRespondToAuthChallenge.html)dan [RespondToAuthChallenge](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RespondToAuthChallenge.html)permintaan API. Karena aplikasi melakukan aliran untuk pembuatan token akses untuk M2M dengan permintaan langsung ke[Titik akhir token](token-endpoint.md), mereka memiliki model yang berbeda. Di badan POST dari permintaan token untuk kredensil klien, teruskan `aws_client_metadata` parameter dengan objek metadata klien URL-encoded () ke string. `x-www-form-urlencoded` Untuk contoh permintaan, lihat[Kredensi klien dengan otorisasi dasarKredensi klien dengan otorisasi badan POST](token-endpoint.md#exchanging-client-credentials-for-an-access-token-in-request-body). Berikut ini adalah contoh parameter yang melewati pasangan kunci-nilai. `{"environment": "dev", "language": "en-US"}`

```
aws_client_metadata=%7B%22environment%22%3A%20%22dev%22,%20%22language%22%3A%20%22en-US%22%7D
```

## Tentang cakupan
<a name="cognito-user-pools-define-resource-servers-about-scopes"></a>

Sebuah *cakupan* adalah tingkat akses yang dapat diminta aplikasi ke sumber daya. Dalam token akses Amazon Cognito, ruang lingkup didukung oleh kepercayaan yang Anda atur dengan kumpulan pengguna Anda: penerbit token akses tepercaya dengan tanda tangan digital yang dikenal. Kumpulan pengguna dapat menghasilkan token akses dengan cakupan yang membuktikan bahwa pelanggan Anda diizinkan untuk mengelola sebagian atau semua profil pengguna mereka sendiri, atau untuk mengambil data dari API back-end. Kumpulan pengguna Amazon Cognito mengeluarkan token akses dengan *cakupan API cadangan kumpulan pengguna, cakupan *khusus*, dan cakupan* *OpenID Connect (OIDC*).

**Pengguna mengumpulkan cakupan API yang dicadangkan**  
`aws.cognito.signin.user.admin`Cakupan mengotorisasi operasi swalayan untuk pengguna saat ini di API kumpulan pengguna Amazon Cognito. Ini memberi wewenang kepada pembawa token akses untuk menanyakan dan memperbarui semua informasi tentang pembawa dengan, misalnya, operasi [GetUser](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_GetUser.html)dan [UpdateUserAttributes](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserAttributes.html)API. Saat Anda mengautentikasi pengguna Anda dengan API kumpulan pengguna Amazon Cognito, ini adalah satu-satunya cakupan yang Anda terima dalam token akses. Ini juga satu-satunya cakupan yang Anda perlukan untuk membaca dan menulis atribut pengguna yang telah Anda otorisasi untuk dibaca dan ditulis oleh klien aplikasi. Anda juga dapat meminta ruang lingkup ini dalam permintaan ke Anda[Otorisasi titik akhir](authorization-endpoint.md). Cakupan ini saja tidak cukup untuk meminta atribut pengguna dari[Titik akhir UserInfo](userinfo-endpoint.md). Untuk token akses yang mengotorisasi API kumpulan pengguna *dan* `userInfo` permintaan untuk pengguna Anda, Anda harus meminta cakupan `openid` dan `aws.cognito.signin.user.admin` permintaan. `/oauth2/authorize`

**Lingkup kustom**  
Cakupan khusus mengotorisasi permintaan ke eksternal APIs yang dilindungi oleh server sumber daya. Anda dapat meminta cakupan khusus dengan jenis cakupan lainnya. Anda dapat menemukan informasi lebih lanjut tentang cakupan khusus di seluruh halaman ini.

**Cakupan OpenID Connect (OIDC)**  
Ketika Anda mengautentikasi pengguna dengan server otorisasi kumpulan pengguna Anda, termasuk dengan login terkelola, Anda harus meminta cakupan. Anda dapat mengautentikasi kumpulan pengguna pengguna lokal dan pengguna federasi pihak ketiga di server otorisasi Amazon Cognito Anda. Cakupan OIDC mengotorisasi aplikasi Anda untuk membaca informasi pengguna dari kumpulan pengguna Anda[Titik akhir UserInfo](userinfo-endpoint.md). OAuth Model, tempat Anda melakukan kueri atribut pengguna dari `userInfo` titik akhir, dapat mengoptimalkan aplikasi Anda untuk permintaan atribut pengguna dengan volume tinggi. `userInfo`Titik akhir mengembalikan atribut pada tingkat izin yang ditentukan oleh cakupan dalam token akses. Anda dapat mengotorisasi klien aplikasi Anda untuk mengeluarkan token akses dengan cakupan OIDC berikut.

openid  
Cakupan minimum untuk kueri OpenID Connect (OIDC). Mengotorisasi token ID, klaim pengenal unik`sub`, dan kemampuan untuk meminta cakupan lainnya.  
Saat Anda meminta `openid` cakupan dan tidak ada yang lain, token dan `userInfo` respons ID kumpulan pengguna menyertakan klaim untuk semua atribut pengguna yang dapat dibaca oleh klien aplikasi Anda. Saat Anda meminta `openid` dan cakupan OIDC lainnya seperti`profile`,`email`, dan`phone`, konten token ID dan respons [UserInfo](userinfo-endpoint.md#userinfo-endpoint.title) terbatas pada batasan cakupan tambahan.  
Misalnya, permintaan ke [Otorisasi titik akhir](authorization-endpoint.md) with parameter `scope=openid+email` mengembalikan token ID dengan`sub`,`email`, dan`email_verified`. Token akses dari permintaan ini mengembalikan atribut yang sama dari[Titik akhir UserInfo](userinfo-endpoint.md). Permintaan dengan parameter `scope=openid` mengembalikan semua atribut yang dapat dibaca klien dalam token ID dan dari. `userInfo`

profile  
Mengotorisasi semua atribut pengguna yang dapat dibaca oleh klien aplikasi.

Email  
Mengotorisasi atribut pengguna `email` dan`email_verified`. Amazon Cognito kembali `email_verified` jika memiliki nilai yang ditetapkan secara eksplisit.

telepon  
Mengotorisasi atribut pengguna `phone_number` dan`phone_number_verified`.

## Tentang server sumber daya
<a name="cognito-user-pools-define-resource-servers-about-resource-servers"></a>

API server sumber daya mungkin memberikan akses ke informasi dalam database, atau mengontrol sumber daya TI Anda. Token akses Amazon Cognito dapat mengotorisasi akses ke dukungan 2.0 APIs itu. OAuth Amazon API Gateway REST APIs memiliki [dukungan bawaan](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-integrate-with-cognito.html) untuk otorisasi dengan token akses Amazon Cognito. Aplikasi Anda meneruskan token akses dalam panggilan API ke server sumber daya. Server sumber daya memeriksa token akses untuk menentukan apakah akses harus diberikan.

Amazon Cognito mungkin membuat pembaruan masa depan untuk skema token akses kumpulan pengguna. Jika aplikasi Anda menganalisis konten token akses sebelum meneruskannya ke API, Anda harus merekayasa kode Anda untuk menerima pembaruan skema.

Cakupan kustom ditentukan oleh Anda, dan memperluas kemampuan otorisasi kumpulan pengguna untuk menyertakan tujuan yang tidak terkait dengan kueri dan modifikasi pengguna dan atributnya. Misalnya, jika Anda memiliki server sumber daya untuk foto, itu mungkin menentukan dua cakupan: `photos.read` untuk akses baca ke foto dan `photos.write` untuk write/delete akses. Anda dapat mengonfigurasi API untuk menerima token akses untuk otorisasi, dan memberikan `HTTP GET` permintaan untuk mengakses token dengan `photos.read` `scope` klaim, dan `HTTP POST` permintaan ke token dengan`photos.write`. Ini adalah *cakupan khusus*.

**catatan**  
Server sumber daya Anda harus memverifikasi tanda tangan token akses dan tanggal kedaluwarsa sebelum memproses klaim apa pun di dalam token. Untuk informasi selengkapnya tentang memverifikasi token, lihat[Memverifikasi token web JSON](amazon-cognito-user-pools-using-tokens-verifying-a-jwt.md). Untuk informasi selengkapnya tentang memverifikasi dan menggunakan token kumpulan pengguna di Amazon API Gateway, lihat blog [Mengintegrasikan Kumpulan Pengguna Amazon Cognito dengan API Gateway](https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools-with-api-gateway/). API Gateway adalah pilihan yang baik untuk memeriksa token akses dan melindungi sumber daya Anda. Untuk lebih lanjut tentang pengotorisasi Lambda API Gateway, lihat [Gunakan pengotorisasi Lambda API Gateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-use-lambda-authorizer.html).

**Ikhtisar**  
Dengan Amazon Cognito, Anda dapat membuat **server Sumber Daya OAuth ** 2.0 dan mengaitkan **cakupan Kustom** dengannya. Cakupan kustom dalam token akses mengotorisasi tindakan tertentu di API Anda. Anda dapat mengotorisasi klien aplikasi apa pun di kumpulan pengguna untuk mengeluarkan cakupan kustom dari server sumber daya mana pun. Kaitkan cakupan kustom Anda dengan klien aplikasi dan minta cakupan tersebut dalam hibah kode otorisasi OAuth 2.0, hibah implisit, dan hibah kredensil klien dari. [Titik akhir token](token-endpoint.md) Amazon Cognito menambahkan cakupan khusus ke `scope` klaim dalam token akses. Klien dapat menggunakan token akses terhadap server sumber dayanya, yang membuat keputusan otorisasi berdasarkan cakupan yang ada dalam token. Untuk informasi selengkapnya tentang cakupan token akses, lihat [Menggunakan Token dengan Kolam Pengguna](amazon-cognito-user-pools-using-tokens-with-identity-providers.md).

![\[Ikhtisar aliran server sumber daya. Klien meminta hibah dengan cakupan khusus, kumpulan pengguna mengembalikan token akses dengan cakupan kustom, dan klien menyajikan token akses ke API.\]](http://docs.aws.amazon.com/id_id/cognito/latest/developerguide/images/resource-servers.png)


Untuk mendapatkan token akses dengan cakupan kustom, aplikasi Anda harus membuat permintaan [Titik akhir token](token-endpoint.md) untuk menukarkan kode otorisasi atau meminta pemberian kredensi klien. Dalam login terkelola, Anda juga dapat meminta cakupan kustom dalam token akses dari hibah implisit.

**catatan**  
Karena mereka dirancang untuk otentikasi interaktif manusia dengan kumpulan pengguna sebagai IDP, [InitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html)dan [AdminInitiateAuth](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html)permintaan hanya menghasilkan `scope` klaim dalam token akses dengan nilai tunggal. `aws.cognito.signin.user.admin`

**Mengelola Server Sumber Daya dan Lingkup Kustom**

Saat membuat server sumber daya, Anda harus memberikan nama server sumber daya dan pengenal server sumber daya. Untuk setiap lingkup yang Anda buat di server sumber daya, Anda harus memberikan nama lingkup dan deskripsi.
+ **Nama server sumber daya**: Nama yang ramah untuk server sumber daya, seperti `Solar system object tracker` atau`Photo API`.
+ **Pengidentifikasi server sumber daya: Pengidentifikasi** unik untuk server sumber daya. Pengenal adalah nama apa pun yang ingin Anda kaitkan dengan API Anda, misalnya`solar-system-data`. Anda dapat mengonfigurasi pengidentifikasi yang lebih panjang `https://solar-system-data-api.example.com` seperti referensi yang lebih langsung ke jalur URI API, tetapi string yang lebih panjang meningkatkan ukuran token akses.
+ **Nama lingkup**: Nilai yang Anda inginkan dalam `scope` klaim Anda. Misalnya, `sunproximity.read`.
+ **Deskripsi: Deskripsi** ruang lingkup yang ramah. Misalnya, `Check current proximity to sun`.

Amazon Cognito dapat menyertakan cakupan khusus dalam token akses untuk pengguna mana pun, baik lokal untuk kumpulan pengguna Anda atau digabungkan dengan penyedia identitas pihak ketiga. Anda dapat memilih cakupan untuk token akses pengguna Anda selama alur otentikasi dengan server otorisasi OAuth 2.0 yang menyertakan login terkelola. Otentikasi pengguna Anda harus dimulai dari [Otorisasi titik akhir](authorization-endpoint.md) dengan `scope` sebagai salah satu parameter permintaan. Berikut ini adalah format yang direkomendasikan untuk server sumber daya. Untuk pengenal, gunakan nama yang ramah API. Untuk cakupan kustom, gunakan tindakan yang mereka otorisasi.

```
resourceServerIdentifier/scopeName
```

Misalnya, Anda telah menemukan asteroid baru di sabuk Kuiper dan Anda ingin mendaftarkannya melalui API Anda`solar-system-data`. Ruang lingkup yang mengotorisasi operasi tulis ke database asteroid adalah. `asteroids.add` Ketika Anda meminta token akses yang akan mengizinkan Anda untuk mendaftarkan penemuan Anda, format parameter permintaan `scope` HTTPS Anda sebagai`scope=solar-system-data/asteroids.add`.

Menghapus ruang lingkup dari server sumber daya tidak menghapus hubungannya dengan semua klien. Sebaliknya, ruang lingkup ditandai *tidak aktif*. Amazon Cognito tidak menambahkan cakupan tidak aktif untuk mengakses token, tetapi sebaliknya berjalan seperti biasa jika aplikasi Anda memintanya. Jika Anda menambahkan cakupan ke server sumber daya Anda lagi nanti, maka Amazon Cognito kembali menulisnya ke token akses. Jika Anda meminta cakupan yang belum dikaitkan dengan klien aplikasi, terlepas dari apakah Anda menghapusnya dari server sumber daya kumpulan pengguna, autentikasi gagal.

Anda dapat menggunakan API Konsol Manajemen AWS, atau CLI untuk menentukan server sumber daya dan cakupan untuk kumpulan pengguna Anda.

### Mendefinisikan server sumber daya untuk kumpulan pengguna Anda ()Konsol Manajemen AWS
<a name="cognito-user-pools-define-resource-servers-console"></a>

Anda dapat menggunakan Konsol Manajemen AWS untuk menentukan server sumber daya untuk kumpulan pengguna Anda.

**Cara menentukan server sumber daya**

1. Masuk ke [konsol Amazon Cognito](https://console.aws.amazon.com/cognito/home).

1. Di panel navigasi, pilih **Kumpulan Pengguna**, dan pilih kumpulan pengguna yang ingin Anda edit.

1. Pilih menu **Domain** di bawah **Branding** dan temukan **server Sumber Daya**.

1. Pilih **Buat server sumber daya**.

1. Masukkan **nama server Sumber Daya**. Misalnya, `Photo Server`.

1. Masukkan **pengenal server Sumber Daya**. Misalnya, `com.example.photos`.

1. Masukkan **cakupan khusus** untuk sumber daya Anda, seperti `read` dan`write`.

1. Untuk setiap **nama Lingkup**, masukkan **Deskripsi**, seperti `view your photos` dan`update your photos`.

1. Pilih **Buat**.

Cakupan kustom Anda dapat ditinjau di menu **Domain** di bawah **Server sumber daya**, di kolom **Cakupan kustom**. Cakupan khusus dapat diaktifkan untuk klien aplikasi dari menu **klien Aplikasi** di bawah **Aplikasi**. Pilih klien aplikasi, cari **halaman Login** dan pilih **Edit**. Tambahkan **cakupan kustom** dan pilih **Simpan perubahan**.

### Mendefinisikan server sumber daya untuk kumpulan pengguna Anda (AWS CLI dan AWS API)
<a name="cognito-user-pools-define-resource-servers-cli-api"></a>

Gunakan perintah berikut untuk menentukan pengaturan server sumber daya untuk kolam pengguna Anda.

**Cara membuat server sumber daya**
+ AWS CLI: `aws cognito-idp create-resource-server`
+ AWS API: [CreateResourceServer](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateResourceServer.html)

**Cara mendapatkan informasi tentang pengaturan server sumber daya Anda**
+ AWS CLI: `aws cognito-idp describe-resource-server`
+ AWS API: [DescribeResourceServer](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeResourceServer.html)

**Cara mendaftarkan informasi tentang semua server sumber daya untuk kolam pengguna**
+ AWS CLI: `aws cognito-idp list-resource-servers`
+ AWS API: [ListResourceServers](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListResourceServers.html)

**Cara menghapus server sumber daya**
+ AWS CLI: `aws cognito-idp delete-resource-server`
+ AWS API: [DeleteResourceServer](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteResourceServer.html)

**Cara memperbarui pengaturan pada server sumber daya**
+ AWS CLI: `aws cognito-idp update-resource-server`
+ AWS API: [UpdateResourceServer](https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateResourceServer.html)

## Pengikatan sumber daya
<a name="cognito-user-pools-resource-binding"></a>

Dengan pengikatan sumber daya, juga disebut sebagai indikator sumber daya, Anda dapat meminta hibah khusus API dari server otorisasi kumpulan pengguna Anda. Pengikatan sumber daya adalah ekstensi OAuth 2.0 yang didefinisikan dalam [RFC 8707](https://www.rfc-editor.org/rfc/rfc8707.html) yang memungkinkan klien untuk secara eksplisit menentukan server sumber daya mana yang ingin mereka akses selama permintaan otorisasi. Dengan pengikatan sumber daya, konfigurasi API Anda dapat menolak akses untuk token yang tidak secara khusus ditujukan untuk token tersebut.

**catatan**  
Anda hanya dapat mengikat token akses ke sumber daya untuk pengguna. Anda tidak dapat meminta pengikatan sumber daya dengan hibah M2M kredensial-klien.

Saat Anda menggunakan pengikatan sumber daya dengan kumpulan pengguna Amazon Cognito, klien dapat menyertakan `resource` parameter dalam permintaan autentikasi mereka ke server otorisasi kumpulan pengguna Anda. Kumpulan pengguna Anda memvalidasi bahwa nilai sumber daya yang diminta adalah URL, mengikuti aturan skema yang sama dengan callback [klien aplikasi](user-pool-settings-client-apps.md#cognito-user-pools-app-idp-settings-about) URLs:`https://`, `http://` with `localhost` only, atau skema khusus seperti. `myapp://` Amazon Cognito menetapkan URI yang diminta sebagai audiens dalam `aud` klaim token [akses](amazon-cognito-user-pools-using-the-access-token.md). Jika sumber daya yang diminta adalah server sumber daya kumpulan pengguna, pengenal server sumber daya harus dalam format URL. Anda dapat meminta satu sumber daya per permintaan otentikasi.

Fitur ini eksklusif untuk [otentikasi login terkelola](authentication-flows-selection-managedlogin.md) dengan server otorisasi kumpulan pengguna OAuth 2.0 Anda. Anda dapat meminta pengikatan sumber daya dalam hibah implisit dan kode otorisasi dari. [Otorisasi titik akhir](authorization-endpoint.md) Hibah penyegaran token dari [Titik akhir token](token-endpoint.md) pembawa `aud` klaim dari permintaan asli. Saat ini tidak tersedia dalam model [otentikasi SDK](authentication-flows-selection-sdk.md).

**Menerapkan pengikatan sumber daya dengan kumpulan pengguna Amazon Cognito**

1. Konfigurasikan satu atau beberapa server sumber daya di kumpulan pengguna Anda dengan pengidentifikasi unik.

1. Dalam permintaan otorisasi Anda`/oauth2/authorize`, minta kode otorisasi atau hibah implisit dan sertakan parameternya. `resource` Nilai `resource` harus berupa pengenal server sumber daya berformat URL atau URL. Misalnya, `&resource=https://solar-system-data-api.example.com`.

1. Server otorisasi memvalidasi permintaan sumber daya, menyelesaikan otentikasi, dan menetapkan `aud` klaim token akses ke URL sumber daya yang diminta.

1. Untuk memvalidasi bahwa token dikeluarkan khusus untuk itu, sumber daya yang menggunakan token akses pengguna Anda memeriksa klaim. `aud`