Adabas ユーティリティの認可の設定

ユーティリティのセキュリティコンフィグレーションは、次のファイルに格納されます。

  • adaauth.ini

  • adaaudit.ini

  • adarbac.ini

これらのファイルは、ローカルマシンのセキュリティを構成し、すべてのデータベース、すべての製品インストール、およびマシン上のバージョン 6.5 以上の製品バージョンに適用されます。

これらは ASCII ファイルなので、標準のテキストエディタで編集できます。

graphics/auth_utils_conf.png


コンフィグレーションファイルとロギングファイルの場所

コンフィグレーションファイル adaauth.ini は一元的な場所に配置されます。場所はプラットフォーム固有です。また、固定されているので変更できません。初期状態では、ファイル adaaudit.iniadarbac.ini も事前定義された場所に配置されています。これらのファイルは、必要に応じて他の場所に移動できます。

ファイル 説明 場所固定
adaauth.ini コンフィグレーションの定義
adarbac.ini セキュリティ定義 ×
adaaudit.ini 監査ログのコンフィグレーション ×
adaaudt.log 監査ログ ×

注意:
Adabas ユーティリティの実行が許可されているすべてのユーザーは、LOG_FILE とそれが配置されているディレクトリの両方に対して、READ/WRITE アクセス権限を持っている必要があります。

Windows の場合

コンフィグレーションフィアルと監査ログファイルは、次の場所にインストールされます。

%PROGRAMDATA%\Software AG\Adabas\auth
     adaauth.ini
     adarbac.ini
     adaaudit.ini
%PROGRAMDATA%\Software AG\Adabas\log
     adaaudit.log

UNIX/Linux の場合

コンフィグレーションフィアルと監査ログファイルは、次の場所にインストールされます。

/etc/softwareag/Adabas/auth
     adaauth.ini
     adarbac.ini
     adaaudit.ini
/var/log/softwareag/Adabas
     adaaudit.log

ファイルおよびディレクトリの権限

重要:
上記のコンフィグレーションファイルと監査ログファイルは、制限のあるファイル権限なしでインストールされます。データセットのセキュリティ保護(「強化」)方法の詳細については、『管理マニュアル』の「Adabas のセキュリティ機能」セクションにある「セキュリティの考慮事項」を参照してください。

Adabas ユーティリティのすべてのユーザーは、少なくとも次のファイル権限とディレクトリ権限を持っている必要があります。

  1. コンフィグレーションファイルに対する READ 権限。

  2. 監査ログファイルに対する WRITE 権限(LOG_FILE 設定)。

  3. 監査ログファイルが配置されているディレクトリに対する WRITE 権限。

adaauth.ini

コンフィグレーションファイル adaauth.ini には、そのマシンとすべてのデータベース、すべての製品のインストール、およびマシン上のバージョン 6.5 以上の製品バージョンに適用される情報が含まれています。

このファイルには、次の基本的なセキュリティ定義が含まれています。

  • セキュリティコンフィグレーション定義の場所。

  • 監査コンフィグレーションファイルの場所。

adaauth.ini の構造

コンフィグレーションファイル adaauth.ini には、トピック AUTHZ の単一セクションが含まれています。

セクションは角カッコ([ ])で囲まれたトピック名を含む行、[topic-name] から始まります。セキュリティ定義に関連するトピックを次に挙げます。

  • AUTHZ、および項目

    • ACTION

    • AUDIT_FILE

    • MODE

    • RBAC_FILE

トピック:AUTHZ

トピック AUTHZ には、ローカルマシンのセキュリティ構成に使用する情報が含まれています。

トピック AUTHZ の構文は次のとおりです。

[AUTHZ]
  ACTION     = <activation of feature>
  MODE       = <source of definitions>
  AUDIT_FILE = <path to adaaudit.ini>
  RBAC_FILE  = <path to adarbac.ini>
[AUTHZ-END]

項目:ACTION

項目 ACTION は、Adabas ユーティリティの認可機能をアクティブ化します。

  • YES
    機能が有効になります。

  • NO
    機能が無効になります。

デフォルト設定は NO です。

重要:
項目 ACTION は、将来のリリースで廃止されます。

項目:MODE

項目 MODE は、セキュリティ定義のソースを定義します。

  • ADABAS
    セキュリティ定義は RBAC システムファイルに定義されています。

  • INI
    セキュリティ定義は、コンフィグレーションファイルに定義されています。

項目:AUDIT_FILE

項目 AUDIT_FILE は、監査処理のコンフィグレーション(監査ログのレイアウトや場所など)が含まれている adaaudit.ini ファイルの場所を定義します。

項目:RBAC_FILE

項目 RBAC_FILE は、データベースユーティリティの使用に関するセキュリティ定義が含まれている adarbac.ini ファイルの場所を定義します。

adaaudit.ini

コンフィグレーションファイル adaaudit.ini には、そのマシンとすべてのデータベース、すべての製品のインストール、およびマシン上のバージョン 6.5 以上の製品バージョンに適用される情報が含まれています。

このファイルには、次の情報が含まれています。

  • 監査ファイル処理の基本的なコンフィグレーション(監査ログのレイアウトや場所など)。

adaaudit.ini の構造

コンフィグレーションファイル adaaudit.ini には、トピック AUDIT の単一セクションが含まれています。

セクションは角カッコ([ ])で囲まれたトピック名を含む行、[topic-name] から始まります。セキュリティ定義に関連するトピックを次に挙げます。

  • AUDIT、および項目

    • FORMAT

    • LOG_FILE

    • SEPARATOR

トピック:AUDIT

トピック AUDIT は、監査ログのパラメータを定義します。

トピック AUDIT の構文は次のとおりです。

[AUDIT]
  FORMAT    = <file layout>
  SEPARATOR = <token separator>
  LOG_FILE  = <log file name>
[AUDIT-END]

項目:FORMAT

項目 FORMAT は、監査ログエントリのレイアウトを定義します。

  • TEXT
    監査エントリ内のすべての値の前にヘッダーが付けられて、空白で区切られます。

  • CSV
    監査エントリ内のすべての値は、区切り値で区切られます。

項目:SEPARATOR

項目 SEPARATOR は、CSV 形式で値を区切る際に使用する文字を定義します。

SEPARATOR で有効なパラメータ値は次のとおりです。

パラメータ値 説明
"," コンマ
";" セミコロン
"/t" タブ
" " 空白(デフォルト)

パラメータ値は二重引用符で囲む必要があります。

注意:
タブのパラメータ値は文字列 "/t" です。

項目:LOG_FILE

項目 LOG_FILE は、監査ログの場所とファイル名を定義します。

ログファイルエントリの項目は、項目 FORMAT に設定した値によって異なります。接頭辞が付けられて空白で区切られるか(FORMAT=TEXT の場合)、接頭辞なしで選択した区切り値で区切られます(FORMAT=CSV の場合、区切り値は SEPARATOR で選択した値)。

接頭辞 説明
  2016-06-02T14:48:19Z タイムスタンプ
HOSTNAME= <hostname> マシンのホスト名
OSVERSION= <operating_system> オペレーティングシステムの名前とバージョン
  %AUTHORIZATION-x メッセージインジケータ:(I)情報または(E)エラー
USER=

UNIX:<user>

Windows:<domain>/<user>

ユーザーアカウントの名前
OPERATION= <operation> 試行した処理の名前
DBID= <number> データベース ID
AUTHORIZED= YES|NO 認可要求の結果

adarbac.ini

コンフィグレーションファイル adarbac.ini には、そのマシンとすべてのデータベース、すべての製品のインストール、およびマシン上のバージョン 6.5 以上の製品バージョンに適用される情報が含まれています。

このファイルには、データベースユーティリティの使用に関する、次のようなセキュリティ定義が含まれています。

  • ユーザー/役割の割り当て

  • 役割/権限の割り当て

  • 権限(オブジェクトで許可されている処理の定義)

  • オブジェクト定義

  • 処理の定義

adarbac.ini の構造

コンフィグレーションファイル adarbac.ini は複数のセクションから構成され、セクションごとにトピックが 1 つ以上あります。ファイルの各セクションは角カッコ([ ])で囲まれたトピック名を含む行、[topic-name] から始まります。関連するトピックは次のとおりです。

トピック 説明
USER_ROLE ユーザーの定義と役割の割り当て。
ROLE_PERMISSION 役割の定義と権限の割り当て。
PERMISSIONS 権限の定義、および処理とオブジェクト(処理を実行可能なオブジェクト)の割り当て。
OBJECTS オブジェクトの定義とデータベース ID の割り当て。
OPERATIONS 処理の定義と Adabas ユーティリティの割り当て。

トピック:USER_ROLE

トピック USER_ROLE には、ユーザーアカウントへの役割の割り当てが含まれています。

トピック USER_ROLE の構文は次のとおりです。

[USER_ROLE]
  <user_name> = <role_assignments> 
[USER_ROLE-END]

USER_ROLE トピックには、それぞれが 1 つ以上の役割を user_name に割り当てる、1 つ以上の USER_ROLE 定義を含めることができます。

項目:USER_ROLE 定義

USER_ROLE 定義は、user_name に 1 つ以上の役割を割り当てます。これは USER_ROLE トピック内の項目です。

USER_ROLE 定義項目の構文は次のとおりです。

<user_name> = <role_name [,<role_name>] >

user_name の値は次のいずれかになります。

  • セッションに関連付けられ、オペレーティングシステムによって検証されたユーザーの名前(Windows の場合は「ドメイン\ユーザー」)

  • すべてのユーザーを示すアスタリスク(*)

注意:
user_name の値は大文字と小文字が区別されないので、大文字と小文字の違いがあっても user_name の値は等しいと見なされます。

role_name の値は次のいずれかになります。

  • ROLE_PERMISSION 定義の名前。

  • ROLE_PERMISSION 定義のコンマ区切りリスト。

トピック:ROLE_PERMISSION

トピック ROLE_PERMISSION には、役割に対する権限の割り当てが含まれています。

トピック ROLE_PERMISSION の構文は次のとおりです。

[ROLE_PERMISSION]
  <role_name> = <permission_assignments>
[ROLE_PERMISSION-END]

ROLE_PERMISSION トピックには、それぞれが 1 つ以上の PERMISSION を role_name に割り当てる、1 つ以上の ROLE_PERMISSION 定義を含めることができます。

項目:ROLE_PERMISSION 定義

ROLE_PERMISSION 定義は、role_name に 1 つ以上の役割を割り当てます。これは ROLE_PERMISSION トピックの項目です。

ROLE_PERMISSION 定義項目の構文は次のとおりです。

<role_name> = <permission_name [,permission_name] >

permission_name の値は次のいずれかになります。

  • PERMISSIONS 定義の名前。

  • PERMISSIONS 定義のコンマ区切りリスト。

トピック:PERMISSIONS

トピック PERMISSIONS には、権限に対するオブジェクトと処理の割り当てが含まれています。各エントリは、特定のオブジェクトセットで実行可能な、許可された処理のタプルを定義します。

トピック PERMISSIONS の構文は次のとおりです。

[PERMISSIONS]
  [<permission_definition>] 
[PERMISSIONS-END]

PERMISSIONS トピックは 1 つ以上の PERMISSION 定義を含んでいる場合があります。

サブトピック:PERMISSION 定義

各 PERMISSION 定義は、PERMISSIONS トピックのサブトピックです。固有の名前で識別され、ファイルの適切なセクションで定義されている OBJECT および OPERATION 項目が含まれています。

PERMISSION 定義の名前は、一意にする必要があり、サブトピックの場合のようにカッコで囲む必要があります。

トピック PERMISSION 定義のサブトピックの構文は次のとおりです。

[<permission_name>]
  OPERATION = <operation_name>
  OBJECT    = <object_name>
[<permission_name>-END]

各 PERMISSION 定義には、OPERATION 項目が 1 つと、OBJECT 項目が 1 つ含まれている必要があります。

  • OPERATION 項目の値は、実行可能な処理を定義する OPERATION 定義の名前です。

  • OBJECT 項目の値は、処理を実行可能な OBJECT 定義の名前です。

トピック:OBJECTS

トピック OBJECTS は 1 つ以上の OBJECT 定義を含んでいます。各エントリは、1 つ以上の PERMISSION 定義で使用でき、1 つ以上のデータベース ID を object_name に割り当てます。

トピック OBJECTS の構文は次のとおりです。

[OBJECTS]
  <object_definitions>
[OBJECTS-END]

サブトピック:OBJECT 定義

各 OBJECT 定義は、OBJECTS トピックのサブトピックです。固有の名前で識別され、DBID 項目が含まれています。

OBJECT 定義の名前は、一意にする必要があります。また、サブトピックの場合のようにカッコで囲む必要があります。

トピック OBJECT 定義のサブトピックの構文は次のとおりです。

[<object_name>]
  DBID = <number> [, <number>] [, <number>-<number>]
[<object_name>-END]

各 OBJECT 定義には、次のいずれかの DBID エントリが含まれている必要があります。

  • 単一のデータベース ID

  • データベース ID のコンマ区切りリスト

  • ハイフン記号(-)で区切られたデータベース ID の範囲

  • データベース ID のリストと範囲の組み合わせ

  • すべてのデータベース ID を示すアスタリスク(*)

トピック:OPERATIONS

トピック OPERATIONS は 1 つ以上の OPERATIONS 定義を含んでいます。各エントリは、1 つ以上の PERMISSION 定義で使用でき、1 つ以上のユーティリティ処理を operation_name に割り当てます。

トピック OPERATIONS の構文は次のとおりです。

[OPERATIONS]
  <operation_definitions>
[OPERATIONS-END]

OPERATIONS トピックは 1 つ以上の OPERATIONS 定義を含むことができます。

項目:OPERATIONS 定義

OPERATION 定義は項目です。1 つ以上のユーティリティ処理を固有の名前に割り当てます。各 OPERATION 定義は、PERMISSION 定義で値として使用されます。

OBJECT 定義の名前は、一意にする必要があります。また、サブトピックの場合のようにカッコで囲む必要があります。

トピック OPERATION 定義の構文は次のとおりです。

<operation_name> = <utility_name [, <utility_name>]>

operation_name の値は次のいずれかになります。

  • Adabas ユーティリティの名前

  • Adabas ユーティリティの名前のコンマ区切りリスト

有効な Adabas ユーティリティ名を以下に示します。

説明
ada.uti.bck データベースまたはファイルのバックアップとリストア
ada.uti.dbm データベース更新
ada.uti.ela Adabas Analytics の構成
ada.uti.fdu ファイル定義
ada.uti.frm 新規データベースのフォーマットと作成
ada.uti.opr オペレータユーティリティ
ada.uti.ord データベースのリオーダまたはファイルのエクスポート/インポート
ada.uti.rba RBAC 定義の管理
ada.uti.rec データベースまたはファイルのリカバリ
ada.uti.rep データベースレポート
ada.uti.scr セキュリティ機能の管理および有効化
ada.uti.uld ファイルのアンロード

注意:
utility_name の値では大文字と小文字が区別されます。無効なエントリ(無効な権限など)は処理エラーになります。

制限および制約事項

adarbac.ini ファイルのエントリには、次の制限や制約事項が適用されます。

説明 制限/制約事項
最大 2064 文字までです。
最大 2036 文字までです。
USER の名前 最大 128 文字までです。
ROLE の名前 最大 32 文字までです。
PERMISSION の名前 最大 19 文字までです。
OPERATION の名前 最大 128 文字までです。
OBJECT の名前 最大 19 文字までです。
ファイルパス 最大 255 文字までです。
ファイル名 最大 32 文字までです。
値、空白を含む値 値は引用符(”)で囲む必要があります。
値、値のリスト 複数の値はコンマ(,)で区切ります。
値、値の範囲 アスタリスク文字(*)はすべての有効な値の範囲を示します。この文字の使用は、USER_ROLE および DBID エントリに制限されます。
行、継続文字 使用不可。エントリは 1 行の内容に制限されます。
コメント行 コメントはハッシュ記号(#)で始まります。
行コメント コメントは最初の空白で始まります。
重複するエントリ 以前のエントリ値は、重複するエントリによって上書きされます。最後のエントリ値が使用されます。

サンプル:adarbac.ini

サンプル:無制限アクセス(レガシー)

以下に示すセキュリティ定義では、無制限のアクセスが実装されます。

###
###  SAMPLE:   Access Permissions (Unrestricted Access)
###
###  Users:   Generic Definition
###
###  Roles:   DBADMIN          Administrator (Database)
###           FILEADMIN        Administrator (File)    
###           DBREPORT         Reporting     (Database)
###           USER             User          (Database)
###
###  Role Assignment:
###           All users are assigned all roles
###           which provides the user with the permissions 
###           to execute operations as was in previous product releases
###
###

### Generic definition of Users and the Assignment of Roles
[USER_ROLE]
    * = DBADMIN,FILEADMIN,REPORTER,USER
[USER_ROLE-END]

### Assignment of Permissions to Roles
[ROLE_PERMISSION]
    DBADMIN = DBADMIN_PERM
    FILEADMIN = FILEADMIN_PERM
    REPORTER = REPORTER_PERM
    USER = USER_PERM
[ROLE_PERMISSION-END]

### Definition of Permissions - Tuples of Operations on Objects
[PERMISSIONS]
	[DBADMIN_PERM]
		OBJECT = OBJECT_ANY
		OPERATION = ALL_OPERATIONS
	[DBADMIN_PERM-END]
	[FILEADMIN_PERM]
		OBJECT = OBJECT_ANY
		OPERATION = FILE_OPERATIONS
	[FILEADMIN_PERM-END]
	[REPORTER_PERM]
		OBJECT = OBJECT_ANY
		OPERATION = REPORT_OPERATIONS
	[REPORTER_PERM-END]
	[USER_PERM]	
		OBJECT = OBJECT_ANY
		OPERATION = USER_OPERATIONS
	[USER_PERM-END]	
[PERMISSIONS-END]
	
### Definition of Objects                                   
[OBJECTS]
	[OBJECT_ANY]
		DBID = *
	[OBJECT_ANY-END]
[OBJECTS-END]

### Definition of Operations
[OPERATIONS]
	 ALL_OPERATIONS = ada.uti.bck,ada.uti.dbm,ada.uti.ela,ada.uti.fdu,ada.uti.opr,ada.uti.ord,ada.uti.rba,ada.uti.rec,ada.uti.rep,ada.uti.scr,ada.uti.uld
	 FILE_OPERATIONS = ada.uti.fdu,ada.uti.ord,ada.uti.uld
	 REPORT_OPERATIONS = ada.uti.rep
	 USER_OPERATIONS = ada.uti.none
[OPERATIONS-END]

### EOF

サンプル:RBAC セキュリティ

以下に示すセキュリティ定義では、最小限の権限が実装されます。

###
###  SAMPLE:  RBAC Security (LEAST AMOUNT OF PRIVILEGES)
###
###  Users:   Explicitly Defined
###
###  Roles:   DBADMIN          Administrator (Database)
###           FILEADMIN        Administrator (File)    
###           DBREPORT         Reporting     (Database)
###           USER             User          (Database)
###
###  Role Assignment:
###           Each user is explicitly defined and is assigned the minimum of roles and privileges.
###           This enables the implementation of a "Least amount of Privileges" RBAC Security model.
###

### Explicit definition of Users and the Assignment of Roles
[USER_ROLE]
   USRDBADMIN   = DBADMIN                                  
   USRFILEADMIN = FILEADMIN                                
   USRDBREPORT  = DBREPORT                                 
   USR0001      = USER                                     
[USER_ROLE-END]

### Assignment of Permissions to Roles
[ROLE_PERMISSION]
   DBADMIN = DBADMIN_PERM
   FILEADMIN = FILEADMIN_PERM
   REPORTER = REPORTER_PERM
   USER = USER_PERM
[ROLE_PERMISSION-END]

### Definition of Permissions - Tuples of Operations on Objects
[PERMISSIONS]
  [DBADMIN_PERM]                                            
    OBJECT = OBJECT_ANY                                     
    OPERATION = ALL_OPERATIONS                              
  [DBADMIN_PERM-END]                                        
                                                            
  [FILEADMIN_PERM]                                          
    OBJECT = OBJECT_ANY                                     
    OPERATION = FILE_OPERATIONS                             
  [FILEADMIN_PERM-END]                                      
                                                            
  [DBREPORT_PERM]                                           
    OBJECT = OBJECT_ANY                                     
    OPERATION = REPORT_OPERATIONS                           
  [DBREPORT_PERM-END]                                       
                                                            
  [USER_PERM]                                               
    OBJECT = OBJECT_ANY                                     
    OPERATION = USER_OPERATIONS                             
  [USER_PERM-END]                                           
[PERMISSIONS-END]                                           
                                                            
### Definition of Objects                                   
[OBJECTS]                                                  
  [OBJECT_ANY]                                              
    DBID = *
  [OBJECT_ANY-END]
[OBJECTS-END]

### Definition of Operations
[OPERATIONS]
	 ALL_OPERATIONS = ada.uti.bck,ada.uti.dbm,ada.uti.ela,ada.uti.fdu,ada.uti.opr,ada.uti.ord,ada.uti.rba,ada.uti.rec,ada.uti.rep,ada.uti.scr,ada.uti.uld
	 FILE_OPERATIONS = ada.uti.fdu,ada.uti.ord,ada.uti.uld
	 REPORT_OPERATIONS = ada.uti.rep
	 USER_OPERATIONS = ada.uti.none
[OPERATIONS-END]

### EOF