シングルサインオンが有効な場合( Azure )は API を使用
ある場合 "シングルサインオン( SSO )の設定と有効化" また、 Azure を SSO プロバイダとして使用している場合は、 2 つのサンプルスクリプトを使用して、グリッド管理 API またはテナント管理 API で有効な認証トークンを取得できます。
Azure シングルサインオンが有効な場合は、 API にサインインします
以下の手順は、 Azure を SSO アイデンティティプロバイダとして使用する場合に該当します
-
StorageGRID ユーザグループに属するフェデレーテッドユーザの SSO E メールアドレスとパスワードが必要です。
-
テナント管理 API にアクセスする場合は、テナントアカウント ID を確認しておきます。
認証トークンを取得するには、次のサンプルスクリプトを使用します。
-
。
storagegrid-ssoauth-azure.py
Python スクリプト -
。
storagegrid-ssoauth-azure.js
Node.jsスクリプト
どちらのスクリプトも、StorageGRID インストールファイルディレクトリにあります (./rpms
Red Hat Enterprise LinuxまたはCentOSの場合: ./debs
UbuntuまたはDebianの場合は、および ./vsphere
VMwareの場合)をクリックします。
Azureと独自のAPI統合を作成するには、を参照してください storagegrid-ssoauth-azure.py
スクリプト:Python スクリプトは、 StorageGRID に対して 2 つの要求を直接実行し(まず SAMLRequest を取得し、あとで認証トークンを取得するため)、さらに Node.js スクリプトを呼び出して、 SSO 処理を実行します。
SSO 処理は一連の API 要求を使用して実行できますが、実行するのは簡単ではありません。puppeteer Node.js モジュールは、 Azure SSO インターフェイスを破棄するために使用します。
URLエンコード問題 を使用している場合は、次のエラーが表示されることがあります。 Unsupported SAML version
。
-
必要な依存関係を次のようにインストールします。
-
Node.js をインストールします(を参照) "https://nodejs.org/en/download/")。
-
必要な Node.js モジュール( puppeteer および jsdom )を取り付けます。
npm install -g <module>
-
-
Python スクリプトを Python インタープリタに渡して、スクリプトを実行します。
Python スクリプトは、対応する Node.js スクリプトを呼び出して、 Azure SSO のインタラクションを実行します。
-
プロンプトが表示されたら、次の引数の値を入力します(または、パラメータを使用して渡します)。
-
Azure へのサインインに使用する SSO E メールアドレス
-
StorageGRID のアドレス
-
テナント管理 API にアクセスする場合は、テナントアカウント ID
-
-
プロンプトが表示されたら、パスワードを入力し、要求された場合に Azure に対する MFA 認証を提供できるように準備します。
このスクリプトでは、 MFA が Microsoft Authenticator を使用して実行されていることを前提として他の形式のMFAをサポートするようにスクリプトを変更する必要がある場合があります(テキストメッセージで受信したコードの入力など)。 StorageGRID 認証トークンが出力に表示されます。SSO を使用していない場合の API の使用方法と同様に、トークンを他の要求に使用できるようになりました。