Creación de tokens de SAS para los contenedores de almacenamiento

En este artículo aprenderá a crear tokens de firma de acceso compartido (SAS) de delegación de usuarios mediante el Explorador de Azure Storage o Azure Portal. Los tokens de SAS de delegación de usuarios se protegen con credenciales de Microsoft Entra. Un token de SAS proporciona acceso delegado y seguro a los recursos de la cuenta de almacenamiento de Azure.

Screenshot of a storage url with SAS token appended.

Sugerencia

Las identidades administradas proporcionan un método alternativo para conceder acceso a los datos de almacenamiento sin necesidad de incluir tokens de SAS con las solicitudes HTTP. ConsulteIdentidades administradas para la traducción de documentos.

  • Puede usar identidades administradas para conceder acceso a cualquier recurso que admita la autenticación de Microsoft Entra, incluidas sus propias aplicaciones.
  • El uso de identidades administradas reemplaza el requisito de incluir tokens de firma de acceso compartido (SAS) con las direcciones URL de origen y destino.
  • El uso de identidades administradas en Azure no tiene ningún costo adicional.

En general, los tokens de SAS funcionan así:

  • Una aplicación envía el token de SAS a Azure Storage como parte de una solicitud de API REST.

  • El servicio de almacenamiento comprueba que la SAS es válida. Si es así, la solicitud está autorizada.

  • La solicitud se rechaza si el token de SAS se considera no válido. Si es así, se devuelve el código de error 403 (Prohibido).

Azure Blob Storage ofrece tres tipos de recursos:

  • Las cuentas de almacenamiento proporcionan un espacio de nombres único en Azure para los datos.
  • Los contenedores de almacenamiento de datos se encuentran en cuentas de almacenamiento y organizan conjuntos de blobs (archivos, texto o imágenes).
  • Los blobs se encuentran en contenedores y almacenan texto y datos binarios, como archivos, texto e imágenes.

Importante

  • Los tokens de SAS se usan para conceder permisos a los recursos de almacenamiento y deben protegerse de la misma manera que una clave de cuenta.

  • Las operaciones que utilizan tokens de SAS deben realizarse únicamente sobre una conexión HTTPS y los URI de SAS solo se deben distribuir por una conexión segura como HTTPS.

Requisitos previos

Para comenzar, necesitará los recursos siguientes:

  • Una cuenta de Azure activa. En caso de no tener ninguna, puede crear una gratis.

  • Un recurso de Translator.

  • Una cuenta de Azure Blob Storage con un rendimiento estándar. También necesita crear contenedores para almacenar y organizar los archivos en la cuenta de almacenamiento. Si no sabe cómo crear una cuenta de almacenamiento de Azure con un contenedor de almacenamiento, siga estos inicios rápidos:

    • Crear una cuenta de almacenamiento. Al crear la cuenta de almacenamiento, seleccione el rendimiento Estándar en el campo Detalles de instancia>Rendimiento.
    • Cree un contenedor. Al crear un contenedor, establezca Nivel de acceso público en Contenedor (acceso de lectura anónimo para contenedores y archivos) en la ventana Nuevo contenedor.

Creación de tokens de SAS en Azure Portal

Vaya a Azure Portal y al contenedor o a un archivo específico como se indica a continuación y siga estos pasos:

Creación de un token de SAS para un contenedor Creación de un token de SAS para un archivo específico
Su cuenta de almacenamientocontenedoressu contenedor Su cuenta de almacenamientocontenedoressu contenedorsu archivo
  1. Haga clic con el botón derecho en el contenedor o archivo y seleccione Generar SAS en el menú desplegable.

  2. Seleccione Método de firmaClave de delegación de usuario.

  3. Para definir los permisos, active o desactive la casilla correspondiente:

    • El contenedor de origen o archivo debe designar acceso de lectura y de lista.

    • El destino contenedor o archivo debe designar escritura y acceso.

  4. Especifique la fecha y hora de inicio y expiración de la clave firmada.

    • Cuando se crea una firma de acceso compartido (SAS), la duración predeterminada es de 48 horas. Después de 48 horas, deberá crear un nuevo token.
    • Considere la posibilidad de establecer una duración más larga de uso de la cuenta de almacenamiento para las operaciones del servicio Translator.
    • El valor de la hora de expiración viene determinado por si usa una clave de cuenta o una clave de delegación de usuarioMétodo de firma:
      • Clave de cuenta: aunque no se impone un límite de tiempo máximo, el procedimiento recomendado recomienda configurar una directiva de expiración para limitar el intervalo y minimizar el riesgo. Configuración de una directiva de expiración para firmas de acceso compartido.
      • Clave de delegación de usuario: el valor de la hora de expiración es de siete días como máximo a partir de la creación del token de SAS. La SAS no es válida después de que expire la clave de delegación de usuarios, por lo que una SAS con un tiempo de expiración de más de siete días seguirá siendo válida solo durante siete días. Para más información, consulteUsar credenciales de Microsoft Entra para proteger una SAS.
  5. El campo Direcciones IP permitidas es opcional y especifica una dirección IP o un intervalo de direcciones IP desde el que se aceptan solicitudes. Si la dirección IP de la solicitud no coincide con la dirección IP o el intervalo de direcciones especificado en el token de SAS, se produce un error en la autorización. La dirección IP o un intervalo de direcciones IP deben ser direcciones IP públicas, no privadas. Para obtener más información, veaEspecificación de una dirección IP o un intervalo IP.

  6. El campo Protocolos permitidos es opcional y especifica el protocolo permitido para una solicitud realizada con la firma de acceso compartido. El valor predeterminado es HTTPS.

  7. Revise y, a continuación, seleccione Generar URL y token de SAS.

  8. La cadena de consulta del token de SAS de blob y de la dirección URL de SAS de blob aparecen en el área inferior de la ventana.

  9. Copie y pegue estos valores en una ubicación segura. Estos solo se mostrarán una vez y no se podrán recuperar una vez cerrada la ventana.

  10. Para construir una dirección URL de SAS, asocie el token de SAS (URI) a la dirección URL de un servicio de almacenamiento.

Creación de tokens de SAS con el Explorador de Azure Storage

El Explorador de Azure Storage es una aplicación independiente que permite administrar con facilidad los recursos del almacenamiento en la nube de Azure desde el escritorio.

  • Se necesita la aplicación Explorador de Azure Storage instalada en el entorno de desarrollo de Windows, macOS o Linux.

  • Una vez instalada la aplicación Explorador de Azure Storage, conéctela a la cuenta de almacenamiento que esté usando para la traducción de documentos. Siga estos pasos para crear tokens para un contenedor de almacenamiento o un archivo de blob específico:

  1. Abra la aplicación Explorador de Azure Storage en la máquina local y vaya a las cuentas de almacenamiento conectadas.

  2. Expanda el nodo Cuentas de almacenamiento y seleccione Contenedores de blob.

  3. Expanda el nodo Contenedores de blob y haga clic con el botón derecho en un nodo contenedor de almacenamiento para mostrar el menú de opciones.

  4. Seleccione Obtener firma de acceso compartido... en el menú de opciones.

  5. En la ventana Firma de acceso compartido, realice las selecciones siguientes:

    • Seleccione la directiva de acceso (el valor predeterminado es ninguna).
    • Especifique la fecha y hora de inicio y de expiración de la clave firmada. Se recomienda una duración corta porque, una vez generada, no se puede revocar una SAS.
    • Seleccione la zona horaria de la fecha y hora de inicio y de expiración (el valor predeterminado es la zona horaria local).
    • Para definir los permisos del contenedor, active o desactive la casilla correspondiente.
    • Repase y seleccione Crear.
  6. Aparece una nueva ventana con el nombre del contenedor, el URI y la cadena de consulta del contenedor.

  7. Copie y pegue estos valores en una ubicación segura. Estos solo se mostrarán una vez y no se podrán recuperar una vez cerrada la ventana.

  8. Para construir una dirección URL de SAS, asocie el token de SAS (URI) a la dirección URL de un servicio de almacenamiento.

Uso de la dirección URL de SAS para conceder acceso

La dirección URL de SAS incluye un conjunto especial de parámetros de consulta. Estos parámetros indican cómo el cliente accede a los recursos.

Puede incluir la dirección URL de SAS con solicitudes de API REST de dos maneras:

  • Use la dirección URL de SAS como valor para sourceURL y targetURL.

  • Anexe la cadena de consulta de SAS a los valores sourceURL y targetURL existentes.

Esta es una solicitud de API REST de ejemplo:

{
    "inputs": [
        {
            "storageType": "File",
            "source": {
                "sourceUrl": "https://my.blob.core.windows.net/source-en/source-english.docx?sv=2019-12-12&st=2021-01-26T18%3A30%3A20Z&se=2021-02-05T18%3A30%3A00Z&sr=c&sp=rl&sig=d7PZKyQsIeE6xb%2B1M4Yb56I%2FEEKoNIF65D%2Fs0IFsYcE%3D"
            },
            "targets": [
                {
                    "targetUrl": "https://my.blob.core.windows.net/target/try/Target-Spanish.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
                    "language": "es"
                },
                {
                    "targetUrl": "https://my.blob.core.windows.net/target/try/Target-German.docx?sv=2019-12-12&st=2021-01-26T18%3A31%3A11Z&se=2021-02-05T18%3A31%3A00Z&sr=c&sp=wl&sig=AgddSzXLXwHKpGHr7wALt2DGQJHCzNFF%2F3L94JHAWZM%3D",
                    "language": "de"
                }
            ]
        }
    ]
}

Eso es todo. Acaba de aprender a crear tokens de SAS para autorizar el acceso a los datos a los clientes.

Pasos siguientes