Habilitación del acceso público

A veces los datos están diseñados para ser compartidos. Los grupos pueden contener conjuntos de datos abiertos para investigaciones académicas y privadas o repositorios de imágenes que utilizan las aplicaciones web o las redes de distribución de contenido. Para conseguir que estos grupos sean accesibles, utilice el grupo Acceso público.

Hay tres roles de IAM que se pueden utilizar para el acceso público a un grupo: Administrator, ContentReader y ObjectReader. La diferencia entre ellos es que Administrator y ContentReader pueden listar los objetos en un grupo, lo que es útil para las aplicaciones que requieren facilidad de listado (por ejemplo, una interfaz de usuario web) además de leer objetos. Para obtener más información, consulte la documentación de referencia de IAM.

Si External Identity Isolation (EII) está configurado en Limited, el acceso público falla porque las solicitudes anónimas no tienen ID de cuenta y no pueden cumplir el requisito de coincidencia de identidad.

Utilización de la consola para establecer el acceso público

En primer lugar, asegúrese de que tiene un grupo. Si no es así, siga la guía de aprendizaje de iniciación para familiarizarse con la consola.

Habilitar acceso público

Antes de poder habilitar el acceso público a un depósito, es necesario habilitar el grupo Acceso público a nivel de cuenta. Solo el titular de la cuenta o un usuario con el rol de administrador de grupos de acceso de IAM puede modificar esta configuración. Para verificarlo o activarlo, ve a Gestionar > Acceso (IAM) > Configuración y comprueba que la opción Acceso público esté activada. Si esta configuración a nivel de cuenta está desactivada, los controles a nivel de depósito que se describen a continuación no surten efecto.

  1. En el IBM Cloudpanel de control de la consola, seleccione Almacenamiento para ver la lista de recursos.
  2. A continuación, seleccione la instancia de servicio con el grupo desde el menú Almacenamiento. Esto le lleva a la consola de Object Storage.
  3. Elija el grupo al que desea asignar acceso público. Ten en cuenta que esta política permite que cualquier persona con los permisos de acceso adecuados ( URL ) pueda descargar todos los objetos de un bucket.
  4. Selecciona la pestaña Permisos en las pestañas de navegación del depósito.
  5. Desplázate hasta la sección Acceso público y haz clic en Crear política de acceso.
  6. Después de leer el aviso, seleccione Habilitar.
  7. Ahora se puede acceder de forma pública a todos los objetos de este grupo.

Inhabilitar acceso público

  1. Desde cualquier logar de la consola de IBM Cloud, seleccione el menú Gestionar y Acceso (IAM).
  2. Seleccione Grupos de acceso en el menú de navegación.
  3. Seleccione Acceso público para ver una lista de todas las políticas de acceso público que se están utilizando actualmente.
  4. Localice la política correspondiente al grupo al que desea volver a aplicar al control de acceso.
  5. En la lista de acciones de la parte derecha de la entrada de política, seleccione Eliminar.
  6. Confirme el recuadro de diálogo y la política se eliminará del grupo.

Habilitación del acceso público sobre objetos individuales

Para que se pueda acceder de forma pública a un objeto a través de la API REST, se puede incluir una cabecera x-amz-acl: public-read en la solicitud. Si se define esta cabecera, se omite cualquier comprobación de política de IAM y se permiten solicitudes HEAD y GET no autenticadas. Para obtener más información sobre puntos finales, consulte Puntos finales y ubicaciones de almacenamiento.

Además, las credenciales de HMAC hacen posible que se pueda permitir el acceso público temporal que utiliza URL prefirmados.

Carga de un objeto público

curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}" \
     -H "x-amz-acl: public-read" \
     -H "Authorization: Bearer {token}" \
     -H "Content-Type: text/plain; charset=utf-8" \
     -d "{object-contents}"

Habilitación del acceso público a un objeto existente

Si se utiliza el parámetro de consulta ?acl sin una carga útil y la cabecera x-amz-acl: public-read, se permite el acceso público al objeto sin necesidad de sobrescribir datos.

curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
     -H "x-amz-acl: public-read" \
     -H "Authorization: Bearer {token}"

Cómo volver a convertir un objeto público en privado

Si se utiliza el parámetro de consulta ?acl sin una carga útil y una cabecera x-amz-acl: vacía, se revoca el acceso público al objeto sin necesidad de sobrescribir datos.

curl -X "PUT" "https://{endpoint}/{bucket-name}/{object-name}?acl" \
     -H "Authorization: Bearer {token}" \
     -H "x-amz-acl:"

Sitios web estáticos

Aunque IBM Cloud Object Storage no admite el alojamiento automático de sitios web estáticos, es posible configurar manualmente un servidor web y utilizarlo para servir contenido de acceso público alojado en un depósito. Para obtener más información, consulte la visión general de las opciones del sitio web estático.