クラス

では、レコードに割り当てることのできるプロパティはレコードのクラスによって定義されます。1 つのクラス内のすべてのレコードに、同じプロパティが割り当てられます。ただし、これらのプロパティの値は異なります。
capamsc141
Privileged Access Manager
では、レコードに割り当てることのできるプロパティはレコードの
クラス
によって定義されます。1 つのクラス内のすべてのレコードに、同じプロパティが割り当てられます。ただし、これらのプロパティの値は異なります。
クラスの例は、以下のとおりです。
  • TERMINAL クラス - このクラスには、tty1、tty などの端末のレコードが含まれます。
  • FILE クラス - このクラスには、ファイルのレコードが含まれます。
  • PROGRAM クラス - このクラスには、プログラムのレコードが含まれます。
各レコードには、レコード クラスに適したプロパティの値が保存されます。たとえば、XUSER クラスのレコードには、エンタープライズ ユーザの場所や勤務時間などのプロパティが含まれています。HOSTNET クラスのレコードには、ネット サービスや IP アドレス データなどのプロパティが含まれています。
Privileged Access Manager
には、事前定義されたクラスが含まれています。また、ユーザ定義クラスと呼ばれる新規クラスを定義することもできます。
この記事には以下のセクションが含まれます。
クラスのデフォルト レコード
ほとんどのクラスには、デフォルト レコード(_default)を含めることができます。このレコードは、クラスのリソースのうち、データベースに対応するレコードが定義されていないリソースのアクセス タイプを指定します。
他のリソース レコードと同様に、_default レコードには、ACL および defaccess フィールドを含めることができます。_default レコードは、USER、GROUP、CATEGORY、SECLABEL、および SEOS を除くすべてのクラスに作成できます。
UACC クラス(廃止予定)
UACC クラスの使用はお勧めしません。クラス内のレコードに対するデフォルト値を指定するには、_default レコードを使用してください。
Privileged Access Manager
の一部の旧バージョンでは、他のクラスの _default レコードに似たレコードに対して、UACC という別のクラスを使用していました。UACC クラスの使用はお勧めしません。_default レコードを使用する場合、UACC クラスの対応するレコードはチェックされません。今後のバージョンでは、UACC クラスはサポートされなくなる可能性があります。
たとえば、ユーザ Henderson がプロセス store_log の強制終了(kill)を試みたとします。
Privileged Access Manager
は、次の順序で権限をチェックします。第一の質問は、「プロセス store_log がデータベースに定義されているか」というものです。
Privileged Access Manager
はデータベースで PROCESS クラスの store_log という名前のレコードを検索します。
  • 該当するレコードが見つからない場合、このプロセスは
    Privileged Access Manager
    に定義されていません。この場合、製品は、PROCESS クラスの _default レコード、または UACC クラスの PROCESS レコードのいずれかを使用して、Henderson が store_log を強制終了(kill)できるかどうかを判断します。
    • ユーザ Henderson が _default レコードの ACL に定義されている場合は、ACL に指定された権限が適用されます。
    • Henderson が _default レコードの ACL に
      定義されていない
      場合は、_default レコードの defaccess プロパティに指定された権限が適用されます。この権限は、_default の ACL に明示的に指定されていないすべてのユーザに適用されます。
  • プロセス store_log がデータベースに定義されている場合は、ユーザ Henderson がデータベースでプロセス store_log の ACL に定義されているかどうかが問題になります。
    • ユーザ Henderson がプロセス store_log の ACL に定義されている場合は、ACL に指定された権限が適用されます。
    • ユーザ Henderson が ACL に
      定義されていない
      場合、
      Privileged Access Manager
      は store_log リソースのデフォルト アクセス プロパティに指定された権限を適用します。この権限は、リソースのデフォルト アクセスといいます。
注:
_default のデフォルト アクセス(defaccess)が NONE に設定されている場合、または、_default が未指定で UACC クラスの対応するリソースのデフォルトが NONE である場合は、クラスに定義されていないリソースにアクセスを試みたアクセサは、リソースへのアクセスを拒否されます。
注:
_default(または UACC)のデフォルト アクセス権として最上位の権限(ALL、または場合によっては READ か EXECUTE)が設定されている場合、明示的に保護されていないリソースには、すべてのユーザがアクセスできます。
事前定義されたクラス
事前定義されたクラスは、以下のタイプに分類できます。
クラス タイプ
目的
Accessor
ユーザ、グループなど、リソースにアクセスするオブジェクトを定義します。
定義
セキュリティ ラベルやセキュリティ カテゴリなど、セキュリティ エンティティを定義するオブジェクトを定義します。
インストール
Privileged Access Manager
の動作を制御するオブジェクトを定義します。
Resource
アクセス ルールによって保護されるオブジェクトを定義します。
以下の表は、事前定義クラスの一覧です。
Class
クラス タイプ
説明
ADMIN
定義
ADMIN 属性を持たないユーザに管理責任を委任します。これらのユーザにグローバル権限属性を付与し、管理者権限の適用範囲を制限します。
AGENT
Resource
該当せず
AGENT_TYPE
Resource
該当せず
APPL
Resource
該当せず
AUTHHOST
Accessor
該当せず
CATEGORY
定義
セキュリティ カテゴリを定義します。
CONNECT
Resource
外部接続を保護します。このクラスのレコードは、どのユーザがどのインターネット ホストにアクセスできるかを定義します。
CONNECT クラスをアクティブにする前に、streams モジュールがアクティブであることを確認します。
CONTAINER
Resource
他のリソース クラスにあるオブジェクトのグループを定義します。これにより、複数の異なるオブジェクトのクラスに 1 つのルールを適用する際のアクセス ルールの定義が簡略化されます。
FILE
Resource
ファイル、ディレクトリ、またはファイル名マスクを保護します。
GAPPL
Resource
該当せず
GAUTHHOST
定義
該当せず
GFILE
Resource
このクラスの各レコードは、ファイルまたはディレクトリのグループを定義します。グループを定義するには、ユーザをグループに追加する場合と同じ方法で、ファイルまたはディレクトリ(FILE クラスのリソース)を GFILE リソースに明示的に追加します。
GHOST
Resource
このクラスの各レコードは、ホストのグループを定義します。グループを定義するには、ユーザをグループに追加する場合と同じ方法で、ホスト(HOST クラスのリソース)を GHOST リソースに明示的に追加します。
GROUP
Accessor
このクラスの各レコードは、内部グループを定義します。
GSUDO
Resource
このクラスの各レコードは、あるユーザが実行しても、別のユーザが実行しているかのように見せかけることができるコマンドのグループを定義します。sesudo コマンドはこのクラスを使用します。
GTERMINAL
Resource
このクラスの各レコードは、端末のグループを定義します。
HNODE
定義
HNODE クラスには、組織の
Privileged Access Manager
ホストに関する情報が含まれます。クラスの各レコードは、組織内のノードを表します。
HOLIDAY
定義
このクラスの各レコードは、ユーザのログインに特別な許可を必要とする期間を 1 つ以上定義します。
HOST
Resource
このクラスの各レコードは、ホストを定義します。ホストは、ホスト名または IP アドレスによって識別されます。オブジェクトには、ローカル ホストがこのホストからサービスを受信できるかどうかを決定するアクセス ルールが保存されます。
HOST クラスをアクティブにする前に、streams モジュールがアクティブであることを確認します。
HOSTNET
Resource
このクラスの各レコードは、IP アドレス マスクによって識別され、アクセス ルールを格納します。
HOSTNP
Resource
このクラスの各レコードは、ホストのグループを定義します。グループに属しているホストは、すべて同じ名前パターンになります。各 HOSTNP オブジェクトの名前にはワイルドカードが含まれています。
LOGINAPPL
定義
LOGINAPPL クラスの各レコードは、ログイン アプリケーションの定義、ログイン プログラムを使用してログインできるユーザの指定、およびログイン プログラムの使用方法の制御を行います。
MFTERMINAL
定義
MFTERMINAL クラスの各レコードは、メインフレーム
Privileged Access Manager
管理コンピュータを定義します。
POLICY
Resource
POLICY クラスの各レコードは、ポリシーのデプロイおよび削除に必要な情報を定義します。これらのレコードには、ポリシーをデプロイおよび削除するための selang コマンドのリストを含む RULESET オブジェクトへのリンクが含まれます。
PROCESS
Resource
このクラスの各レコードは、実行可能ファイルを定義します。
PROGRAM
Resource
このクラスの各レコードは、条件付きアクセス ルールに従って使用できる trusted プログラムを定義します。trusted プログラムとは、改ざんされないように Watchdog 機能で監視されている setuid または setgid プログラムのことです。
PWPOLICY
定義
PWPOLICY クラスの各レコードは、パスワード ポリシーを定義します。
RESOURCE_DESC
定義
該当せず
RESPONSE_TAB
定義
該当せず
RULESET
Resource
RULESET クラスの各レコードは、ポリシーを定義するルールのセットを表します。
SECFILE
定義
このクラスの各レコードは、変更されてはならないファイルを定義します。
SECLABEL
定義
このクラスの各レコードは、セキュリティ ラベルを定義します。
SEOS
インストール
このクラスのレコードはアクティブ クラスとパスワード ルールを指定します。
SPECIALPGM
インストール
SPECIALPGM クラスの各レコードは、Windows では、バックアップ機能、DCM 機能、PBF 機能、および PBN 機能を登録し、UNIX では、xdm 機能、バックアップ 機能、メール 機能、DCM 機能、PBF 機能、および PBN 機能を登録します。または、特別な権限保護を必要とするアプリケーションを論理ユーザ ID に関連付けます。これにより、誰が実行しているかではなく何が実行されているかに従って、アクセス許可を効率的に設定できます。
SUDO
Resource
sesudo コマンドで使用されるこのクラスは、あるユーザ(一般ユーザなど)が実行しても、別のユーザ(root ユーザなど)が実行しているかのように見せかけることができるコマンドを定義します。
SURROGATE
Resource
このクラスの各レコードには、アクセサを代理として使用できるユーザを定義する、アクセサのアクセス ルールが含まれます。
TCP
Resource
このクラスの各レコードは、メール、http、ftp などの TCP/IP サービスを定義します。
TERMINAL
Resource
このクラスの各レコードは、端末(ユーザがログインに使用できるデバイス)を定義します。
UACC
Resource
各リソース クラスのデフォルト アクセス ルールを定義します。
USER
Accessor
このクラスの各レコードは、内部ユーザを定義します。
USER_ATTR
定義
該当せず
USER_DIR
Resource
該当せず
XGROUP
Accessor
このクラスの各レコードは、
Privileged Access Manager
に対するエンタープライズ グループを定義します。
XUSER
Accessor
このクラスの各レコードは、
Privileged Access Manager
に対してエンタープライズ ユーザを定義します。
注:
Privileged Access Manager
データベース クラスの TCP および SURROGATE は、デフォルトでアクティブになっていません。
TCP クラスはアクティブだが、TCP レコードがなく、_default TCP リソースを変更していない旧リリースからアップグレードする場合、
Privileged Access Manager
は、アップグレード中に、そのクラスを非アクティブにします。SURROGATE クラスについても、同様です。
注:
以前のリリースで SURROGATE クラスをアクティブにして、SURROGATE レコードを定義、または SURROGATE レコードのいずれかの値をデフォルトから変更している場合、そのリリースからアップグレードすると、
Privileged Access Manager
は、アップグレード後も SURROGATE クラスの設定を保持します。クラスはアップグレード後もアクティブとなり、カーネル モードのインターセプトも引き続き有効化されます。
注:
Privileged Access Manager
クラスの詳細については、selang のリファレンスのセクションを参照してください。
ユーザ定義クラス
Privileged Access Manager
では、新しいクラスを定義し、そのクラスに適切なレコードを作成することによって抽象オブジェクトを保護できます。
例: データベース ビューのユーザ定義クラス
データベースを使用して独自のデータを格納および表示しているサイトがあるとします。
ユーザ定義クラス DATABASE_VIEWS を定義し、各データベース ビューをそのクラスのリソース メンバとして定義することができます。リソースに、そのデータベース ビューを作成する場合に必要なアクセス権限を定義する ACL を割り当てます。ユーザがデータベース ビューを作成しようとしたときには、
Privileged Access Manager
は、ユーザのアクセス権限をチェックし、ACL に基づいて作成を許可または拒否します。
ユーザ定義クラスのリソースでのワイルドカード
ユーザ定義クラスのリソースの名前にワイルドカードを使用することで、複数の物理リソースに対応するリソース レコードを作成できます。ワイルドカードのパターンと一致する名前を持つ物理リソースはすべて、リソース レコードに関連付けられたアクセス権限によって保護されます。
使用できるワイルドカードは、以下のとおりです。
  • * - 任意の複数文字に対応します。
  • ? - 任意の 1 文字に対応します。
物理リソースの名前が複数のリソース レコード名と一致する場合、そのリソースには、ワイルドカードを除く、最も長い一致が使用されます。
Privileged Access Manager
では、リソース名として以下のワイルドカード パターンは使用
できません
  • *
  • /*
  • /tmp/*
  • /etc/*
ユーザ定義クラス - 例
銀行のサービスを提供しているシステムで、口座間での高額の送金を保護する場合を考えます。このセキュリティを設定するには、以下の手順に従います。
  1. 送金を表すレコードを格納するためのクラス(たとえば、TRANSFERS)を定義します。
  2. 保護する必要がある金額レベルの送金ごとに、TRANSFERS クラスにレコードを定義します。
    たとえば、Upto.$1K、Upto.$1M、Upto.$10M、および Over.$10M という名前のレコードを定義します。
    送金を制御するその他のリソースを、TRANSFERS クラスのメンバとして定義します。
  3. ユーザごとに、最大送金額の異なる実行権限を与えるには、TRANSFER クラスの各種レコードへのアクセスを許可または拒否します。
  4. さらに、プログラムによる送金を処理するため、銀行の送金プログラムに
    Privileged Access Manager
    API への呼び出しを挿入します。この呼び出しは、ユーザのアクセス許可をチェックしてから送金処理を許可します。