Extremos de API de Swift compatibles
StorageGRID admite los siguientes extremos de la API de Swift: La URL de la información, la URL de autenticación y la URL de almacenamiento.
URL de información
Puede determinar las capacidades y las limitaciones de la implementación de Swift de StorageGRID emitiendo una solicitud GET a la URL de la base de Swift con la ruta /info.
https://FQDN | Node IP:Swift Port/info/
En la solicitud:
-
FQDN
es el nombre de dominio completo. -
Node IP
Es la dirección IP del nodo de almacenamiento o del nodo de puerta de enlace en la red de StorageGRID. -
Swift Port
Es el número de puerto que se usa para las conexiones API de Swift en el nodo de almacenamiento o la puerta de enlace.
Por ejemplo, la siguiente URL de información solicita información desde un nodo de almacenamiento con la dirección IP 10.99.106.103 y mediante el puerto 18083.
https://10.99.106.103:18083/info/
La respuesta incluye las capacidades de la implementación Swift como diccionario JSON. Una herramienta cliente puede analizar la respuesta JSON para determinar las capacidades de la implementación y usarlas como restricciones para operaciones de almacenamiento subsiguientes.
La implementación de StorageGRID de Swift permite un acceso sin autenticar a la URL de información.
URL de autenticación
Un cliente puede utilizar la URL de autenticación de Swift para autenticarse como usuario de cuenta de inquilino.
https://FQDN | Node IP:Swift Port/auth/v1.0/
Se deben proporcionar el ID de cuenta de inquilino, el nombre de usuario y la contraseña como parámetros en el X-Auth-User
y.. X-Auth-Key
solicite los encabezados de la siguiente manera:
X-Auth-User: Tenant_Account_ID:Username
X-Auth-Key: Password
En los encabezados de la solicitud:
-
Tenant_Account_ID
Es el ID de cuenta que asigna StorageGRID cuando se creó el inquilino de Swift. Este es el mismo ID de cuenta de arrendatario que se utiliza en la página de inicio de sesión de Gestor de inquilinos. -
Username
Es el nombre de un usuario arrendatario que se ha creado en el Administrador de arrendatarios. Este usuario debe pertenecer a un grupo con permiso de administrador de Swift. El usuario raíz del inquilino no puede configurarse para usar la API REST DE Swift.Si la Federación de identidades está habilitada para la cuenta de inquilino, proporcione el nombre de usuario y la contraseña del usuario federado desde el servidor LDAP. Como alternativa, proporcione el nombre de dominio del usuario LDAP. Por ejemplo:
X-Auth-User: Tenant_Account_ID:Username@Domain_Name
-
Password
es la contraseña del usuario inquilino. Las contraseñas de usuario se crean y administran en el Administrador de inquilinos.
La respuesta a una solicitud de autenticación correcta devuelve una URL de almacenamiento y un token de autenticación, de la siguiente forma:
X-Storage-Url: https://FQDN | Node_IP:Swift_Port/v1/Tenant_Account_ID
X-Auth-Token: token
X-Storage-Token: token
De forma predeterminada, el token es válido durante 24 horas desde el tiempo de generación.
Se generan tokens para una cuenta de arrendatario específica. Un token válido para una cuenta no autoriza a un usuario a acceder a otra cuenta.
URL de almacenamiento
Una aplicación cliente puede emitir llamadas a la API DE REST de Swift para realizar operaciones de cuenta, contenedor y objeto admitidas contra un nodo de puerta de enlace o un nodo de almacenamiento. Las solicitudes de almacenamiento se dirigen a la URL de almacenamiento que se devuelve en la respuesta de autenticación. La solicitud también debe incluir el encabezado X-Auth-Token y el valor devuelto por la solicitud auth.
https://FQDN | IP:Swift_Port/v1/Tenant_Account_ID
[/container][/object]
X-Auth-Token: token
Es posible que algunos encabezados de respuesta del almacenamiento que contienen estadísticas de uso no reflejen números precisos de los objetos modificados recientemente. Puede que en estos encabezados se deban utilizar unos minutos para que aparezcan números precisos.
Los siguientes encabezados de respuesta para las operaciones de cuentas y contenedores son ejemplos de los que contienen estadísticas de uso:
-
X-Account-Bytes-Used
-
X-Account-Object-Count
-
X-Container-Bytes-Used
-
X-Container-Object-Count