Utilisez l'API StorageGRID si l'authentification unique est activée (Entra ID)
Si vous avez "authentification unique (SSO) configurée et activée" et que vous utilisez Entra ID comme fournisseur SSO, vous pouvez utiliser deux exemples de scripts pour obtenir un jeton d'authentification valide pour l'API de gestion de grille ou l'API de gestion des locataires.
Connectez-vous à l'API si l'authentification unique Entra ID est activée
Ces instructions s'appliquent si vous utilisez Entra ID comme fournisseur d'identité SSO
-
Vous connaissez l'adresse e-mail et le mot de passe SSO d'un utilisateur fédéré qui appartient à un groupe d'utilisateurs StorageGRID.
-
Pour accéder à l'API de gestion des locataires, vous devez connaître l'identifiant du compte locataire.
Pour obtenir un jeton d'authentification, vous pouvez utiliser les exemples de scripts suivants :
-
Le
storagegrid-ssoauth-azure.pyscript Python -
Le
storagegrid-ssoauth-azure.jsscript Node.js
Les deux scripts se trouvent dans le répertoire des fichiers d'installation de StorageGRID (./rpms pour RHEL, ./debs pour Ubuntu ou Debian, et ./vsphere pour VMware).
Pour créer votre propre intégration API avec Entra ID, consultez le script storagegrid-ssoauth-azure.py. Le script Python effectue deux requêtes directement à StorageGRID (la première pour obtenir la SAMLRequest, et la seconde pour obtenir le jeton d'autorisation), et appelle également le script Node.js pour interagir avec Entra ID afin d'effectuer les opérations SSO.
Les opérations d'authentification unique (SSO) peuvent être exécutées via une série de requêtes API, mais leur mise en œuvre n'est pas simple. Le module Puppeteer Node.js est utilisé pour extraire les données de l'interface SSO Entra ID.
Si vous rencontrez un problème d'encodage d'URL, vous pourriez voir l'erreur : Unsupported SAML version.
-
Installez les dépendances requises, comme suit :
-
Installez Node.js (voir "https://nodejs.org/en/download/").
-
Installez les modules Node.js requis (puppeteer et jsdom) :
npm install -g <module>
-
-
Transmettez le script Python à l'interpréteur Python pour exécuter le script.
Le script Python appellera ensuite le script Node.js correspondant pour effectuer les interactions SSO Entra ID.
-
Lorsque vous y êtes invité, saisissez les valeurs des arguments suivants (ou transmettez-les en tant que paramètres) :
-
L'adresse e-mail SSO utilisée pour vous connecter à Entra ID
-
L'adresse de StorageGRID
-
L'identifiant du compte locataire, si vous souhaitez accéder à l'API de gestion des locataires
-
-
Lorsque vous y serez invité, saisissez votre mot de passe et soyez prêt à fournir une autorisation MFA à Entra ID si cela vous est demandé.

Ce script suppose que l'authentification multifacteur (MFA) est effectuée via Microsoft Authenticator. Il se peut que vous deviez modifier le script pour prendre en charge d'autres formes de MFA (comme la saisie d'un code reçu par message texte). Le jeton d'autorisation StorageGRID est fourni dans le résultat. Vous pouvez désormais utiliser le jeton pour d'autres requêtes, comme vous le feriez avec l'API si l'authentification unique n'était pas utilisée.