Autenticación y control de acceso para aplicaciones de usuario - Amazon WorkDocs

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.

Autenticación y control de acceso para aplicaciones de usuario

Las aplicaciones de nivel de usuario de Amazon WorkDocs se registran y administran mediante la consola de Amazon WorkDocs. Los desarrolladores deben registrar sus aplicaciones en elMy Applicationsen la consola de Amazon WorkDocs en la que se proporcionan ID únicos para cada aplicación. Durante el registro, los desarrolladores deben especificar los URI de redirección en los que recibirán los tokens de acceso, así como el ámbito de la aplicación.

Actualmente, las aplicaciones solo pueden obtener acceso a los sitios de Amazon WorkDocs en el mismoAWScuenta en la que están registradas.

Cree una aplicación

Como administrador de Amazon WorkDocs, cree su aplicación mediante los siguientes pasos.

Para crear una aplicación

  1. Abra la consola de Amazon WorkDocs enhttps://console.aws.amazon.com/zocalo/.

  2. Elija Mis aplicaciones, Crear una aplicación.

  3. Escriba los siguientes valores:

    Nombre de la aplicación

    Nombre de la aplicación.

    Correo electrónico

    Dirección de correo electrónico que se va a asociar a la aplicación.

    Descripción de la aplicación

    Descripción de la aplicación.

    URI de redirección

    La ubicación en la que desea que Amazon WorkDocs redirija el tráfico.

    Ámbitos de la aplicación

    El ámbito (lectura o escritura) que desea que tenga la aplicación. Para obtener más información, consulte Ámbitos de la aplicación.

  4. Elija Create (Crear).

Ámbitos de la aplicación

Amazon WorkDocs admite los siguientes ámbitos de aplicación:

  • Lectura de contenido (workdocs.content.read), que proporciona a la aplicación acceso a las siguientes API de Amazon WorkDocs siguientes:

    • Get*

    • Describe*

  • Escritura de contenido (workdocs.content.write), que proporciona a la aplicación acceso a las siguientes API de Amazon WorkDocs siguientes:

    • Create*

    • Update*

    • Delete*

    • Initiate*

    • Abort*

    • Add*

    • Remove*

Autorización

Una vez completado el registro de la aplicación, una aplicación puede solicitar autorización en nombre de cualquier usuario de Amazon WorkDocs. Para ello, la aplicación debe visitar el punto de enlace OAuth de Amazon WorkDocs,https://auth.amazonworkdocs.com/oauth, y proporciona los siguientes parámetros de consulta:

  • [Obligatorio]app_id: ID de aplicación generada cuando se registra una aplicación.

  • [Obligatorio]auth_type: el tipo OAuth de la solicitud. El valor admitido es ImplicitGrant.

  • [Obligatorio]redirect_uri: el URI de redirección registrado para una aplicación para recibir un token de acceso.

  • [Opcional]scopes: una lista de ámbitos delimitada por comas. Si no se especifica, se usa la lista de ámbitos seleccionados durante el registro.

  • [Opcional]state: una cadena que se devuelve junto con un token de acceso.

nota

Si necesita módulos criptográficos validados FIPS 140-2 al acceder a AWS a través de una interfaz de línea de comandos o una API, utilice un punto de enlace de FIPS. Para obtener más información sobre los puntos de enlace de FIPS disponibles, consulte Estándar de procesamiento de la información federal (FIPS) 140-2.

Una solicitud GET de ejemplo para iniciar el flujo de OAuth para obtener un token de acceso:

GET https://auth.amazonworkdocs.com/oauth?app_id=my-app-id&auth_type=ImplicitGrant&redirect_uri=https://myapp.com/callback&scopes=workdocs.content.read&state=xyz

Estas son las operaciones que tienen lugar durante el flujo de autorización de OAuth:

  1. Se pide al usuario de la aplicación que escriba el nombre de sitio de Amazon WorkDocs.

  2. El usuario es redirigido a la página de autenticación de Amazon WorkDocs para escribir sus credenciales.

  3. Una vez realizada la autenticación, se le presenta al usuario la pantalla de consentimiento en la que puede conceder o denegar a la aplicación la autorización para obtener acceso a Amazon WorkDocs.

  4. Cuando el usuario elige Accept en la pantalla de consentimiento, el navegador se redirige a la URL de devolución de llamada de la aplicación con el token de acceso y la información de la región como parámetros de consulta.

Una solicitud GET de ejemplo desde Amazon WorkDocs:

GET https://myapp.com/callback?acessToken=accesstoken&region=us-east-1&state=xyz

Además del token de acceso, el servicio OAuth de Amazon WorkDocs de devuelve tambiénregioncomo parámetro de consulta para el sitio de Amazon WorkDocs seleccionado. Las aplicaciones externas deben utilizar elregionpara determinar el punto de enlace del servicio de Amazon WorkDocs.

Si necesita módulos criptográficos validados FIPS 140-2 al acceder a AWS a través de una interfaz de línea de comandos o una API, utilice un punto de enlace de FIPS. Para obtener más información sobre los puntos de enlace de FIPS disponibles, consulte Estándar de procesamiento de la información federal (FIPS) 140-2.

Invocación de API de Amazon WorkDocs

Una vez obtenido el token de acceso, la aplicación puede realizar llamadas a la API de a los servicios de Amazon WorkDocs.

Una solicitud curl GET de ejemplo para obtener los metadatos de un documento:

Curl "https://workdocs.us-east-1.amazonaws.com/api/v1/documents/{document-id}" -H "Accept: application/json" -H "Authentication: Bearer accesstoken"

Una función JavaScript de ejemplo para describir las carpetas raíz del usuario:

function printRootFolders(accessToken, siteRegion) { var workdocs = new AWS.WorkDocs({region: siteRegion}); workdocs.makeUnauthenticatedRequest("describeRootFolders", {AuthenticationToken: accessToken}, function (err, folders) { if (err) console.log(err); else console.log(folders); }); }

A continuación se describe una invocación a una API basada en Java de ejemplo:

AWSCredentialsProvider credentialsProvider = new AWSCredentialsProvider() { @Override public void refresh() {} @Override public AWSCredentials getCredentials() { new AnonymousAWSCredentials(); } }; // Set the correct region obtained during OAuth flow. workDocs = AmazonWorkDocsClient.builder().withCredentials(credentialsProvider) .withRegion(Regions.US_EAST_1).build(); DescribeRootFoldersRequest request = new DescribeRootFoldersRequest(); request.setAuthenticationToken("access-token-obtained-through-workdocs-oauth"); DescribeRootFoldersResult result = workDocs.describeRootFolders(request); for (FolderMetadata folder : result.getFolders()) { System.out.printf("Folder name=%s, Id=%s \n", folder.getName(), folder.getId()); }