シングルサインオンが有効な場合( 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スクリプト
どちらのスクリプトも、Red Hat Enterprise Linuxの場合は ./debs`StorageGRIDのインストールファイルディレクトリ(UbuntuまたはDebianの場合は `./vsphere
)にあり(`./rpms`ます。
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 の使用方法と同様に、トークンを他の要求に使用できるようになりました。