

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

# Buat Tenaga Kerja Swasta (OIDC iDP)
<a name="sms-workforce-create-private-oidc"></a>

Buat tenaga kerja pribadi menggunakan Penyedia Identitas OpenID Connect (OIDC) saat Anda ingin mengautentikasi dan mengelola pekerja menggunakan penyedia identitas Anda sendiri. Gunakan halaman ini untuk mempelajari cara mengonfigurasi IDP Anda agar berkomunikasi dengan Amazon SageMaker Ground Truth (Ground Truth) atau Amazon Augmented AI (Amazon A2I) dan mempelajari cara membuat tenaga kerja menggunakan IDP Anda sendiri. 

Untuk membuat tenaga kerja menggunakan OIDC iDP, iDP Anda harus mendukung *grup karena Ground* Truth dan Amazon A2I menggunakan satu atau beberapa grup yang Anda tentukan untuk membuat tim kerja. Anda menggunakan tim kerja untuk menentukan pekerja untuk pekerjaan pelabelan Anda dan tugas peninjauan manusia. Karena grup bukan [klaim standar](https://openid.net/specs/openid-connect-core-1_0.html#StandardClaims), IDP Anda mungkin memiliki konvensi penamaan yang berbeda untuk sekelompok pengguna (pekerja). Oleh karena itu, Anda harus mengidentifikasi satu atau beberapa grup pengguna yang menjadi milik pekerja menggunakan klaim khusus `sagemaker:groups` yang dikirim ke Ground Truth atau Amazon A2I dari iDP Anda. Untuk mempelajari selengkapnya, lihat [Kirim Klaim yang Diperlukan dan Opsional ke Ground Truth dan Amazon A2I](#sms-workforce-create-private-oidc-configure-idp).

Anda membuat tenaga kerja OIDC iDP menggunakan operasi API. SageMaker [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html) Setelah Anda membuat tenaga kerja pribadi, tenaga kerja tersebut dan semua tim kerja serta pekerja yang terkait dengannya tersedia untuk digunakan untuk semua tugas pekerjaan pelabelan Ground Truth dan tugas alur kerja peninjauan manusia Amazon A2I. Untuk mempelajari selengkapnya, lihat [Buat Tenaga Kerja IDP OIDC](#sms-workforce-create-private-oidc-createworkforce).

## Kirim Klaim yang Diperlukan dan Opsional ke Ground Truth dan Amazon A2I
<a name="sms-workforce-create-private-oidc-configure-idp"></a>

Ketika Anda menggunakan IDP Anda sendiri, Ground Truth dan Amazon A2I menggunakan Anda`Issuer`,`ClientId`, dan `ClientSecret` untuk mengautentikasi pekerja dengan mendapatkan KODE otentikasi dari Anda. `AuthorizationEndpoint` 

Ground Truth dan Amazon A2I akan menggunakan KODE ini untuk mendapatkan klaim khusus dari IDP Anda atau. `TokenEndpoint` `UserInfoEndpoint` Anda dapat mengonfigurasi `TokenEndpoint` untuk mengembalikan token web JSON (JWT) atau `UserInfoEndpoint` mengembalikan objek JSON. Objek JWT atau JSON harus berisi klaim wajib dan opsional yang Anda tentukan. [Klaim](https://openid.net/specs/openid-connect-core-1_0.html#Terminology) adalah pasangan nilai kunci yang berisi informasi tentang pekerja atau metadata tentang layanan OIDC. Tabel berikut mencantumkan klaim yang harus disertakan, dan yang secara opsional dapat dimasukkan dalam objek JWT atau JSON yang dikembalikan idP Anda. 

**catatan**  
Beberapa parameter dalam tabel berikut dapat ditentukan menggunakan a `:` atau a`-`. Misalnya, Anda dapat menentukan grup yang digunakan pekerja `sagemaker:groups` atau `sagemaker-groups` dalam klaim Anda. 


|  Nama  | Diperlukan | Format dan Nilai yang Diterima | Deskripsi | Contoh | 
| --- | --- | --- | --- | --- | 
|  `sagemaker:groups` atau `sagemaker-groups`  |  Ya  |  **Tipe data**: Jika seorang pekerja termasuk dalam satu grup, identifikasi grup menggunakan string. Jika seorang pekerja termasuk dalam beberapa grup, gunakan daftar hingga 10 string.  **Karakter yang diijinkan**: Regex: [\$1 p \$1L\$1\$1 p \$1M\$1\$1 p \$1S\$1\$1 p \$1N\$1\$1 p \$1P\$1] \$1 **Kuota**: 10 kelompok per pekerja 63 karakter per nama grup  |  Menugaskan seorang pekerja ke satu atau lebih kelompok. Kelompok digunakan untuk memetakan pekerja ke dalam tim kerja.   |  Contoh pekerja yang termasuk dalam satu kelompok: `"work_team1"` Contoh pekerja yang termasuk dalam lebih dari satu kelompok: `["work_team1", "work_team2"]`   | 
|  `sagemaker:sub` atau `sagemaker-sub`  |  Ya  |  **Tipe data**: String  |  Ini wajib untuk melacak identitas pekerja di dalam platform Ground Truth untuk audit dan untuk mengidentifikasi tugas yang dikerjakan oleh pekerja tersebut.  Untuk ADFS: Pelanggan harus menggunakan Primary Security Identifier (SID).   |  `"111011101-123456789-3687056437-1111"`  | 
|  `sagemaker:client_id` atau `sagemaker-client_id`  |  Ya  |  **Tipe data**: String **Karakter yang diijinkan**: Regex: [\$1 w\$1-] \$1 **Kutipan**: 128 karakter   |  ID klien. Semua token harus dikeluarkan untuk ID klien ini.   |  `"00b600bb-1f00-05d0-bd00-00be00fbd0e0"`  | 
|  `sagemaker:name` atau `sagemaker-name`  |  Ya  |  **Tipe data**: String  |  Nama pekerja yang akan ditampilkan di portal pekerja.  |  `"Jane Doe"`  | 
|  `email`  |  Tidak  |  **Tipe data**: String  |  Email pekerja. Ground Truth menggunakan email ini untuk memberi tahu pekerja bahwa mereka telah diundang untuk mengerjakan tugas pelabelan. Ground Truth juga akan menggunakan email ini untuk memberi tahu pekerja Anda saat tugas pelabelan tersedia jika Anda menyiapkan topik Amazon SNS untuk tim kerja tempat pekerja ini aktif.  |  `"example-email@domain.com"`  | 
|  `email_verified`  |  Tidak  |  **Tipe data**: Bool **Nilai yang Diterima:** `True`, `False`  |  Menunjukkan apakah email pengguna telah diverifikasi atau tidak.   |  `True`  | 

Berikut contoh sintaks objek JSON Anda `UserInfoEndpoint` dapat kembali. 

```
{
    "sub":"122",
    "exp":"10000",
    "sagemaker-groups":["group1","group2"]
    "sagemaker-name":"name",
    "sagemaker-sub":"122",
    "sagemaker-client_id":"123456"
}
```

Ground Truth atau Amazon A2I membandingkan grup yang tercantum dalam `sagemaker:groups` atau `sagemaker-groups` untuk memverifikasi bahwa pekerja Anda termasuk dalam tim kerja yang ditentukan dalam pekerjaan pelabelan atau tugas peninjauan manusia. Setelah tim kerja diverifikasi, tugas pelabelan atau peninjauan manusia dikirim ke pekerja itu. 

## Buat Tenaga Kerja IDP OIDC
<a name="sms-workforce-create-private-oidc-createworkforce"></a>

Anda dapat membuat tenaga kerja menggunakan operasi SageMaker API `CreateWorkforce` dan bahasa SDKs khusus terkait. Tentukan `WorkforceName` dan informasi tentang IDP OIDC Anda di parameter. `OidcConfig` Sebaiknya Anda mengonfigurasi OIDC Anda dengan URI pengalihan place-holder, lalu memperbarui URI dengan URL portal pekerja setelah Anda membuat tenaga kerja. Untuk mempelajari selengkapnya, lihat [Konfigurasikan IDP OIDC Anda](#sms-workforce-create-private-oidc-configure-url).

Berikut ini menunjukkan contoh permintaan. Lihat [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)untuk mempelajari lebih lanjut tentang setiap parameter dalam permintaan ini.

```
CreateWorkforceRequest: {
    #required fields
    WorkforceName: "example-oidc-workforce",
    OidcConfig: { 
        ClientId: "clientId",
        ClientSecret: "secret",
        Issuer: "https://example-oidc-idp.com/adfs",
        AuthorizationEndpoint: "https://example-oidc-idp.com/adfs/oauth2/authorize",
        TokenEndpoint: "https://example-oidc-idp.com/adfs/oauth2/token",
        UserInfoEndpoint: "https://example-oidc-idp.com/adfs/oauth2/userInfo",
        LogoutEndpoint: "https://example-oidc-idp.com/adfs/oauth2/log-out",
        JwksUri: "https://example-oidc-idp.com/adfs/discovery/keys"
    },
    SourceIpConfig: {
        Cidrs: ["string", "string"]
    }
}
```

### Konfigurasikan IDP OIDC Anda
<a name="sms-workforce-create-private-oidc-configure-url"></a>

Cara Anda mengonfigurasi IDP OIDC tergantung pada IDP yang Anda gunakan, dan persyaratan bisnis Anda. 

Saat mengonfigurasi IDP, Anda harus menentukan URI callback atau redirect. Setelah Ground Truth atau Amazon A2I mengautentikasi pekerja, URI ini akan mengarahkan pekerja ke portal pekerja tempat pekerja dapat mengakses tugas pelabelan atau peninjauan manusia. Untuk membuat URL portal pekerja, Anda perlu membuat tenaga kerja dengan detail IDP OIDC Anda menggunakan operasi API. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html) Secara khusus, Anda harus mengonfigurasi IDP OIDC Anda dengan klaim pembuat sagemaker kustom yang diperlukan (lihat bagian selanjutnya untuk lebih jelasnya). Oleh karena itu, Anda disarankan untuk mengonfigurasi OIDC Anda dengan URI pengalihan place-holder, dan kemudian memperbarui URI setelah Anda membuat tenaga kerja. Lihat [Buat Tenaga Kerja IDP OIDC](#sms-workforce-create-private-oidc-createworkforce) untuk mempelajari cara membuat tenaga kerja menggunakan API ini. 

Anda dapat melihat URL portal pekerja Anda di konsol SageMaker Ground Truth, atau menggunakan operasi SageMaker API,`DescribeWorkforce`. URL portal pekerja ada di [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Workforce.html#sagemaker-Type-Workforce-SubDomain](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_Workforce.html#sagemaker-Type-Workforce-SubDomain)parameter dalam respons.

**penting**  
Pastikan Anda menambahkan subdomain tenaga kerja ke daftar izin OIDC iDP Anda. Ketika Anda menambahkan subdomain ke daftar izinkan Anda, itu harus diakhiri dengan`/oauth2/idpresponse`.

**Untuk melihat URL portal pekerja Anda setelah membuat tenaga kerja pribadi (Konsol):**

1. Buka konsol SageMaker AI di [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). 

1. Di panel navigasi, pilih **Pelabelan tenaga kerja**. 

1. Pilih tab **Pribadi**.

1. Dalam **ringkasan tenaga kerja pribadi**, Anda akan melihat URL **masuk portal Pelabelan**. Ini adalah URL portal pekerja Anda.

**Untuk melihat URL portal pekerja Anda setelah membuat tenaga kerja pribadi (API):**

Saat Anda membuat tenaga kerja pribadi menggunakan`[CreateWorkforce](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateWorkforce.html)`, Anda menentukan. `WorkforceName` Gunakan nama ini untuk menelepon [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeWorkforce.html). Tabel berikut mencakup contoh permintaan menggunakan AWS CLI dan AWS SDK untuk Python (Boto3). 

------
#### [ SDK for Python (Boto3) ]

```
response = client.describe_workforce(WorkforceName='string')
print(f'The workforce subdomain is: {response['SubDomain']}')
```

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

```
$ C:\>  describe-workforce --workforce-name 'string'
```

------

## Validasi Respons Otentikasi Tenaga Kerja OIDC IDP Anda
<a name="sms-workforce-create-private-oidc-validate"></a>

Setelah Anda membuat tenaga kerja OIDC IDP, Anda dapat menggunakan prosedur berikut untuk memvalidasi alur kerja otentikasi menggunakan cURL. Prosedur ini mengasumsikan Anda memiliki akses ke terminal, dan bahwa Anda telah menginstal cURL.

**Untuk memvalidasi respons otorisasi IDP OIDC Anda:**

1. Dapatkan kode otorisasi menggunakan URI yang dikonfigurasi sebagai berikut:

   ```
   {AUTHORIZE ENDPOINT}?client_id={CLIENT ID}&redirect_uri={REDIRECT URI}&scope={SCOPE}&response_type=code
   ```

   1. Ganti *`{AUTHORIZE ENDPOINT}`* dengan titik akhir otorisasi untuk IDP OIDC Anda.

   1. Ganti `{CLIENT ID}` dengan ID Klien dari OAuth klien Anda.

   1. Ganti *`{REDIRECT URI}`* dengan URL portal pekerja. Jika belum ada, Anda harus menambahkan `/oauth2/idpresponse` ke akhir URL.

   1. Jika Anda memiliki cakupan khusus, gunakan untuk mengganti`{SCOPE}`. Jika Anda tidak memiliki ruang lingkup khusus, ganti `{SCOPE}` dengan`openid`.

   Berikut ini adalah contoh URI setelah modifikasi di atas dibuat:

   ```
   https://example.com/authorize?client_id=f490a907-9bf1-4471-97aa-6bfd159f81ac&redirect_uri=https%3A%2F%2F%2Fexample.labeling.sagemaker.aws%2Foauth2%2Fidpresponse&response_type=code&scope=openid
   ```

1. Salin dan tempel URI yang dimodifikasi dari langkah 1 ke browser Anda dan tekan Enter pada keyboard Anda.

1. Otentikasi menggunakan IDP Anda.

1. Salin parameter kueri kode otentikasi di URI. Parameter ini makhluk dengan`code=`. Berikut ini adalah contoh seperti apa responsnya. Dalam contoh ini, salin `code=MCNYDB...` dan semuanya sesudahnya.

   ```
   https://example.labeling.sagemaker.aws/oauth2/idpresponse?code=MCNYDB....
   ```

1. Buka terminal dan masukkan perintah berikut setelah membuat modifikasi yang diperlukan tercantum di bawah ini:

   ```
   curl --request POST \
     --url '{TOKEN ENDPOINT}' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data grant_type=authorization_code \
     --data 'client_id={CLIENT ID}' \
     --data client_secret={CLIENT SECRET} \
     --data code={CODE} \
     --data 'redirect_uri={REDIRECT URI}'
   ```

   1. Ganti `{TOKEN ENDPOINT}` dengan titik akhir token untuk OIDC iDP Anda.

   1. Ganti `{CLIENT ID}` dengan ID Klien dari OAuth klien Anda.

   1. Ganti `{CLIENT SECRET}` dengan Rahasia Klien dari OAuth klien Anda.

   1. Ganti `{CODE}` dengan parameter kueri kode otentikasi yang Anda salin di langkah 4.

   1. Ganti *`{REDIRECT URI}`* dengan URL portal pekerja.

   Berikut ini adalah contoh permintaan cURL setelah melakukan modifikasi yang dijelaskan di atas:

   ```
   curl --request POST \
     --url 'https://example.com/token' \
     --header 'content-type: application/x-www-form-urlencoded' \
     --data grant_type=authorization_code \
     --data 'client_id=f490a907-9bf1-4471-97aa-6bfd159f81ac' \
     --data client_secret=client-secret \
     --data code=MCNYDB... \
     --data 'redirect_uri=https://example.labeling.sagemaker.aws/oauth2/idpresponse'
   ```

1. Langkah ini tergantung pada jenis pengembalian IDP `access_token` Anda, token akses teks biasa atau token akses JWT.
   + Jika IDP Anda tidak mendukung token akses JWT, `access_token` mungkin teks biasa (misalnya, UUID). Respons yang Anda lihat mungkin terlihat mirip dengan yang berikut ini. Dalam hal ini, pindah ke langkah 7.

     ```
     {
       "access_token":"179c144b-fccb-4d96-a28f-eea060f39c13",
       "token_type":"Bearer",
       "expires_in":3600,
       "refresh_token":"ef43e52e-9b4f-410c-8d4c-d5c5ee57631a",
       "scope":"openid"
     }
     ```
   + Jika IDP Anda mendukung token akses JWT, langkah 5 harus menghasilkan token akses dalam format JWT. Misalnya, responsnya mungkin terlihat mirip dengan yang berikut:

     ```
     {
         "access_token":"eyJh...JV_adQssw5c",
         "refresh_token":"i6mapTIAVSp2oJkgUnCACKKfZxt_H5MBLiqcybBBd04",
         "refresh_token_expires_in":6327,
         "scope":"openid",
         "id_token":"eyJ0eXAiOiJK9...-rDaQzUHl6cQQWNiDpWOl_lxXjQEvQ"
     }
     ```

     Salin JWT dan decode itu. Anda dapat menggunakan skrip python atau situs web pihak ketiga untuk memecahkan kode itu. Misalnya, Anda dapat pergi ke situs web [https://jwt.io/](https://jwt.io/) dan menempelkan JWT ke kotak **Encoded** untuk memecahkan kode. 

     Pastikan respons yang diterjemahkan berisi yang berikut:
     + Klaim SageMaker AI yang **Diperlukan** dalam tabel yang ditemukan di[Kirim Klaim yang Diperlukan dan Opsional ke Ground Truth dan Amazon A2I](#sms-workforce-create-private-oidc-configure-idp). Jika tidak, Anda harus mengkonfigurasi ulang OIDC IDP Anda untuk memuat klaim ini. 
     + [Penerbit](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_OidcConfig.html#sagemaker-Type-OidcConfig-Issuer) yang Anda tentukan saat menyiapkan tenaga kerja IDP.

1. Di terminal dan masukkan perintah berikut setelah membuat modifikasi yang diperlukan tercantum di bawah ini:

   ```
   curl -X POST -H 'Authorization: Bearer {ACCESS TOKEN}' -d '' -k -v {USERINFO ENDPOINT}
   ```

   1. Ganti `{USERINFO ENDPOINT}` dengan endpoint info pengguna untuk IDP OIDC Anda.

   1. Ganti `{ACCESS TOKEN}` dengan token akses dalam respons yang Anda terima di langkah 7. Ini adalah entri untuk `"access_token"` parameter.

   Berikut ini adalah contoh permintaan cURL setelah melakukan modifikasi yang dijelaskan di atas:

   ```
    curl -X POST -H 'Authorization: Bearer eyJ0eX...' -d '' -k -v https://example.com/userinfo
   ```

1. Respons terhadap langkah terakhir dalam prosedur di atas mungkin terlihat mirip dengan blok kode berikut. 

   Jika yang `access_token` dikembalikan pada langkah 6 adalah teks biasa, Anda harus memverifikasi bahwa respons ini berisi informasi yang diperlukan. Dalam hal ini, respons harus berisi klaim SageMaker AI **yang Diperlukan** dalam tabel yang ditemukan di[Kirim Klaim yang Diperlukan dan Opsional ke Ground Truth dan Amazon A2I](#sms-workforce-create-private-oidc-configure-idp). Misalnya,`sagemaker-groups`,`sagamaker-name`.

   ```
   {
       "sub":"122",
       "exp":"10000",
       "sagemaker-groups":["group1","group2"]
       "sagemaker-name":"name",
       "sagemaker-sub":"122",
       "sagemaker-client_id":"123456"
   }
   ```

## Langkah Berikutnya
<a name="sms-workforce-create-private-oidc-next-steps"></a>

Setelah membuat tenaga kerja pribadi menggunakan IDP dan memverifikasi respons autentikasi IDP, Anda dapat membuat tim kerja menggunakan grup iDP Anda. Untuk mempelajari selengkapnya, lihat [Mengelola Tenaga Kerja Swasta (OIDC iDP)](sms-workforce-manage-private-oidc.md). 

Anda dapat membatasi akses pekerja ke tugas ke alamat IP tertentu, dan memperbarui atau menghapus tenaga kerja Anda menggunakan API. SageMaker Untuk mempelajari informasi lebih lanjut, lihat [Manajemen tenaga kerja pribadi menggunakan Amazon API SageMaker](sms-workforce-management-private-api.md).