セキュリティー

IBM® UrbanCode Deploy は、組織構造にマッピングされる柔軟なチーム・ベースおよび役割ベースのセキュリティー・モデルを提供します。

高位レベルから順番に見ていくと、セキュリティー・システムは、認証レルム、許可レルム、役割、およびチームで構成されています。認証レルムは、IBM UrbanCode Deploy へのログオンを試行しているユーザーまたはシステムの ID を検証します。 許可レルムは、ユーザー・グループを管理します。役割は、アクセス権を管理します。 チームは、ユーザーを役割およびセキュリティーで保護された製品領域と結合します。

アクセス権とセキュリティー・タイプの概要

チーム・ベースのセキュリティー・システムについて説明する際に、その出発点となるのは、アクセス権を理解していただくことです。IBM UrbanCode Deploy では、アクセス権 という用語を多くの読者が慣れ親しんだ方法で使用します。つまり、各アクセス権は、製品領域またはプロダクト機能へのアクセスを制御する、といった具合です。 大半のアクセス権は、作成、読み取り、更新、削除などの標準的なアクティビティーに関連します。アクセス権は、誰が行えるかではなく、何を行えるかを定義します。

ほとんどの製品領域に、ユーザーが処理する方法に影響を及ぼすアクセス権のセットがあります。製品領域のアクセス権は、セキュリティー・タイプ によって定義されます。コンポーネントの製品領域には、コンポーネントを処理するユーザーの権限に影響を及ぼすセキュリティー・タイプがあります。 エージェントの製品領域で使用できるセキュリティー・タイプは、エージェントに影響を及ぼします。他の製品領域についても同様です。

ほとんどの製品領域で、その領域用のセキュリティー・タイプをさらに定義できます。適格な各セキュリティー・タイプが、定義されている「標準」タイプ、例えば「標準エージェント」や「標準コンポーネント」などと共に提供されます。 1 つの領域に含まれるそれぞれの追加タイプは、同じ組み合わせのアクセス権を共有します。 例えば、各エージェント・タイプは、同じ組み合わせのアクセス権、つまり、編集と表示を保持します。詳しくは、セキュリティー・タイプ を参照してください。

役割

役割 は、認可されたアクセス権のセットです。役割を定義することは、その役割の影響を受けるすべてのセキュリティー・タイプに対してアクセス権を認可することで成立します。開発者タイプの役割の場合なら、アプリケーションを作成するためのアクセス権は認可されるが、実稼働環境で実行するためのアクセス権は認可されないでしょう。あるいは、デプロイヤー・タイプの役割の場合なら、アプリケーションを実行することはできるが、作成することはできないでしょう。管理者は、役割の数とそれらの機能を決定します。配信時点で IBM UrbanCode Deploy が提供するただ 1 つの役割は管理者の役割であり、この役割にはすべてのセキュリティー・タイプに対するアクセス権が付与されています。

重要: 役割自体が、付与されたそのアクセス権を実際のユーザーに与えることはありません。アクセス権と同様に、役割は、誰が行えるかではなく、何を行えるかを定義します。役割とそれらに関連するアクセス権は、チームによりユーザーに適用されます。

チーム

チーム は、ユーザーまたはグループを役割と関連付ける構成体です。ユーザーがチームに追加されると、その人は役割に割り当てられます。ユーザーが役割に割り当てられずにチームに追加されることはありえません。役割メンバーには、その役割に定義されているすべてのアクセス権が自動的に認可されます。グループを役割に追加することもできます。その場合、すべてのグループ・メンバーには、その役割に定義されているアクセス権が自動的に認可されます。

チームを作成するときには、すべてのユーザーとグループを割り当てることができ、さらにすべての役割を使用することができます。ユーザーは複数の役割に割り当てることができます。特定のアクセス権を認可する役割と、そのアクセス権を認可しない別の役割にユーザーが同時に割り当てられている場合、ユーザーはそのアクセス権を割り当てられていると判断されます。

チームは、リソースを保護する機能を持ちます。 例えば、ある環境を保護するために、チームをその環境に割り当てます。その環境が保護されたら、適切なアクセス権を持つ役割を割り当てられたチーム・メンバーのみが、その環境に影響を及ぼすことができます。

IBM UrbanCode Deploy に付属しているシステム・チームには管理者ユーザーが含まれ、このユーザーは管理者の役割に割り当てられています。管理者の役割には、すべての標準セキュリティー・タイプについて、およびサーバーと Web UI の設定について付与されるすべてのアクセス権があります。 システム・チームを削除することはできません。

リソース・セキュリティー

アクセス権には 2 つのタイプがあります。特定のスコープを持つタイプとより一般的なスコープを持つタイプです。環境セキュリティー・タイプには、作成、編集、実行、および表示という 4 つのアクセス権があります。作成のアクセス権を除くと、これらのアクセス権は特定のリソースのみに影響を及ぼします。それらのスコープは特定の環境に制限されています。例えば、実行アクセス権を持つチームが実稼働環境に結び付けられている場合なら、そのアクセス権を持つチーム・メンバーのみがその環境でアプリケーションを実行できます。 実行アクセス権を認可しない他の役割を割り当てられたチーム・メンバーは、その環境でアプリケーションを実行できません。その環境に結び付けられていないチームのメンバーも、実行アクセス権を持っているかどうかにかかわらず、アプリケーションを実行できません。

作成アクセス権は、その他のアクセス権タイプと異なっています。作成タイプはスコープが特定のリソースに制限されず、より広いスコープを割り当てられます。作成タイプのアクセス権を持つチーム・メンバーは、最初に特定のリソースにチーム・メンバーが結び付けられていなくても、関連するタイプのリソースを作成できます。再び環境の例で説明すると、環境の作成アクセス権を持つユーザーは、たとえそのチームが特定の環境に結び付けられていなくても、環境を作成できます。

次の図では、productionTeam チームが tutorialProdEnvironment 環境に結び付けられています。 productionRole 役割は、環境に対する実行アクセス権を持っています。その役割を割り当てられたチーム・メンバー、例えば prodDeployer は、その環境でアプリケーションを実行できます。その役割を割り当てられていないチーム・メンバー、例えば developerLead は、チームが環境に結び付けられているにもかかわらず、アプリケーションを実行できません。

図 1. チームのセキュリティー・アクセス権
注:
ユーザー developerLead は、環境を作成および変更できます。さらに、developerDB ユーザーは、developmentTeam チームがこの環境にも、あるいはその他のいずれの環境にも結び付けられていない場合でも、環境を作成できます。

チームがオブジェクトに割り当てられると、セキュリティー・タイプも決定されます。セキュリティー・タイプを変えることで、チームのアクセス権を微調整できます。 例えば、あるチームが、あるコンポーネントに対する 1 つのアクセス権セットを持つ場合に、セキュリティー・タイプを変更することで、別のコンポーネントに対して、もう 1 つのアクセス権セットを持つことができます。


フィードバック