はじめに こんにちはこんばんは、Okta Hub & Spoke構成をこよなく愛するネクストモードのおはらふです 今回は、OktaのHub & Spoke構成について設定を行っていきたいと思います...
【Okta】ユーザのBulk Delete(一括削除)
はじめに
ご挨拶
本ブログではPostmanを使ったOktaユーザのBulk Deleteについて、準備から実行までの手順をご紹介したいと思います。
背景
社内の異動時期やPoCの後始末などで、複数Oktaユーザの削除を一括で簡単に行いたいと思うことはありませんか?
しかし、Oktaの管理操作で一般的に利用されるOkta Admin Consoleでは複数ユーザの削除操作がサポートされていません。*1
そこで、Postmanの出番です。
おことわり
本ブログの執筆に使用した端末は英語言語にローカライズされたmacOSです。
そのため、本ブログに掲載した画像と読者の方の作業環境で表示される内容が異なる場合がありますので、ご了承ください。
なお、本ブログの内容はこちらのOkta公式ナレッジの情報をもとに記載しています。(現在のところ英語でのみの提供のようです。)
また、本ブログではユーザの削除操作をプログラム的に実行する内容について説明しており、場合によっては危険な結果をもたらすことがあります。
公式的にはOktaで推奨されていない削除方式ともなりますので、実行は十分な準備と確認の上、自己責任でお願いします。
目次
準備
Postmanアカウントの作成
Postmanのアカウントを作成します。
Postmanを使用するためには、Postmanのアカウントが必要です。
こちらのサインアップページからPostmanのアカウントを作成します。(Freeアカウントで大丈夫です。)
Postman Appのダウンロード・インストール
操作端末にPostman appをダウンロード・インストールします。
Postmanでは、Webインターフェイスが用意されており、アカウント作成後すぐに利用を開始できますが、「コレクションの実行」ができないなど
一部機能が制限されているようです。
今回は「コレクションの実行」を利用したいため、ネイティブのアプリケーションであるPostman appを使用します。
こちらのページからPostman appをダウンロードし、操作端末へインストールします。
APIトークンの作成
PostmanからOkta APIを実行するために必要となるAPIトークンを作成します。
こちらのドキュメントに従ってOktaでAPIトークンを作成します。
APIトークンを作成したら値を「クリップボードへコピー」ボタンをクリックし、その値をメモしておきます。
削除対象OktaユーザのDeactivate
削除対象OktaユーザをDeactivateします。
Oktaユーザの削除(Delete)を行うためには該当のOktaユーザのステータスが「Deactivated(Deprovisioned)」である必要があります。
DeactivateもDeleteと同様にPostmanから行うことも可能ですが、GUI操作によるBulk処理がサポートされているため今回はOkta Admin Consoleから行います。
こちらのドキュメントに従ってOktaユーザの非アクティブ化(Deactivate)を行います。
削除対象Oktaユーザのリスト作成
Postmanで反復処理を行う際のインプットとして使用する削除対象ユーザの一覧(CSVファイル)を作成します。
Okta Admin Consoleから[レポート]>[Okta使用状況]にある[Oktaパスワードの健全性]CSVをダウンロードします。
ダウンロードしたCSVファイルをGoogle シートなどの表計算ソフトで開きます。
C列(Status)の値が「DEPROVISIONED」であるユーザのみをフィルタした上で、B列をコピーします。
表計算ソフトで新規ファイルにコピーした値を貼り付け、CSVファイルとして保存します。
Postman Appの設定
環境の作成
PostmanでAPIを実行する際に指定する「環境」を作成します。(本番とかテストとか検証とか)
Postman appの[環境]-[+]ボタンをクリックします。
①:任意の環境名を設定します。(本番とかテストとか検証とか)
②:以下のとおり、変数および値を設定します。
変数 | 初期値 |
apikey | 本ブログ「APIトークンの作成」でメモした値 |
url | https://<Your Org Domain> |
[保存]をクリックして、設定を保存します。
コレクション/リクエストの作成
Postmanに実行させたいAPIリクエストのコレクションを作成します。
Postman appの[コレクション]-[+]ボタンをクリックします。
任意のコレクション名を設定します。
作成したコレクション名の[・・・]-[リクエストを追加]をクリックします。
①:リクエストに任意のフレンドリー名を設定します。
②:[ヘッダー]タブを選択します。
③:以下のとおり、キーおよび値を設定します。
キー | 値 |
Content-Type | application/json |
Accept | application/json |
Authorization | SSWS |
[保存]をクリックして、設定を保存します。
実行
PostmanでOktaユーザ削除のAPIを実行します。
作成したコレクション名の[・・・]-[コレクションを実行]をクリックします。
[Select File]をクリックし、削除対象Oktaユーザのリスト作成で作成したCSVファイルを選択します。
①:本ブログ「Postman Appの設定」-「環境定義」で作成した環境名を指定します。
②:[Iterations]に表示されている数が削除予定のOktaユーザの数と一致していることを確認します。
③:[Run . . .]をクリックします。
Deleteメソッドのレスポンスコードが「204」であれば削除成功です。
Okta Admin Consoleなどから、ユーザが削除されていることを確認してください。