Utiliser l'API si l'authentification unique est activée (Azure)
Si vous avez"configuré et activé l'authentification unique (SSO)" et vous utilisez Azure comme fournisseur SSO, vous pouvez utiliser deux exemples de scripts pour obtenir un jeton d’authentification valide pour l’API Grid Management ou l’API Tenant Management.
Sign in à l’API si l’authentification unique Azure est activée
Ces instructions s'appliquent si vous utilisez Azure 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 .
-
Si vous souhaitez accéder à l’API de gestion des locataires, vous connaissez l’ID du compte locataire.
Pour obtenir un jeton d’authentification, vous pouvez utiliser les exemples de scripts suivants :
-
Le
storagegrid-ssoauth-azure.py
Script Python -
Le
storagegrid-ssoauth-azure.js
Script Node.js
Les deux scripts se trouvent dans le répertoire des fichiers d'installation de StorageGRID(./rpms
pour Red Hat Enterprise Linux, ./debs
pour Ubuntu ou Debian, et ./vsphere
pour VMware).
Pour écrire votre propre intégration d'API avec Azure, consultez le storagegrid-ssoauth-azure.py
scénario. Le script Python envoie deux requêtes directement à StorageGRID (d'abord pour obtenir le SAMLRequest, puis pour obtenir le jeton d'autorisation) et appelle également le script Node.js pour interagir avec Azure afin d'effectuer les opérations SSO.
Les opérations SSO peuvent être exécutées à l’aide d’une série de requêtes API, mais cela n’est pas simple. Le module Puppeteer Node.js est utilisé pour récupérer l’interface Azure SSO.
Si vous avez 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 Azure SSO.
-
Lorsque vous y êtes invité, saisissez des valeurs pour les arguments suivants (ou transmettez-les à l'aide de paramètres) :
-
L'adresse e-mail SSO utilisée pour se connecter à Azure
-
L'adresse de StorageGRID
-
L'ID du compte locataire, si vous souhaitez accéder à l'API de gestion des locataires
-
-
Lorsque vous y êtes invité, saisissez le mot de passe et soyez prêt à fournir une autorisation MFA à Azure si nécessaire.
Le script suppose que l'authentification multifacteur est effectuée à l'aide de Microsoft Authenticator. Vous devrez peut-être modifier le script pour prendre en charge d’autres formes d’authentification multifacteur (comme la saisie d’un code reçu dans un message texte). Le jeton d’autorisation StorageGRID est fourni dans la sortie. Vous pouvez désormais utiliser le jeton pour d’autres requêtes, de la même manière que vous utiliseriez l’API si SSO n’était pas utilisé.