Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Creación de un personal privado (IdP de OIDC)
Cree un personal privado con un proveedor de identidades (IdP) de OpenID Connect (OIDC) cuando desee autenticar y gestionar a los trabajadores con su propio proveedor de identidad. Usa esta página para aprender a configurar tu IdP para que se comunique con Amazon SageMaker Ground Truth (Ground Truth) o Amazon Augmented AI (Amazon A2I) y para aprender a crear una fuerza laboral con tu propio IdP.
Para crear un personal mediante un IdP de OIDC, su IdP deberá brindar soporte a los grupos porque Ground Truth y Amazon A2I usan uno o más grupos especificados por usted para crear equipos de trabajo. Utilice equipos de trabajo para seleccionar trabajadores para sus tareas de etiquetado y revisión humana. Dado que los grupos no son una reclamación estándarsagemaker:groups
que su IdP envía a Ground Truth o Amazon A2I. Para obtener más información, consulte Envíe las reclamaciones obligatorias y opcionales a Ground Truth y Amazon A2I.
Usted crea una fuerza laboral de IdP de OIDC mediante la operación de API. SageMaker CreateWorkforce
Una vez creado el personal privado, dicho personal y todos los equipos de trabajo y trabajadores asociados al mismo estarán disponibles para todas las tareas de etiquetado de Ground Truth y tareas de flujos de trabajo de revisión humana de Amazon A2I. Para obtener más información, consulte Creación de un personal IdP de OIDC.
Envíe las reclamaciones obligatorias y opcionales a Ground Truth y Amazon A2I
Al usar su propio IdP, Ground Truth y Amazon A2I utilizan su Issuer
, ClientId
y ClientSecret
para autenticar a los trabajadores obteniendo un CÓDIGO de autenticación de su AuthorizationEndpoint
.
Ground Truth y Amazon A2I utilizarán este CÓDIGO para obtener una reclamación personalizada de su IdP TokenEndpoint
o UserInfoEndpoint
. Puede configurar TokenEndpoint
para que devuelva un token web JSON (JWT), o bien configurar UserInfoEndpoint
para que devuelva un objeto JSON. El objeto JWT o JSON debe contener las reclamaciones obligatorias y opcionales que usted especifique. Una reclamación
nota
Algunos de los parámetros de la siguiente tabla pueden especificarse mediante :
o -
. Por ejemplo, puede especificar los grupos a los que pertenece un trabajador utilizando sagemaker:groups
o sagemaker-groups
en su reclamación.
Nombre | Obligatoria | Formato y valores aceptados | Descripción | Ejemplo |
---|---|---|---|---|
|
Sí |
Tipo de datos: Si un trabajador pertenece a un solo grupo, identifique el grupo mediante una cadena. Si un trabajador pertenece a varios grupos, utilice una lista de hasta 10 cadenas. Caracteres permitidos: Regex: [\p{L}\p{M}\p{S}\p{N}\p{P}]+ Cuotas: 10 grupos por trabajador 63 caracteres por nombre de grupo |
Asigna un trabajador a uno o varios grupos. Los grupos se utilizan para mapear al trabajador en equipos de trabajo. |
Ejemplo de un trabajador que pertenece a un solo grupo: Ejemplo de un trabajador que pertenece a más de un grupo: |
|
Sí |
Tipo de datos: Cadena |
Esto es obligatorio para rastrear la identidad de un trabajador dentro de la plataforma Ground Truth para auditar e identificar las tareas en las que ha trabajado ese trabajador. En cuanto al ADFS, los clientes deben usar el identificador de seguridad principal (SID). |
|
|
Sí |
Tipo de datos: Cadena Caracteres permitidos: Regex: [\w+-]+ Cuotas: 128 caracteres |
Un ID de cliente. Todos los tokens deben emitirse para este ID de cliente. |
|
|
Sí |
Tipo de datos: Cadena |
El nombre del trabajador que se mostrará en el portal para trabajadores. |
|
|
No |
Tipo de datos: Cadena |
El correo electrónico del trabajador. Ground Truth usa este correo electrónico para notificar a los trabajadores que han sido invitados a trabajar en tareas de etiquetado. Ground Truth también utilizará este correo electrónico para avisar a sus trabajadores cuando haya tareas de etiquetado disponibles si configura un tema de Amazon SNS para un equipo de trabajo del que forma parte este trabajador. |
|
|
No |
Tipo de datos: Bool Valores aceptados:
|
Indica si el correo electrónico del usuario ha sido verificado o no. |
|
A continuación, se muestra un ejemplo de la sintaxis del objeto JSON que su UserInfoEndpoint
puede devolver.
{ "sub":"
122
", "exp":"10000
", "sagemaker-groups":["group1
","group2
"] "sagemaker-name":"name
", "sagemaker-sub":"122
", "sagemaker-client_id":"123456
" }
Ground Truth o Amazon A2I comparan los grupos que figuran en sagemaker:groups
o sagemaker-groups
para verificar que su trabajador pertenece al equipo de trabajo especificado en el trabajo de etiquetado o la tarea de revisión humana. Una vez verificado el equipo de trabajo, las tareas de etiquetado o revisión humana se envían a dicho trabajador.
Creación de un personal IdP de OIDC
Puede crear una fuerza laboral mediante la operación de la SageMaker API CreateWorkforce
y los SDK asociados específicos del idioma. Especifique un WorkforceName
e información sobre su IdP de OIDC en el parámetro OidcConfig
. Le recomendamos que configure su OIDC con un URI de redireccionamiento indicativo y, a continuación, que actualice el URI con la URL del portal para trabajadores tras crear el personal. Para obtener más información, consulte Configure su IdP de OIDC.
A continuación se muestra un ejemplo de solicitud: Consulte CreateWorkforce
para obtener más información sobre cada parámetro de esta solicitud.
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"
] } }
Configure su IdP de OIDC
La forma de configurar su IdP de OIDC dependerá del IdP que utilice y de los requisitos de su empresa.
Al configurar su IdP, deberá especificar una devolución de llamada o redirigir el URI. Después de que Ground Truth o Amazon A2I autentiquen a un trabajador, este URI redirigirá al trabajador al portal para trabajadores donde los trabajadores pueden acceder al etiquetado o a las tareas de revisión humana. Para crear la URL de un portal para trabajadores, deberá crear un personal con los detalles de su IdP de OIDC mediante la operación de API CreateWorkforce
. En particular, deberá configurar su IdP de OIDC con las reclamaciones de SageMaker personalizadas requeridas (consulte la siguiente sección para obtener más información). Por lo tanto, se recomienda configurar el OIDC con un URI de redireccionamiento temporal y, a continuación, actualizar el URI después de crear la plantilla. Consulte Creación de un personal IdP de OIDC para obtener información sobre cómo crear un personal mediante esta API.
Puedes ver la URL de tu portal de trabajadores en la consola SageMaker Ground Truth o mediante la operación SageMaker API,DescribeWorkforce
. La URL del portal para trabajadores está en el parámetro SubDomain
de la respuesta.
importante
Asegúrese de añadir el subdominio del personal a su lista de IdP de OIDC permitidos. Cuando añada el subdominio a su lista de permitidos, deberá terminar en /oauth2/idpresponse
.
Para ver la URL de su portal para trabajadores después de crear un personal privado (consola):
-
Abre la SageMaker consola en https://console.aws.amazon.com/sagemaker/
. -
En el panel de navegación, elija Personal de etiquetado.
-
Seleccione la pestaña Privado.
-
En el resumen de personal privado, verá la URL de inicio de sesión del portal de etiquetado. Esta es la URL de su portal para trabajadores.
Para ver la URL de su portal para trabajadores después de crear un personal privado (API):
Al crear un personal privado utilizando CreateWorkforce
, deberá especificar WorkforceName
. Use este nombre para llamar a DescribeWorkforce
. En la siguiente tabla se incluyen ejemplos de solicitudes que utilizan las AWS CLI teclas y AWS SDK for Python (Boto3).
Valide su respuesta de autenticación del personal IdP de OIDC
Una vez creado su personal IdP de OIDC, puede utilizar el siguiente procedimiento para validar su flujo de trabajo de autenticación mediante cURL. Este procedimiento asume que tiene acceso a un terminal y que tiene cURL instalado.
Para validar su respuesta de autorización IdP de OIDC:
-
Obtenga un código de autorización mediante un URI configurado de la siguiente manera:
{AUTHORIZE ENDPOINT}
?client_id={CLIENT ID}
&redirect_uri={REDIRECT URI}
&scope={SCOPE}
&response_type=code-
Sustituya
por el punto de conexión autorizado para su IdP de OIDC.{AUTHORIZE ENDPOINT}
-
Sustituya
por el ID de cliente de su cliente OAuth.{CLIENT ID}
-
Sustituya
por la URL del portal para trabajadores. Si aún no está presente, deberá agregar{REDIRECT URI}
/oauth2/idpresponse
al final de la URL. -
Si tiene un ámbito personalizado, úselo para sustituir
. Si no tiene ningún ámbito personalizado, sustituya{SCOPE}
por{SCOPE}
openid
.
A continuación, se muestra un ejemplo de un URI tras haber realizado las modificaciones anteriores:
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
-
-
Copie y pegue el URI modificado del paso 1 en su navegador y, a continuación, pulse Entrar en su teclado.
-
Autentíquese con su IdP.
-
Copie el parámetro de consulta del código de autenticación en el URI. Este parámetro comienza por
code=
. El siguiente es un ejemplo de cómo podría ser la respuesta. En este ejemplo, copiecode=MCNYDB...
y todo lo que sigue.https://example.labeling.sagemaker.aws/oauth2/idpresponse?code=MCNYDB....
-
Abra una terminal e introduzca el siguiente comando una vez realizadas las modificaciones necesarias que se indican a continuación:
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}
'-
Sustituya
por el punto de conexión del token de su IdP de OIDC.{TOKEN ENDPOINT}
-
Sustituya
por el ID de cliente de su cliente OAuth.{CLIENT ID}
-
Sustituya
por el secreto de cliente de su cliente OAuth.{CLIENT SECRET}
-
Sustituya
por el parámetro de consulta del código de autenticación que copió en el paso 4.{CODE}
-
Sustituya
por la URL del portal para trabajadores.{REDIRECT URI}
A continuación, se muestra un ejemplo de la solicitud de cURL una vez realizadas las modificaciones descritas anteriormente:
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'
-
-
Este paso depende del tipo de
access_token
que su IDP devuelva, un token de acceso de texto sin formato o un token de acceso JWT.-
Si su IdP no admite los tokens de acceso JWT,
access_token
puede ser texto sin formato (por ejemplo, un UUID). Verá una respuesta similar a la siguiente. En este caso, vaya al paso 7.{ "access_token":"179c144b-fccb-4d96-a28f-eea060f39c13", "token_type":"Bearer", "expires_in":3600, "refresh_token":"ef43e52e-9b4f-410c-8d4c-d5c5ee57631a", "scope":"openid" }
-
Si su IdP admite los tokens de acceso JWT, el paso 5 debería generar un token de acceso en formato JWT. La respuesta tiene un aspecto similar a la del siguiente ejemplo:
{ "access_token":"eyJh...JV_adQssw5c", "refresh_token":"i6mapTIAVSp2oJkgUnCACKKfZxt_H5MBLiqcybBBd04", "refresh_token_expires_in":6327, "scope":"openid", "id_token":"eyJ0eXAiOiJK9...-rDaQzUHl6cQQWNiDpWOl_lxXjQEvQ" }
Copie el JWT y decodifíquelo. Puede utilizar un script de Python o un sitio web de terceros para decodificarlo. Por ejemplo, puede ir al sitio web https://jwt.io/
y pegar el JWT en el cuadro codificado para decodificarlo. Asegúrese de que la respuesta decodificada contenga lo siguiente:
-
Las SageMaker reclamaciones obligatorias de la tabla se encuentran enEnvíe las reclamaciones obligatorias y opcionales a Ground Truth y Amazon A2I. Si no es así, deberá volver a configurar su IdP de OIDC para que contenga estas reclamaciones.
-
El emisor que especificó al configurar el personal IdP.
-
-
-
En una terminal, introduzca el siguiente comando una vez realizadas las modificaciones necesarias que se indican a continuación:
curl -X POST -H 'Authorization: Bearer
{ACCESS TOKEN}
' -d '' -k -v{USERINFO ENDPOINT}
-
Sustituya
por el punto de conexión de información del usuario de su IdP de OIDC.{USERINFO ENDPOINT}
-
Sustituya
por el token de acceso de la respuesta que recibió en el paso 7. Esta es la entrada del parámetro{ACCESS TOKEN}
"access_token"
.
A continuación, se muestra un ejemplo de la solicitud de cURL una vez realizadas las modificaciones descritas anteriormente:
curl -X POST -H 'Authorization: Bearer eyJ0eX...' -d '' -k -v https://example.com/userinfo
-
-
La respuesta al paso final del procedimiento anterior puede parecerse a la del siguiente bloque de código.
Si lo que
access_token
devolvió en el paso 6 fue texto plano, deberá comprobar que esta respuesta contiene la información requerida. En este caso, la respuesta debe incluir las SageMaker reclamaciones obligatorias de la tabla que se encuentra enEnvíe las reclamaciones obligatorias y opcionales a Ground Truth y Amazon A2I. Por ejemplo,sagemaker-groups
,sagamaker-name
.{ "sub":"122", "exp":"10000", "sagemaker-groups":["group1","group2"] "sagemaker-name":"name", "sagemaker-sub":"122", "sagemaker-client_id":"123456" }
Siguientes pasos
Una vez que haya creado un personal privado con su IdP y haya verificado la respuesta de autenticación de su IdP, podrá crear equipos de trabajo con sus grupos de IdP. Para obtener más información, consulte Gestionar un personal privado (IdP de OIDC).
Puedes restringir el acceso de los trabajadores a las tareas a direcciones IP específicas y actualizar o eliminar a tus empleados mediante la SageMaker API. Para obtener más información, consulte Gestión de la fuerza laboral privada mediante Amazon SageMaker API.