この記事について
Instanaは従来、「グループ」という単位でユーザーのアクセス制御を行なっていましたが、より柔軟な形でユーザーに権限を与えるために Build 1.0.301 で「チーム」と「ロール」という考え方を取り入れました。
それにあたり、GlobalのTechXchangeコミュニティへ1本のBlog(Instana Access Control - Understanding Teams & Roles)が投稿され、従来のアクセス制御からどの様な変化があるか説明がされています。
本記事は上記Blogを翻訳したものです。
以前、私が投稿したRBACに関する既存記事がいくつか存在しますが、まだ「グループ制御」時代のものですので、順次更新を予定しています。
はじめに
私たちはアクセス制御システムを進化させ、ユーザー権限とアクセススコープを管理するためのより柔軟で強力なアプローチを導入しました。
新しいチーム&ロールモデルは、以前のグループ機能に代わるもので、組織に対して誰がどのリソースにアクセスでき、どのアクションを実行できるかをより適切に制御する機能を提供します。
この包括的なガイドでは、チームとロールがどのように連携して詳細なアクセス制御を提供するか、そしてこの新しいシステムを効果的に実装する方法について説明します。
進化:グループからチーム&ロールへ
何が変わったのか?
以前のグループモデルは、2つの異なる概念に分割されました:
- ロール:ユーザーが実行できるアクション(権限)を定義
- チーム:ユーザーがアクセスできるリソース(スコープ)を定義
主な違い
変更前(グループ)
以前のモデルでは、単一のグループエンティティに権限とアクセススコープの両方が一緒に含まれていました。
ユーザーは単純にグループに割り当てられ、権限とアクセス制御の管理における柔軟性が限られていました。
このモノリシックなアプローチでは、権限またはスコープのいずれかを変更する場合、グループ構成全体を変更する必要がありました。
変更後(チーム&ロール)
新しいモデルは、これらの関心事をエレガントに分離します。
ロールはアクセス特権を定義し、ユーザーがシステム内で実行できるアクションを決定します。
チームはアクセススコープを定義し、ユーザーがアクセスできるリソースを指定します。
ユーザーは割り当てられたロールを持つチームメンバーとなり、権限とアクセスの柔軟なマトリックスを作成します。
この分離により、アクセス制御においてより大きな柔軟性と粒度が提供され、組織は異なるチーム間でロールを組み合わせたり、他方に影響を与えることなく権限またはスコープを独立して調整したりできます。
既存のすべてのグループは引き続きロールとして機能し、下位互換性が確保されます。
フルアクセスを持つグループは、新しい権限モデルを持つロールに自動的に変換され、元のすべての機能が維持されます。
制限付きグループは、制限付きスコープを持つロールに変換され、編集可能なままですが、より良い管理と柔軟性のために、これらの制限付きスコープを新しいチームに移行することを強くお勧めします。
さらに、以前のグループマッピング機能はロールマッピングに置き換えられ、ユーザーアクセスをより詳細に制御するためにチームマッピングを追加するオプションがあります。
コアコンセプト
チーム
チームは、アクセススコープに基づいてユーザーをグループ化するコア組織機能です。
チームは、組織内の責任や部門に基づいてユーザーをグループ化するための主要な組織単位として機能します。
チームメンバーがアクセスできるリソースと機能を定義し、ロールはチームのスコープ内でそれらのチームメンバーが実行できるアクションを決定します。
この構造は、権限管理の柔軟性を維持しながら、特定のリソースへのアクセスを制限する強力な方法を提供します。
重要なコンポーネント
コアコンポーネントを理解することが不可欠です。
チームは、共有アクセススコープと制限を持つユーザーのグループを表し、特定のリソースの周りに境界を作成します。
チームメンバーは、チームに属し、そのチーム内で特定のロールが割り当てられたユーザーであり、その能力を決定します。
チームスコープは、チームメンバーがアクセスできるリソースと機能を正確に定義し、可視性とアクセス権の詳細な制御を提供します。
ロール
ロールは、ユーザーが実行できるアクションを決定する一連の権限を定義します。
ロールは、Instanaにおける権限管理の基盤です。
アクセス特権を定義し、ユーザーがシステム内で実行できるアクションを正確に指定します。
主な利点は、ロールを複数のチームにわたってユーザーに割り当てることができ、一貫性と再利用性を促進することです。
ロールは、自動割り当てのためにアイデンティティプロバイダー(IdP)グループにマッピングでき、ユーザーのオンボーディングを合理化し、管理オーバーヘッドを削減します。
連携の仕組み
ロールとチームは連携して包括的なアクセス制御を提供します。
ロールは権限を指定することでユーザーが実行できるアクションを定義し、チームはスコープを設定することでユーザーがアクセスできるリソースを定義します。
ユーザーの有効な権限は、ロールとチームメンバーシップの両方の組み合わせによって決定され、強力なアクセス制御マトリックスを作成します。
システムの柔軟性は、複数のチームにわたって同じロールを再利用できる能力と、チームが異なるメンバーに複数のロールを割り当てることができる点で輝きを放ち、実世界の組織構造に合致する微妙なアクセスパターンを可能にします。
チームスコープの理解
チームスコープは、Instana内の特定のリソースへのアクセスを制限できる強力な機能です。
チームは異なるスコープ構成を持つことができます:
- デフォルトスコープ:すべてのリソースへのアクセス(ユニット全体)
- 制限付きスコープ:特定のリソースへのアクセス制限
さまざまなエンティティタイプに基づいてチームスコープを定義できます:
- アプリケーション:特定のアプリケーションパースペクティブ
- ウェブサイト:EUMウェブサイト
- モバイルアプリ:モバイルアプリケーション監視
- サービス&エンドポイント:個別のサービスとそのエンドポイント
- インフラストラクチャ:ホスト、コンテナ、その他のインフラストラクチャコンポーネント
- Kubernetes:クラスターと名前空間
- カスタムダッシュボード:特定のダッシュボード
- アラートチャネル:通知チャネル
- Syntheticテスト:Synthetic監視テスト
- Synthetic認証情報:Syntheticテスト用の認証情報
- AIゲートウェイ:AIゲートウェイ構成
チームフォーカス
ユーザーは、チームフォーカスオプションを使用して異なるチームスコープ間を切り替えることができ、Instana内でコンテキストを動的に変更する方法を提供します。
この機能により、ユーザーは必要に応じて異なるチームスコープ間を切り替え、より広い可視性が必要な場合にユニット全体のデフォルトスコープにアクセスし、選択したチームのスコープに基づいてリソースを表示できます。
このコンテキスト切り替え機能により、ユーザーは適切なアクセス境界を維持しながら、複数のチームにわたって効率的に作業できます。
チームの作成
Instanaで新しいチームを作成するには:
- 設定 → セキュリティ&アクセス → アクセス制御 → チーム に移動
- 新規チーム をクリック
- チームが作成されたら、チームを構成:
- 名前:わかりやすいチーム名を入力
- メンバー:ユーザーを追加し、各メンバーにロールを割り当て
- スコープ:チームがアクセスできるリソースを定義
チームメンバーの管理
チームメンバーの管理は、チーム内の個別アクセスを制御する柔軟性を提供します。
各チームメンバーに対して、責任に応じて1つまたは複数のロールを割り当てることができ、微妙な権限セットを可能にします。
役割が変わったり組織を離れたりした場合、メンバーをチームから削除でき、変化する責任や組織構造を反映するために必要に応じてロール割り当てを更新できます。
チームアソシエーション
チームアソシエーションを使用すると、組織内の特定のチームにエンティティをリンクできます。
制限付き権限を持つチームが、管理者のサポートを必要とせずに独自のエンティティを独立して作成および管理できるようにします。
チームメンバーがエンティティを作成すると、チーム名でタグ付けでき、自動的にそのチームにスコープされます。これにより以下が提供されます:
- より迅速なセットアップと適切なアクセス制御 — チームは、他のチームのリソースから隔離を維持しながら、サービスの監視を迅速に構成できます。
- より良い可視性とコラボレーション — 各エンティティは所有チームを明確に示し、Instana内でのチーム間の調整を容易にします。
リンクされたすべてのチームエンティティは、チーム詳細ページ内のチームアソシエーションセクションで利用できます:
ロールの理解
ロールには、ユーザーが実行できるアクションを定義する一連の権限が含まれています。
一般的な権限には以下が含まれます:
アプリケーション管理:
- `CAN_CONFIGURE_APPLICATIONS` → 「アプリケーションパースペクティブの作成、構成、削除」
- `CAN_CONFIGURE_APPLICATION_SMART_ALERTS` → 「アプリケーションのスマートアラートの構成」
- `CAN_CONFIGURE_GLOBAL_APPLICATION_SMART_ALERTS` → 「アプリケーションのグローバルスマートアラートの構成」
インフラストラクチャ&監視:
- `CAN_VIEW_TRACE_DETAILS` → 「トレース詳細ビューでの呼び出し詳細の表示」
- `CAN_VIEW_LOGS` → 「ログへのアクセス」
- `CAN_DELETE_LOGS` → 「ログの削除」
- `CAN_CREATE_THREAD_DUMP` → 「スレッドダンプの作成」
- `CAN_CREATE_HEAP_DUMP` → 「ヒープダンプの作成」
構成&管理:
- `CAN_CONFIGURE_USERS` → 「ユーザー管理」
- `CAN_CONFIGURE_TEAMS` → 「チーム管理」
- `CAN_CONFIGURE_INTEGRATIONS` → 「アラートチャネルの構成」
- `CAN_CONFIGURE_SERVICE_MAPPING` → 「サービスルールとエンドポイントマッピングのカスタマイズ」
- `CAN_CONFIGURE_LOG_MANAGEMENT` → 「ログ分析ツール統合の構成」
アラート&イベント:
- `CAN_CONFIGURE_EVENTS_AND_ALERTS` → 「イベントとアラートの構成」
- `CAN_CONFIGURE_MAINTENANCE_WINDOWS` → 「メンテナンスウィンドウの構成」
- `CAN_CONFIGURE_GLOBAL_ALERT_PAYLOAD` → 「アラートのグローバルカスタムペイロードの構成」
- `CAN_MANUALLY_CLOSE_ISSUE` → 「イベント(問題)の手動クローズ」
ロールの作成と管理
Instanaで新しいロールを作成するには:
- 設定 → セキュリティ&アクセス → アクセス制御 → ロール に移動
- 新規ロール をクリック
- 構成:
- 名前:わかりやすいロール名
- 権限:適切な権限を選択
- ロールが作成されたら、オプションでユーザーを直接ロールに追加
アイデンティティプロバイダー(IdP)マッピング
ロールマッピング
IdPマッピングにより、アイデンティティプロバイダーからのユーザーグループに基づいて自動的にロールを割り当てることができ、大規模なアクセス管理を合理化します。
IdPグループをInstanaロールにマッピングし、組織のアイデンティティ管理とInstanaのアクセス制御の間に直接的な接続を作成できます。
ユーザーは、IdPグループメンバーシップに基づいて自動的にロールを受け取り、手動割り当てのオーバーヘッドを排除します。
ロールマッピングは、チームマッピングも含めるための追加オプションを提供し、自動化の利点をチームメンバーシップにも拡張します。
この機能は、IdPグループメンバーシップに基づいてユーザーを自動的にチームに追加し、ログイン時に適切なリソースへのアクセスを即座に持ち、フルアクセスから制限されることを保証します。
マッピング構成の一部として、チーム内の特定のロールを割り当てることができ、スコープと権限の両方を組み合わせた完全なアクセスプロファイルを作成します。
これにより、オンボーディングとアクセス管理が合理化され、新しいチームメンバーは管理者からの手動介入なしに即座に生産的になることができます。
結論
IBM Instanaの新しいチーム&ロールモデルは、アクセス制御に対するより柔軟で強力なアプローチを提供します。
権限(ロール)とリソースアクセス(チーム)を分離することで、組織は以下を実現できます:
- より詳細なアクセス制御の実装
- 組織構造とのより良いアクセスの整合
- IdP統合によるユーザー管理の簡素化
- 最小権限の原則によるセキュリティの維持
グループからの移行には多少の調整が必要ですが、新しいモデルの利点はそれに値します。
適切な計画と実装により、チーム&ロールはInstana環境におけるユーザーアクセスのより良い制御と可視性を提供します。






