Realmsの活用:複雑なワークフォース管理を効率化

このブログはこちらの英語ブログ(2024年9月25日公開)の参考和訳です。

Realmsは、OktaのUniversal Directoryでユーザー管理の新しいアプローチを提供する新機能です。Realmsを活用することで、ビジネスがどのような形で成長するかに関係なく、柔軟なユーザー管理を実現して維持できます。既存のリソースや能力を生かした有機的な成長でも、M&Aや部署の新設による成長でも、多様なタイプのユーザーに対応した管理が必要になります。ビジネスが拡大する過程では、こうしたユーザーをシームレスに管理し、管理を委任できることが非常に重要です。

中央のIT管理者はRealmsを使用することで、単一のOkta org内でアイデンティティを集約し、グループや複数のorgへの依存を減らすことにより、権限を委任してユーザー管理を容易にし、組織の複雑さを改善できます。ここでは、Realmsを使用して複数の部署の管理を効率化する方法、そして独自のユースケースに応用する方法を説明します。(Realmsの基本情報については、Dipt Kanthilalのブログ記事をご覧ください。

はじめに:Realmsの有効化

現在、Okta Identity Governanceでのセルフサービスにより、早期アクセスでRealms機能を利用できます。利用を開始するには、以下の手順に従ってください。

  1. 管理コンソールの左のナビゲーションで[Settings]を選択します。
  2. [Features]を選択します。
  3. Realmsを有効にします。

Realmsが有効になったら、以下の手順でユースケース例の構成を開始します。

  1. 領域を作成します。
  2. 領域割り当てを設定します。
  3. 管理権限を領域管理者に委任します。
  4. 特定の領域でAccess Certificationキャンペーンを作成します。
  5. 領域認証ポリシーを設定します。
  6. Okta Workflowsを使用して領域の管理を自動化します。

シナリオ:WindRides Aviation

背景:Realmsを実際に使用してみましょう。WindRidesは架空の航空会社で、商業航空業務から拡大し、プライベートジェットのリースや客室乗務員の調達といったビジネス部門を新設しました。2つの新しい主要ビジネスを導入したことで、ユーザーやアクセスの管理、日常的なITニーズへの対応が増え、ITチームの大きな負担となっています。その一方で、地域やビジネスが異なっている場合でも、類似する職務ではアプリケーションのニーズが共通しています。そこで、効率化のために新しいRealms機能を活用することにしました。

現在の環境:WindRidesは現在、グループを使用してアプリケーションアクセスをモデル化し、管理しています。しかし、グループ間でユーザー層が重複しているため、管理者は異なる地域のユーザーの管理に苦労しています。以下のシナリオは、地域ごとにさまざまなエンジニアリンググループを管理する現在の構造を示しています。

Current deployment  %281%29

最終的な目標:WindRidesはRealmsを使用し、地域をまたいでエンジニアリングの機能グループを1つ作成し、共有のアプリケーションアクセスを提供しつつ、異なるユーザー層をセグメント化したいと考えています。

Copy of Current deployment %282%29 0

このモデルを採用することで、中央のIT管理者はユーザーおよびグループ管理の負担を軽減し、各地域の管理者にユーザー管理を簡単に委任できます。特定のアプリアクセスに対応するためにグループを追加することは可能ですが、このモデルにより、同じアプリアクセスが定義された地域グループの乱立を防止できます。

領域の作成

Realms機能がorgで有効になると、管理コンソールの左側ナビゲーションで、[Directory]の下に[Realms]という新しいセクションが表示されます。

まず、[Realms]セクションに移動して、領域を作成します。同社のシナリオに基づき、Engineering AMER、Engineering EMEA、Engineering APACという3つの領域を作成します。

Creatr Realm

3つの領域に加え、包括的な役割を果たすDefault Realmが存在します。既存のユーザーは最初にDefault Realmに配置されますが、後から簡単に他の領域に移動できます。APIやOkta Workflowsを使用して領域を作成することも可能です。

領域割り当て

前述のとおり、ユーザーは必ずいずれかの領域に所属する必要があります。既存のユーザーは最初にDefault Realmに配置されますが、個別に他の領域に移動できます。新しい[Realm assignments]を利用することで、正しい領域へのユーザーのオンボーディングを自動的に実行できます。また、領域割り当てを活用して、複数のユーザーを一括で別の領域に移動することも可能です。

個々のユーザーの移動

個人のユーザープロファイルで、鉛筆アイコンをクリックすると、そのユーザーを別の領域に移動できます。以下に示す例で、Alex Taylorは現在Default Realmに配置されていますが、所属をEngineering EMEA領域に変更する必要があります。そこで、鉛筆アイコンを使用して目的の領域に移動します。

Manual edit

複数のユーザーを一括で移動する場合は、[Realm assignments]を使用すると効率的です。

領域割り当ての利用方法

[Realms]セクションには、[Realm assignments]というタブがあります。バックアップとして、デフォルトの[Catch-all realm assignment]が用意されていますが、WindRidesの例では3つのカスタム領域に関連付けて具体的にRealmsを割り当てる必要があります。

Create realm assignment

領域割り当てを作成する際には、以下の情報を利用することで、ユーザーを正しい領域に作成またはオンボーディングできます。

領域割り当て名

簡単に参照できるように、領域割り当てに関連付けられた名前です。

プロファイルソース

組織内のユーザープロファイルの信頼できる情報源であり、Okta、ディレクトリ、人事ソースなどの正式に承認されたプロファイルソースを指します。

優先度

変更なし:[Priority]の値を最下位に設定

最優先に指定:[Priority]の値を最上位に設定

これにより、複数の領域割り当て間の競合が解決されます。

スコープ

複数の領域に同じプロファイルソースを関連付ける必要がある場合、ユーザープロファイル属性を使用して領域割り当てに追加のパラメーターを設定できます。

領域への割り当て

割り当て先の領域

WindRidesがオンボーディングを自動化してユーザーを容易に移動できるように、スコープの一部としてプロファイルソースとExpression Languageを活用して、3つの領域割り当てを作成します。

Expression Languageを使用して、2つの属性(Organization = Regions、Department = Engineering)を組み合わせ、領域割り当てのスコープを決定できます。

Realms rule

グループルールと同様に、作成した領域割り当ては有効にする必要があります。有効にするには、[Actions]メニューに移動し、[Activate]を選択します。

realms assignments

 

領域割り当ては、有効にした後に作成された新しいユーザーに対して自動的に実行されます。既存のユーザーに対して領域割り当てを実行するには、[Run]または[Run all realm assignments]を選択します。ジョブのステータスは、[Monitor user movement]タブで確認できます。

領域割り当てを実行すると、org内のすべてのユーザーが正しい領域に所属するようになります。

Screenshot 2024 09 24 at 5.01.16%E2%80%AFPM

管理者の委任

領域を使うことで得られる主な利点の一つは、ユーザー管理を委任できる点です。次のステップとして、WindRidesチームは管理者ロールを設定します。

ステップ1:ロールを作成する

[Administrators]ビューでの最初のステップは、委任先の管理者のロールを作成することです。最低限、委任される領域管理者には、ユーザーと領域に関連する許可へのアクセス権が必要です。さらに、必要に応じて、グループやアプリケーションに関連する権限を割り当てます。以下は、割り当て可能な許可の例です。

許可名

許可セット

User

ユーザーを管理する

すべてのユーザー許可を含む

Realms

領域とその詳細を表示する

Application

アプリケーションのユーザー割り当てを編集する

WindRidesは、すべての領域管理者に同じ権限を委任するため、ロールを1つだけ作成する必要があります。

[Security]>[Administrators]>[Roles]で新しいロールを作成します。

ステップ2:リソースセットを作成する

リソースセットには、管理が委任されるリソースを定義します。管理する必要がある3つの領域に合わせて、リソースセットを3つ作成する必要があります。

WindRidesのシナリオでは、Engineering AMER、Engineering EMEA、Engineering APACそれぞれに個別のリソースセットを作成します。これらのリソースセットには、ユーザー、領域、アプリケーションが含まれます。

[Security]>[Administrators]>[Resources]で新しいリソースを作成します。

Screenshot 2024 09 24 at 5.03.40%E2%80%AFPM

ユーザーについては、[Users in realm]を選択し、含める領域を選択します。これによりユーザーセットが定義され、[People]ページに表示されます。

[Realms]リソースセットを追加することで、委任された管理者が表示して管理できる領域が設定されます。リソースセットの一部としてアプリケーションを追加すると、委任された管理者が管理できるアプリケーションが指定されます。[Users in realm]での選択内容に従って、委任された管理者は、管理対象の領域に所属するユーザーに対してのみ、表示やアプリケーションへの割り当て/割り当て解除を実行できることに留意してください。

Screenshot 2024 09 24 at 5.04.43%E2%80%AFPM

WindRidesは3つの領域を使用します。したがって、各管理者が管理できるユーザー集団を定義するために、3つのリソースセットを作成する必要があります。

Screenshot 2024 09 24 at 5.05.50%E2%80%AFPM

ステップ3:管理者を割り当てる

ロールとリソースセットが定義されたので、最後の手順では、委任される管理者にロールとリソースセットの両方を関連付けます。最初にユーザーを選択し、次にロールとリソースセットを選択して、委任プロセスを完了します。

Screenshot 2024 09 24 at 5.07.39%E2%80%AFPM

委任された管理者のユーザーエクスペリエンス

この動画では、管理者はEngineering EMEA領域のユーザーのみを管理できます。割り当てられた許可に基づいて、ユーザーの作成、ライフサイクルの管理、領域内のユーザーへのアプリケーションの割り当て/割り当て解除を実行できます。

Okta Identity GovernanceのAccess Certificationキャンペーン

領域割り当てを利用することで、WindRidesは適切な領域にユーザーを自動的に作成できます。さらに、カスタム管理者ロールのフレームワークを使って、これらのユーザーの管理を委任できます。ユーザー管理のもう1つの重要な側面はガバナンスであり、ユーザーがどのリソースにアクセスできるかを確認し、そのアクセスを継続すべきかを評価します。Okta Identity Governanceを利用することで、認定キャンペーンを作成して領域管理者に割り当てることができます。この方法により、委任された管理者は、担当する領域内のユーザーに対するレビューを割り当てられ、継続的なガバナンスを維持できます。

Expression Languageを使用することで、WindRidesはキャンペーンに含まれるユーザーやレビュアーのスコープを指定できます。この例では、Expression Languageを利用して、キャンペーン対象ユーザーのスコープをEngineeringRealmsに指定します。式で参照されるRealmIDは、APIまたはRealmsのURLから取得できます。以下は、Engineering EMEAのRealmIDの例です。

Realmsid

Access CertificationキャンペーンでのExpression Languageのリファレンス

スコープ

詳細

ユーザー

user.realmId == "realmid"

1つの領域のスコープ。

複数のRealmsは、ORを使用してスコープの一部として定義できます。

例:

user.realmId == "realmId1" Or user.realmId == "realmId2" ...

レビュアー

user.realmId == "Realmid" ? "[email protected]": "[email protected]"

この式を使用すると、スコープ内のユーザーのRealmIDがTrueかどうかが条件でチェックされます。Falseの場合、レビューはフォールバックレビュアーにルーティングされます。

ステップ1:キャンペーンを作成する

WindRidesは、リソースとユーザーの両方のキャンペーンを実行できますが、Engineering EMEA領域内のGoogleアプリケーションに対するアプリケーションアクセスを評価するためのリソースキャンペーンの作成に関心があります。

Access certifications

ステップ2:ユーザースコープ

ユーザースコープには、すべてのユーザーまたは特定のユーザーのサブセットを含めることができます。Expression Languageを活用してユーザースコープを定義します。

Campaign details

ステップ3:レビュアーを選択する

レビュアーを定義するために選択できるオプションは多数あります。このキャンペーンでは、WindRidesはレビューを領域管理者に割り当てたいので、[Custom]を選択します。Screenshot 2024 09 24 at 5.14.01%E2%80%AFPM

Expression Languageを使用すると、領域管理者をレビュアーとして定義できます。ユーザーが定義された領域に所属していない場合、レビューはフォールバックレビュー担当者にルーティングされます。領域管理者は、レビュー対象となる領域に所属している必要はありません。

reviewer details

Access Certificationキャンペーン

上の動画では、Expression Languageを使用したユーザーとレビュー担当者のスコープの構成など、リソースのAccess Certificationキャンペーンの構成方法を解説しています。

認証ポリシー

Access Certificationキャンペーンと同様に、認証ポリシーでもExpression Languageを使用してポリシールールを定義します。

Screenshot 2024 09 24 at 5.19.23%E2%80%AFPM

認証ポリシーの設定

この動画では、よりきめ細かなポリシーを設定するため、Expression Languageを活用して、特定の認証ポリシーのスコープを特定領域内のユーザーに指定する方法を解説しています。

Okta Realms接続

自動化はユーザー管理の重要な部分であり、Okta Workflowsはライフサイクル管理の自動化で重要な役割を果たします。Okta Workflowsが提供するRealmsカードは、領域の作成/削除、特定領域へのユーザーのオンボーディングなどのフローの構築に役立ちます。

Okta Workflowsで領域を活用するには、最初に以下の2つの重要な手順を実行する必要があります。

  • 認可
  • Realms Actionsカードの接続

Okta Workflows OAuth認可の付与

許可を付与するには、[Applications]でOkta Workflows OAuthアプリケーションに移動します。[OKTA API scopes]で、領域でOkta Workflowsを構築するために必要な以下の許可を付与します。

付与する認可

okta.realms.manage

okta.realms.read

okta.schemas.read

okta.users.manage

okta.users.read

Okta Realmsコネクター

Okta Workflowsコンソールから[Connections]に移動し、[Okta Realms]の新しい接続フィルターを追加します。

このビューで、付与された許可を検証することも可能です。

Screenshot 2024 09 24 at 5.26.12%E2%80%AFPM

接続を追加するには、Okta Workflows OAuthアプリケーションからクライアントIDとシークレットを取得し、ドメインURLと一緒に接続に追加します。

Screenshot 2024 09 24 at 5.34.40%E2%80%AFPM

認証が成功すると、Actionsカードの準備が整います。

Okta Workflowsカードの活用

この動画では、Okta Workflowsカードを設定する手順を順を追って解説しています。

おわりに

Realms機能の導入により、WindRidesは組織を再設計して、グループの数を減らし、複数の部署を1つのorgに統合し、オンボーディングから委任、ガバナンスまでユーザーを簡単に管理できるようになりました。

今後は、ビジネスの拡大に応じてRealmsを活用し、組織内のユーザーを管理する中央ITチームの負担を軽減できます。

その他のリソース

MacAdmins Slackの#oktaチャネルでは、学びや助け合いの場を提供しています。コミュニティにご参加ください。

以上の内容は、原文(英語)の参考和訳であり、原文と内容に差異がある場合は、原文が優先されます。