はじめに こんにちは、 ネクストモード株式会社 のSaaSおじさん久住です...
【Okta|OIGシリーズ】Request Typesを試してみた
はじめに
こんにちは、ネクストモードtaguです。
ネクストモードではID統合管理(IDaaS)であるOktaを用いて各SaaSへのSSOやユーザープロビジョニングを行っています。
Oktaでは2022年にIdentity Governance and Administration(IGA)機能であるOkta Identity Governanceが提供されました。今回は機能の一つであるRequest Typesを試していきたいと思います。
Okta Identity Governance(OIG)
OIGが提供されたことによって、Oktaがもともと提供していたユーザーのID管理機能がさらに強化され、アクセス申請やアクセスレビューやレポーティングといったガバナンス機能が追加されました。
詳細については弊社久住が以下ブログ記事にまとめていますので、ぜひご覧ください。
Access Requests
Access Requestsを利用することで、Oktaに登録しているアプリケーションやOktaグループ等のアクセス要求をユーザー自身から申請することができ、上長や管理者などが承認することで自動的なアクセス権の付与やグループ追加が実現できます。
これにより手動での作業による人的ミスや遅延を減らすことができ、アクセス管理を効率化できます。
Access RequestsにはRequest ConditionsとRequest Typesに分かれており、Request Conditionsとはアプリに直接設定を適用してアクセス管理を行う方法になります。Request Typesはアクセス申請のフローを定義する方法で柔軟な申請フローを作成できます。
今回はRequest Typesを使ってアプリケーションへの承認フローを作成してみたいと思います。
Request Typesを試す
まずは検証のために以下リソースをあらかじめ作成しました。
- Oktaユーザー
- 申請者
requester
- OktaユーザーのプロファイルのmanagerIDに
managerアカウント
を設定
- OktaユーザーのプロファイルのmanagerIDに
- 申請者
-
- 承認者
- マネージャー
manager
- IT管理者
admin
- マネージャー
- Oktaグループ
taguchi-access-request-group
- メンバーとして
requesterアカウント
をアサイン
- メンバーとして
- 承認者
- 接続先アプリケーション
- 今回は「BOX」を使用
Okta Access RequestsアプリへのOktaグループプッシュ
まずOkta管理コンソール > アプリケーションで"Okta Access Requests"を検索し、"プッシュグループ"タブをクリックし、OktaグループをOkta Access Requestsへプッシュします。
これによって特定の部署グループに所属するユーザーのみが申請可能など、アクセス管理をより適切に行うことができます。
プッシュされたグループはAccess Requests画面のSetting内で確認できます。
アクセスリクエストチーム、構成リストを作成する
次にアクセスリクエストチームと構成リストを作成していきます。
アクセスリクエストチームを作成することによって、チームメンバーがRequest Typeを作成、管理することができます。
また構成リストとは、Access Requestsで選択できるアプリケーションやグループのリストを管理するためのリストです。構成リストは二つの種類があり、Oktaのアプリやグループをもとに作成できるリソースリストと独自の選択項目を作成できるカスタムリストがあります。
例えばリソースリストでは特定のアプリのみを選択できるようにリスト化することで、アクセス可能なアプリを制御することができます。また、カスタムリストでは貸し出しPCのリストを作成することで、利用者自身で貸し出し対象のPCを選択し、申請することができます。
まずアクセスリクエストチームを設定していきます。
Okta管理コンソールからIDガバナンス > アクセスリクエストをクリックします。
次に"Teams"から"Add Team"をクリックし、設定します。
"Name"には任意のチーム名を入力します。"Members"には承認者となるメンバーを追加します。
"Request privacy"は申請された内容をチームメンバーや管理者申請のフォロワーとして追加されたユーザー以外にも公開する場合に使用します。デフォルトではこの設定はオンになっており、非公開設定となっています。
"Auto-assign"は申請をチームメンバーに割り当てる際の方法を設定できます。"Rotate through team members"はチーム内にメンバーが複数いる場合、担当が順番に割り当たっていきます。"To a specific user"は特定のメンバーのみに担当が割り当てられます。
今回はIT管理者にのみ届くようにしたいため、"To a specific user"を選択しました。
後述のRequest Type作成時に、アクションを自動実行させたいため、Settings > IntegrationsのOktaの"Edit connection"をクリックし、"Select teams"から作成したチームにチェックをいれます。
次に構成リストを作成していきます。
Settings > Configuration listsを選択します。
"Create new list"をクリックし、"Teams"には先ほど作成したチームを選択します。ここで選択したチームのみが、Request Typeでこの構成リストを使用できます。"List type"は"Resouce list"を選択し、"Resource type"を"Applications"とします。"Add item"をクリックし、申請対象のアプリケーションを選択して"Create list"をクリックします。
Request Typeを作成する
Access Requests > Create request typeをクリックします。
"Name"に適当な名前を入力し、"Team"には作成したチームを選択します。"Audience"には申請を行うグループを設定します。"Select an option..." > "Select an Okta group..."をクリックし、グループプッシュしたOktaグループを選択して"Continue"をクリックします。
次の画面では申請する際の質問事項やユーザー側が実施するタスク、承認フロー、アクションを設定していきます。
今回は以下のようなフローを組みたいと思います。
まず"Questions"をクリックし、"Text"箇所に質問事項を入力します。"Assigned to"はデフォルトの"Requester"のままにします。
次に承認先を設定します。
"Approval"をクリックし、"Text"には任意のタイトルを入力します。"Assigned to"には"Requester's manager"を選択します。こちらを選択することで、申請者のプロファイルのマネージャーIDに設定されているアカウントに対して承認依頼が送信されます。
次にIT管理者への承認ステップを追加するため、再度"Approval"をクリックし、"Assigned to"を"A member of..."を選択し、作成したチームを選択します。
マネージャー承認後に承認フローが進むようにするため、"Logic"タブをクリックし、"Only show this task if"を選択してマネージャー承認のステップを選択します。
最後に"Action"をクリックし、"Assign individual app to user"を選択します。
"Run automatically?"のトグルを有効化します。この項目を有効化することで、自動的にアプリへのアサインを行うことができます。"Email address"は"Requester's email address"を選択します。"Select the application"には申請するアプリを選択します。
"Logic"を選択し、マネージャー承認、IT管理者承認後にアクションが実行されるように設定します。
設定が完了したため、"Publish"をクリックします。
なお、設定できる項目については以下ページで詳細を確認いただけます。
試してみる
では早速試してみます。
Oktaアカウント"requester"でダッシュボードにログインします。Okta Access Requestsアプリをクリックします。
先ほど作成したRequest Typeがあるため、"Request access"をクリックします。
必須項目であるQuestionsに回答して、"Submit new request"でリクエストを送信します。
リクエストが作成されるとこのようなチャット画面が表示され、承認フローの進行状況が確認できます。
次にマネージャーアカウントに変更して、承認画面を確認してみます。
同じようにOkta Access Requestsアプリに移動すると、RequestsのInbox配下に申請が一件届いているのが確認できます。
ApprovedまたはDenyを選択できるため、Approvedをクリックし、IT管理者へ申請をまわします。
最後に、IT管理者アカウントでOkta Access Requestsアプリにログインし、申請を承認します。申請を承認すると、自動でアプリケーションへのユーザーアサインタスクが実行され、成功したことが確認できます。
実際にアプリケーション側のユーザー割り当てを確認すると、"requester"ユーザーがアサインされているのが確認できました。
まとめ
今回はRequest Typeについてまとめてみました。Request Typeを用いることで、簡単にアプリケーション利用の承認フローを実現できました。
他のOIG機能についても今後取り上げていきますので、気になる方は他ブログもぜひご覧ください。