Erstellen einer privaten Arbeitskraft (OIDC IdP) - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen einer privaten Arbeitskraft (OIDC IdP)

Erstellen Sie eine private Belegschaft mithilfe eines OpenID Connect (OIDC) Identity Providers (IdP), wenn Sie Auftragnehmer mit Ihrem eigenen Identitätsanbieter authentifizieren und verwalten möchten. Auf dieser Seite erfahren Sie, wie Sie Ihren IdP für die Kommunikation mit Amazon SageMaker Ground Truth (Ground Truth) oder Amazon Augmented AI (Amazon A2I) konfigurieren und wie Sie mithilfe Ihres eigenen IdP eine Belegschaft erstellen.

Um eine Belegschaft mit einem OIDC-IdP zusammenzustellen, muss Ihr IdP Gruppen unterstützen, da Ground Truth und Amazon A2I eine oder mehrere Gruppen verwenden, die Sie angeben, um Arbeitsteams zu bilden. Sie verwenden Arbeitsteams, um Auftragnehmer für Ihre Etikettierungsaufgaben und Aufgaben zur Überprüfung durch Auftragnehmer festzulegen. Da es sich bei Gruppen nicht um einen Standardanspruch handelt, hat Ihr IdP möglicherweise eine andere Benennungskonvention für eine Gruppe von Benutzern (Auftragnehmern). Daher müssen Sie mithilfe des benutzerdefinierten Antrags sagemaker:groups, der von Ihrem IdP an Ground Truth oder Amazon A2I gesendet wird, eine oder mehrere Benutzergruppen identifizieren, zu denen ein Auftragnehmer gehört. Weitere Informationen hierzu finden Sie unter Erforderliche und optionale Anträge an Ground Truth und Amazon A2I senden.

Sie erstellen eine OIDC-IdP-Arbeitskraft mithilfe der API SageMaker -Operation CreateWorkforce. Sobald Sie eine private Belegschaft erstellt haben, stehen diese Belegschaft und alle mit ihr verbundenen Arbeitsteams und Arbeiter für alle Ground Truth Beschriftungsaufgaben und Amazon A2I Überprüfungsworkflows zur Verfügung. Weitere Informationen hierzu finden Sie unter Eine OIDC-IdP Workforce einrichten.

Erforderliche und optionale Anträge an Ground Truth und Amazon A2I senden

Wenn Sie Ihren eigenen IdP verwenden, benutzen Ground Truth und Amazon A2I Ihre Issuer, ClientId, und ClientSecret, um Auftragnehmer zu authentifizieren, indem sie einen Authentifizierungs-CODE von Ihrer AuthorizationEndpoint erhalten.

Ground Truth und Amazon A2I verwenden diesen CODE, um einen individuellen Antrag entweder von Ihrem IdP TokenEndpoint oder UserInfoEndpoint zu erhalten. Sie können entweder so konfigurierenTokenEndpoint, dass ein JSON-Web-Token (JWT) oder UserInfoEndpoint ein JSON-Objekt zurückgegeben wird. Das JWT- oder JSON-Objekt muss die von Ihnen angegebenen erforderlichen und optionalen Ansprüche enthalten. Ein Anspruch ist ein Schlüssel-Wert-Paar, das Informationen über einen Worker oder Metadaten über den OIDC-Dienst enthält. In der folgenden Tabelle sind die Ansprüche aufgeführt, die enthalten sein müssen und die optional in das JWT- oder JSON-Objekt aufgenommen werden können, das Ihr IdP zurückgibt.

Anmerkung

Einige der Parameter in der folgenden Tabelle können mit a : oder a - angegeben werden. Sie können beispielsweise mithilfe sagemaker:groups oder sagemaker-groups in Ihrem Antrag angeben, zu welchen Gruppen eine Arbeitskraft gehört.

Name Erforderlich Zulässiges Format und Werte Beschreibung Beispiel

sagemaker:groups oder sagemaker-groups

Ja

Datentyp:

Wenn ein Auftragnehmer zu einer einzelnen Gruppe gehört, identifizieren Sie die Gruppe anhand einer Zeichenfolge.

Wenn ein Worker zu mehreren Gruppen gehört, verwenden Sie eine Liste mit bis zu 10 Zeichenketten.

Zulässige Zeichen:

Regex: [\ p {L}\ p {M}\ p {S}\ p {N}\ p {P}] +

Kontingente:

10 Gruppen pro Auftragnehmer

63 Zeichen pro Gruppenname

Weist einen Auftragnehmer einer oder mehreren Gruppen zu. Gruppen werden verwendet, um die Arbeitskraft Arbeitsteams zuzuordnen.

Beispiel für einen Auftragnehmer, der zu einer einzelnen Gruppe gehört: "work_team1"

Beispiel für eine Arbeitskraft, die zu mehr als einer Gruppe gehört: ["work_team1", "work_team2"]

sagemaker:sub oder sagemaker-sub

Ja

Datentyp:

String

Dies ist erforderlich, um die Identität eines Auftragnehmers innerhalb der Ground Truth-Plattform zu Auditzwecken nachzuverfolgen und Aufgaben zu identifizieren, an denen dieser Auftragnehmer gearbeitet hat.

Für ADFS: Kunden müssen den Primary Security Identifier (SID) verwenden.

"111011101-123456789-3687056437-1111"

sagemaker:client_id oder sagemaker-client_id

Ja

Datentyp:

String

Zulässige Zeichen:

Regex: [\ w+-] +

Zitate:

128 Zeichen

Eine Client-ID. Alle Token müssen für diese Client-ID ausgestellt werden.

"00b600bb-1f00-05d0-bd00-00be00fbd0e0"

sagemaker:name oder sagemaker-name

Ja

Datentyp:

String

Der Name des Auftragnehmers, der im Auftragnehmerportal angezeigt werden soll.

"Jane Doe"

email

Nein

Datentyp:

String

Die E-Mail-Adresse des Auftragnehmers. Ground Truth verwendet diese E-Mail, um Auftragnehmer darüber zu informieren, dass sie eingeladen wurden, an Kennzeichnungsaufgaben zu arbeiten. Ground Truth verwendet diese E-Mail auch, um Ihre Auftragnehmer zu benachrichtigen, wenn Kennzeichnungsaufgaben verfügbar werden, wenn Sie ein Amazon SNS-Thema für ein Arbeitsteam einrichten, dem dieser Auftragnehmer angehört.

"example-email@domain.com"

email_verified

Nein

Datentyp:

Bool

Akzeptierte Werte:

True, False

Gibt an, ob die Benutzer-E-Mail verifiziert wurde oder nicht.

True

Es folgt ein Beispiel für die JSON-Objektsyntax, die Ihr UserInfoEndpoint zurückgeben kann.

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

Ground Truth oder Amazon A2I vergleicht die Gruppen, die in sagemaker:groups oder sagemaker-groups aufgeführt sind, um zu überprüfen, ob Ihr Auftragnehmer zu dem Arbeitsteam gehört, das in der Etikettierungsaufgabe oder der menschlichen Überprüfungsaufgabe angegeben ist. Nachdem das Arbeitsteam verifiziert wurde, werden Aufgaben zur Kennzeichnung oder Überprüfung durch einen Auftragnehmer an diesen Auftragnehmer gesendet.

Eine OIDC-IdP Workforce einrichten

Sie können eine Arbeitskraft mithilfe der SageMaker API-Operation CreateWorkforce und der zugehörigen sprachspezifischen SDKs erstellen. Geben Sie im Parameter OidcConfig einen WorkforceName und Informationen zu Ihrem OIDC-IDP an. Es wird empfohlen, dass Sie Ihr OIDC mit einem Platzhalter-Umleitungs-URI konfigurieren und den URI dann mit der URL des Auftragnehmerportals aktualisieren, nachdem Sie die Belegschaft erstellt haben. Weitere Informationen hierzu finden Sie unter Konfigurieren Ihres OIDC-IdP.

Im Folgenden wird ein Beispiel für eine solche Anfrage gezeigt. Weitere Informationen zu den einzelnen Parametern in dieser Anfrage finden Sie unter CreateWorkforce.

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"] } }

Konfigurieren Ihres OIDC-IdP

Wie Sie Ihren OIDC-IdP konfigurieren, hängt von dem von Ihnen verwendeten IdP und Ihren Geschäftsanforderungen ab.

Wenn Sie Ihren IdP konfigurieren, müssen Sie eine Rückruf- oder Umleitungs-URI angeben. Nachdem Ground Truth oder Amazon A2I einen Auftragnehmer authentifiziert hat, leitet dieser URI den Auftragnehmer zum Auftragnehmerportal weiter, wo die Auftragnehmer auf Kennzeichnungs- oder menschliche Überprüfungsaufgaben zugreifen können. Um eine URL für das Auftragnehmerportal zu erstellen, müssen Sie mithilfe der CreateWorkforce API-Operation eine Belegschaft mit Ihren OIDC-IdP-Details erstellen. Insbesondere müssen Sie Ihren OIDC-IdP mit den erforderlichen benutzerdefinierten Sagemaker-Ansprüchen konfigurieren (weitere Informationen finden Sie im nächsten Abschnitt). Daher wird empfohlen, dass Sie Ihr OIDC mit einem Platzhalter-Umleitungs-URI konfigurieren und den URI dann aktualisieren, nachdem Sie die Belegschaft erstellt haben. Sehen Sie Eine OIDC-IdP Workforce einrichten an, um zu erfahren, wie man eine Belegschaft mit dieser API erstellt.

Sie können die URL Ihres Auftragnehmerportals in der SageMaker Ground Truth-Konsole oder mithilfe der API SageMaker -Operation anzeigenDescribeWorkforce. Die URL des Worker-Portals ist im SubDomain Parameter in der Antwort enthalten.

Wichtig

Stellen Sie sicher, dass Sie die Workforce-Subdomain zu Ihrer OIDC-IdP-Zulassungsliste hinzufügen. Wenn Sie die Subdomain zu Ihrer Zulassungsliste hinzufügen, muss sie mit /oauth2/idpresponse enden.

So zeigen Sie die URL Ihres Auftragnehmerportals an, nachdem Sie eine private Belegschaft erstellt haben (Konsole):
  1. Öffnen Sie die - SageMaker Konsole unter https://console.aws.amazon.com/sagemaker/.

  2. Wählen Sie im Navigationsbereich die Option Labeling workforces (Arbeitskräfte für das Labeling) aus.

  3. Wählen Sie die Registerkarte Private (Privat) aus.

  4. In der Übersicht über private Auftragnehmer finden Sie die Anmelde-URL für das Labeling-Portal. Dies ist die URL Ihres Auftragnehmerportals.

So zeigen Sie die URL Ihres Auftragnehmerportals an, nachdem Sie eine private Belegschaft (API) erstellt haben:

Wenn Sie eine private Arbeitskraft mithilfe von CreateWorkforce erstellen, geben Sie eine WorkforceName an. Verwenden Sie diesen Namen, um DescribeWorkforce aufzurufen. Die folgende Tabelle enthält Beispiele für -Anforderungen mit und AWS CLI 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'

Bestätigen Sie Ihre Antwort auf die OIDC IdP Workforce-Authentifizierung

Nachdem Sie Ihre OIDC-IdP Workforce erstellt haben, können Sie die folgenden Schritte zum Überprüfen des Authentifizierungs-Workflows mit cURL ausführen. Bei diesem Verfahren wird davon ausgegangen, dass Sie Zugriff auf ein Terminal haben und cURL installiert haben.

So validieren Sie Ihre OIDC-IdP-Autorisierungsantwort:
  1. Rufen Sie einen Autorisierungscode mit einer wie folgt konfigurierten URI ab:

    {AUTHORIZE ENDPOINT}?client_id={CLIENT ID}&redirect_uri={REDIRECT URI}&scope={SCOPE}&response_type=code
    1. Ersetzen Sie {AUTHORIZE ENDPOINT} durch den Autorisierungsendpunkt für Ihren OIDC-IdP.

    2. Ersetzen Sie {CLIENT ID} durch die Client-ID Ihres OAuth-Clients.

    3. Ersetzen Sie {REDIRECT URI} durch die URL des Worker-Portals. Falls sie noch nicht vorhanden ist, müssen Sie /oauth2/idpresponse am Ende der URL hinzufügen.

    4. Wenn Sie einen benutzerdefinierten Bereich haben, verwenden Sie diesen zum Ersetzen von {SCOPE}. Wenn Sie keinen benutzerdefinierten Bereich haben, ersetzen Sie {SCOPE} durchopenid.

    Im Folgenden finden Sie ein Beispiel für einen URI, nachdem die obigen Änderungen vorgenommen wurden:

    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. Kopieren Sie die geänderte URI aus Schritt 1, fügen Sie sie in Ihren Browser ein und drücken Sie die Eingabetaste auf Ihrer Tastatur.

  3. Authentifizieren Sie sich mit Ihrem IdP.

  4. Kopieren Sie den Abfrageparameter für den Authentifizierungscode in die URI. Dieser Parameter beginnt mit code=. Das folgende Beispiel zeigt, wie die Anforderung aussehen kann. In diesem Beispiel kopieren Sie code=MCNYDB... und alles danach.

    https://example.labeling.sagemaker.aws/oauth2/idpresponse?code=MCNYDB....
  5. Öffnen Sie ein Terminal und geben Sie den folgenden Befehl ein, nachdem Sie die unten aufgeführten erforderlichen Änderungen vorgenommen haben:

    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. Ersetzen Sie {TOKEN ENDPOINT} durch den Token-Endpunkt für Ihren OIDC-IdP.

    2. Ersetzen Sie {CLIENT ID} durch die Client-ID von Ihrem OAuth-Client.

    3. Ersetzen Sie {CLIENT SECRET} durch das Client Secret von Ihrem OAuth-Client.

    4. Ersetzen Sie {CODE} durch den Abfrageparameter für den Authentifizierungscode, den Sie in Schritt 4 kopiert haben.

    5. Ersetzen Sie {REDIRECT URI} durch die URL des Worker-Portals.

    Im Folgenden finden Sie ein Beispiel für die cURL-Anfrage nach den oben beschriebenen Änderungen:

    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. Dieser Schritt hängt von der Art von access_token Ihrer IdP-Rücksendungen ab, einem Klartext-Zugriffstoken oder einem JWT-Zugriffstoken.

    • Wenn Ihr IdP keine JWT-Zugriffstoken unterstützt, kann access_token ein einfacher Text sein (z. B. eine UUID). Die Antwort, die Sie sehen, könnte so ähnlich aussehen wie die folgende. Fahren Sie in diesem Fall mit Schritt 7 fort.

      { "access_token":"179c144b-fccb-4d96-a28f-eea060f39c13", "token_type":"Bearer", "expires_in":3600, "refresh_token":"ef43e52e-9b4f-410c-8d4c-d5c5ee57631a", "scope":"openid" }
    • Wenn Ihr IdP JWT-Zugriffstoken unterstützt, sollte Schritt 5 ein Zugriffstoken im JWT-Format generieren. Die Antwort kann zum Beispiel wie folgt aussehen:

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

      Kopieren Sie das JWT und dekodieren Sie es. Sie können ein Python-Skript oder eine Website eines Drittanbieters verwenden, um es zu dekodieren. Sie können beispielsweise auf die Website https://jwt.io/ gehen und das JWT in das Feld Encoded einfügen, um es zu dekodieren.

      Stellen Sie sicher, dass die dekodierte Antwort Folgendes enthält:

  7. Geben Sie in einem Terminal den folgenden Befehl ein, nachdem Sie die unten aufgeführten erforderlichen Änderungen vorgenommen haben:

    curl -X POST -H 'Authorization: Bearer {ACCESS TOKEN}' -d '' -k -v {USERINFO ENDPOINT}
    1. Ersetzen Sie {USERINFO ENDPOINT} durch den Benutzerinformationsendpunkt für Ihren OIDC-IdP.

    2. Ersetzen Sie {ACCESS TOKEN} durch das Zugriffstoken in der Antwort, die Sie in Schritt 7 erhalten haben. Dies ist der Eintrag für den "access_token" Parameter.

    Im Folgenden finden Sie ein Beispiel für die cURL-Anfrage nach den oben beschriebenen Änderungen:

    curl -X POST -H 'Authorization: Bearer eyJ0eX...' -d '' -k -v https://example.com/userinfo
  8. Die Antwort auf den letzten Schritt des obigen Verfahrens könnte dem folgenden Codeblock ähneln.

    Wenn der in Schritt 6 zurückgegebene access_token ein reiner Text war, müssen Sie überprüfen, ob diese Antwort die erforderlichen Informationen enthält. In diesem Fall muss die Antwort die Erforderliche SageMaker Ansprüche in der Tabelle enthalten, die in zu finden istErforderliche und optionale Anträge an Ground Truth und Amazon A2I senden. Zum Beispiel sagemaker-groups, sagamaker-name.

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

Nächste Schritte

Sobald Sie mit Ihrem IdP eine private Belegschaft erstellt und Ihre IdP-Authentifizierungsantwort verifiziert haben, können Sie mithilfe Ihrer IdP-Gruppen Arbeitsteams erstellen. Weitere Informationen hierzu finden Sie unter Verwalten von privaten Arbeitskräften (OIDC IdP).

Sie können den Worker-Zugriff auf Aufgaben auf bestimmte IP-Adressen beschränken und Ihre Belegschaft mithilfe der - SageMaker API aktualisieren oder löschen. Weitere Informationen hierzu finden Sie unter Private Personalverwaltung mit Amazon SageMaker API.