Use la API si el inicio de sesión único está habilitado (Azure)
Si tiene "Inicio de sesión único configurado y habilitado (SSO)" y utiliza Azure como proveedor SSO, puede utilizar dos scripts de ejemplo para obtener un token de autenticación válido para la API de gestión de grid o la API de gestión de inquilinos.
Inicie sesión en la API si el inicio de sesión único de Azure está habilitado
Estas instrucciones se aplican si utiliza Azure como proveedor de identidades de SSO
-
Conoce la dirección de correo electrónico y la contraseña de SSO para un usuario federado que pertenece a un grupo de usuarios de StorageGRID.
-
Si desea acceder a la API de gestión de inquilinos, conoce el ID de cuenta de inquilino.
Para obtener un token de autenticación, puede utilizar las siguientes secuencias de comandos de ejemplo:
-
El
storagegrid-ssoauth-azure.py
script de Python -
`storagegrid-ssoauth-azure.js`El script Node.js
Ambos scripts se encuentran en el directorio de archivos de instalación de StorageGRID (./rpms`para Red Hat Enterprise Linux, `./debs
para Ubuntu o Debian y ./vsphere
para VMware).
Para escribir tu propia integración de API con Azure, consulta el storagegrid-ssoauth-azure.py
script. El script de Python hace dos solicitudes a StorageGRID directamente (primero para obtener el SAMLRequest, y más tarde para obtener el token de autorización), y también llama al script Node.js para interactuar con Azure para realizar las operaciones de SSO.
Las operaciones SSO se pueden ejecutar mediante una serie de solicitudes API, pero hacerlo no es sencillo. El módulo Puppeteer Node.js se utiliza para raspar la interfaz SSO de Azure.
Si tiene un problema de codificación de URL, puede que aparezca el error: Unsupported SAML version
.
-
Instale las dependencias necesarias de la siguiente manera:
-
Instale Node.js (consulte "https://nodejs.org/en/download/").
-
Instale los módulos Node.js necesarios (tippeteer y jsdom):
npm install -g <module>
-
-
Pase la secuencia de comandos de Python al intérprete de Python para ejecutar la secuencia de comandos.
La secuencia de comandos Python llamará al script Node.js correspondiente para realizar las interacciones de SSO de Azure.
-
Cuando se le solicite, introduzca valores para los siguientes argumentos (o bien, pasarlos mediante parámetros):
-
La dirección de correo electrónico de SSO que se utiliza para iniciar sesión en Azure
-
La dirección de StorageGRID
-
El ID de cuenta de inquilino, si desea acceder a la API de gestión de inquilinos
-
-
Cuando se le solicite, introduzca la contraseña y esté preparado para proporcionar una autorización de MFA para Azure si así se lo solicita.
La secuencia de comandos asume que la MFA se realiza utilizando Microsoft Authenticator. Es posible que necesite modificar el script para admitir otras formas de MFA (como introducir un código recibido en un mensaje de texto). El token de autorización de StorageGRID se proporciona en la salida. Ahora puede utilizar el token para otras solicitudes, de forma similar a cómo utilizaría la API si no se estuviera utilizando SSO.