Buat Tenaga Kerja Swasta (OIDC iDP) - Amazon SageMaker

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)

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, 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.

Anda membuat tenaga kerja OIDC iDP menggunakan operasi API. SageMaker CreateWorkforce 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.

Kirim Klaim yang Diperlukan dan Opsional ke Ground Truth dan Amazon A2I

Ketika Anda menggunakan IDP Anda sendiri, Ground Truth dan Amazon A2I menggunakan AndaIssuer,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 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: [\ p {L}\ p {M}\ p {S}\ p {N}\ p {P}] +

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: [\ w+-] +

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 ini 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

Anda dapat membuat tenaga kerja menggunakan operasi SageMaker API CreateWorkforce dan SDK khusus bahasa 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.

Berikut ini menunjukkan contoh permintaan. Lihat CreateWorkforceuntuk 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

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. CreateWorkforce 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 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 SubDomainparameter 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 SageMaker konsol di https://console.aws.amazon.com/sagemaker/.

  2. Di panel navigasi, pilih Pelabelan tenaga kerja.

  3. Pilih tab Private.

  4. 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 menggunakanCreateWorkforce, Anda menentukan. WorkforceName Gunakan nama ini untuk menelepon DescribeWorkforce. Tabel berikut mencakup contoh permintaan menggunakan AWS CLI dan AWS SDK for 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

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.

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

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

    4. Jika Anda memiliki cakupan khusus, gunakan untuk mengganti{SCOPE}. Jika Anda tidak memiliki ruang lingkup khusus, ganti {SCOPE} denganopenid.

    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
  2. Salin dan tempel URI yang dimodifikasi dari langkah 1 ke browser Anda dan tekan Enter pada keyboard Anda.

  3. Otentikasi menggunakan IDP Anda.

  4. Salin parameter kueri kode otentikasi di URI. Parameter ini makhluk dengancode=. 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....
  5. 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.

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

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

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

    5. 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'
  6. 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 dekodekan. Anda dapat menggunakan skrip python atau situs web pihak ketiga untuk memecahkan kode itu. Misalnya, Anda dapat pergi ke situs web https://jwt.io/ dan menempelkan JWT ke dalam kotak Encoded untuk memecahkan kode itu.

      Pastikan respons yang diterjemahkan berisi yang berikut ini:

  7. 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.

    2. 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
  8. 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 SageMaker klaim yang Diperlukan dalam tabel yang ditemukan diKirim Klaim yang Diperlukan dan Opsional ke Ground Truth dan Amazon A2I. 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

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).

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 Mengelola Tenaga Kerja Pribadi Menggunakan Amazon API SageMaker .