はじめに
こんにちは!たつみんです。
前回のOktaのIdentity Governance & Administration(以降:IGA)機能として登場したOkta Identity Governance(以降:OIG)のアクセス権の要求と承認(以降:Access Requests)について検証ブログ記事を執筆しましたが、今回は棚卸(以降:Access Certifications),レポーティング(以降:Governance Reports)についての記事です。
前回の記事については以下をご参照ください。
Access CertificationsとGovernance Reportsは関連性が高いためこの検証ブログ記事ではその両方を取り扱うこととします。
Access Certificationsの概要
Access CertificationsではOkta上のアプリケーションやグループというリソースに対して不必要な権限の付与が行われていないかを定期的にアクセスレビュー(棚卸)を実施することができます。
例えば部署異動によって不要になったはずのアプリケーションや特定の権限と紐づいたグループのメンバーになったままの場合に検出や権限の取り消しが行えます。
詳細は以下のOkta公式ドキュメントもご参照ください。
事前準備と注意
Access Certificationsの設定を行う前に、まずOktaに以下のユーザーやグループの確認と作成を行いました。
ユーザー
groupeowner_test@example.com
- グループのオーナーとして指定する人
- 今回のAccess Certification campaignでは1段階目にアクセスレビューを行う人
reviewer_test@example.com
- 今回のAccess Certification campaignでは2段階目にアクセスレビューを行う人
グループ
Okta Admin Group
- Super Admin権限を付与しているグループ
- グループのメンバーになることでSuper Admin権限が付与される
- グループオーナーとしてgroupeowner_test@example.comを指定
- グループオーナーがグループのメンバーでない場合はSuper Admin権限は付与されません
新しく追加された概念であるグループオーナーについては以下のドキュメントをご参照ください。
Access Certification Reviewer
- このグループはOktaによって自動的に作成され、レビュアーとして指定されてユーザーが自動的に追加されます。
このAccess Certification Reviewerは名前を変更したり、修正したり、削除はしないでください。誤ってグループを削除した場合は、Oktaサポートに連絡する必要があります。
Access Certification campaignの作成
- Okta管理画面>Identity Governance>Access CertificationsからCreate campaignをクリックします。
- Generalで以下のようにAccess Certification campaignの名称や説明、スタート日時や期日を入力し、Nextをクリックします。
このAccess Certification campaignを繰り返す場合はMake this recurringにチェックを入れ間隔を設定することもできます。 - Resourcesで以下のようにAccess Certification campaign対象を指定し、Nextをクリックします。
今回の検証ではTypeでGroupsを指定し、グループとしてOkta Admin Group
を指定します。 - UsersでAll users assigned to the selected resourcesを選択し、Resourcesで選択したグループ内のすべてのユーザーを対象とします。
Access Certification campaign対象から除外したいユーザーがいる場合はExclude users from the campaignで指定し、Nextをクリックします。 - Reviewerで1段階目のレビュアーの種類としてGroup ownerをクリックします。
- Group ownerが存在しない場合のために、Fallback reviewerにユーザーを指定します。
さらに、今回はレビュアーを2段階にしたいため、Add levelをクリックします。
また、この画面ではPreview reviewerをクリックし、グループを指定することでグループオーナーを確認することができます。 - 2段階目のレビュアーの種類としてUserを指定し、
reviewer_test@example.com
を追加します。
Additional Settingsではどのような時に2段階目のアクセスレビューを実施するかを指定することができます。今回はデフォルト値のまま設定し、Nextをクリックします。 - Notificationsではリマインダーなどを設定し、Nextをクリックします。
- Remediationでは、すべてのレビューが完了した時にレビュー内容によってどのような作業を実施するかを指定し、Schedule Campaignをクリックします。
以下ではレビュー結果としてアクセス削除(Revoke)が選択された場合に対象のリソースからユーザーを削除します。 レビュアーがレビューを行わずにAccess Certification campaign期間が終了した場合は何もしません。 - 作成されたAccess Certification campaignは開始日まではScheduledに表示されます。
- クリックすると詳細が表示されます。
Access Certification campaignの開始から終了まで
1段階目
- Access Certification campaignが開始されるとレビュアーには以下のようなメール通知がされます。
- レビュアーのOktaダッシュボードにはOkta Access certificationが表示されているのでクリックします。
- 割り当てられているAccess Certification campaignをクリックします。
ここではアクセスレビュー対象が4名であることも確認できます。 - 以下のように対象メンバーが表示されており、それぞれApprove(承認),Revoke(取り消し),Reassign(レビュアーの再割り当て)が選択できます。
- 例えば以下のように、あるユーザーについてRevoke(取り消し)を選択した場合は理由を記載し、Submitをクリックします。
- Approve(承認)を選択した場合も同様に理由を記載し、Submitをクリックします。
- Reassign(レビュアーの再割り当て)を選択した場合は、再割り当て先と理由を記載し、Reassignをクリックします。
- レビュアーの作業がすべて完了すると以下のような表示となります。
再割り当てとして指定されたレビュアーの操作
- 再割り当て先として指定されたレビュアーには以下ようなメール通知がされます。
- メールリンクもしくはOtkaダッシュボードから遷移し、割り当てられているAccess Certification campaignをクリックします。
- 今回はApprove(承認)を選択し理由を記載し、Submitをクリックし進めました。
割り当てられている全てのユーザーについてレビューを実施することで、1段階目のアクセスレビューは全て完了しました。
2段階目
- Otkaダッシュボードから遷移し、割り当てられているAccess Certification campaignをクリックします。
1段階目で1名Revokeしているためアクセスレビュー対象は3名となっていることが確認できます。 - 以下のように対象メンバーが表示されており、それぞれApprove(承認),Revoke(取り消し),Reassign(レビュアーの再割り当て)が選択できます。
- ユーザーをクリックすると画面右側にはHistoryが表示され1段階目にどのようなアクセスレビューがされたかを確認することができます。
- 承認作業を実施します。
割り当てられている全てのユーザーについてレビューを実施することで、2段階目のアクセスレビューも全て完了し、Access Certification campaign全体が終了しました。
Access Certification campaign終了時の挙動について
Revokeされるタイミング
今回の場合は1段階目でRevokeが選択されたユーザーはその時点でOktaグループOkta Admin Group
から削除されます。
最終決定を2段階目で実施する設定とすることで、Revokeされる対mングを2段階目にすることもできます。その場合はAccess Certification campaignを作成する際のReviewerのAdditional SettingsでBoth approved and revoked decisionsを選択することで実現できます。
Okta Workflowsとの連携について
Okta WorkflowsではAccess Certification campaignが終了したタイミングをトリガーとするAccess Certification Decision Submittedというカードが用意されています。
これを活用することで例えば、Access Certification campaignのRemediationでRevokeされたユーザーに対してSlackやメールで通知を行うような処理を追加することができます。
Governance Reportsの概要
Governance Reportsでは主に完了したAccess Certificationsに基づいたレポートを利用することができます。また、Access Requestsについてのレポートも利用することができます。
これらのレポートはフィルタをかけたりCSV出力することも可能です。
詳細については以下のOkta公式ドキュメントもご参照ください。
Reports>Reportsにそれぞれリンクがあります。
Access Certificationsの概要レポート
Reportsの中のPast Campaign Summaryをクリックすると以下のような概要レポートが表示されます。
ここでは横にスクロールすることでAccess Certification campaignにおいて、approvedやrevokedとレビューされた数やレビュー結果に基づいてどのようなActionが取られたかの数を確認することができます。
あくまでも概要としてどのようなAccess Certification campaignが行われたかを確認するというニーズを満たしてくれます。
Access Certificationsの詳細レポート
Reportsの中のPast Campaign Detailsをクリックすると以下のような詳細レポートが表示されます。
こちらでも横にスクロールすることでアクセスレビュー対象毎にAccess Certification campaignによってどのレビュアーがどのような判断をし、どのようなActionが取られたかが記載されています。
Access Requestsのレポート
Reportsの中のPast Access Requestsをクリックします。
以下のように過去のAccess Requestについてのログが表示されます。Request IDをクリックします。
以下のように詳細画面が表示されます。
最後に
アクセスレビューの考え方は適切な権限管理を行うための基礎となります。自分自身も過去の情シスでの業務の経験では準備に時間がかかる、レビュアーへの依頼の手間がかかる、レビュー結果として権限剥奪の操作が大変だという印象があり、なかなか積極的になれませんでした。
OIGのAccess Certificationsではこれらの多くの部分が自動化もしくは省力化されており非常に有効であると感じました。
Access RequestsのようにSlackなどのチャットツールと連携できるとより便利だと思うので今後実装されることに期待したいです。
また、Governance Reportsでは実行結果をサッと確認でき、監査対応にも利用できそうです。
OIGとしての機能は今後も追加されるそうなのでポリシーやロールの管理や職務分掌(SoD:Separation of Duties)といった他のIGA分野もカバーされるようになることを待っています!
それではまた別の記事でお会いしましょう!