Oracle ASMファイル・アクセス制御を管理するには、ACCESS_CONTROL.ENABLEDおよびACCESS_CONTROL.UMASKディスク・グループ属性を設定する必要があります。ALTER DISKGROUP SQL文でディスク・グループを変更して属性を設定するか、またはASMCMD setattrコマンドを使用して属性を設定できます。ASMCMD setattrコマンドの詳細は、「setattr」を参照してください。
ファイル・アクセス制御を既存のディスク・グループに対して設定した場合、作成済のファイルはすべてのユーザーからアクセス可能なままになります。これを避けるには、ALTER DISKGROUP SET PERMISSIONSQL文を実行するか、ASMCMD chmodコマンドを実行して権限を制限します。ASMCMD chmodコマンドの詳細は、「chmod」を参照してください。
Oracle ASMファイル・アクセス制御を有効にするには、COMPATIBLE.ASMおよびCOMPATIBLE.RDBMSディスク・グループ属性を11.2以上に設定する必要があります。ディスク・グループの互換性属性の詳細は、「ディスク・グループの互換性」を参照してください。
Oracle ASMファイル・アクセス制御を制御するディスク・グループ属性は次のとおりです。
この属性により、Oracle ASMファイル・アクセス制御がディスク・グループに対して有効かどうかが決まります。
値はtrueまたはfalseです。デフォルトは、falseです。
属性がtrueに設定されている場合、Oracle ASMファイルへのアクセスはアクセス制御の対象となります。falseに設定した場合、すべてのユーザーがディスク・グループ内のすべてのファイルにアクセスできます。他のすべての操作は、この属性とは関係なく動作します。
この属性により、Oracle ASMファイルの作成時に、ファイルの所有者であるユーザー、同じユーザー・グループのユーザー、およびユーザー・グループに属さない他のユーザーに対して、どの権限をマスクするかが決まります。この属性は、ディスク・グループ内のすべてのファイルに適用されます。
値は3桁の数字{0|2|6} {0|2|6} {0|2|6}の組合せです。デフォルトは066です。
0に設定すると、何もマスクされません。2に設定すると、書込み権限がマスクされます。6に設定すると、読取り権限と書込み権限の両方がマスクされます。
ACCESS_CONTROL.UMASKディスク・グループ属性を設定する前に、ACCESS_CONTROL.ENABLED属性をtrueに設定してOracle ASMファイル・アクセス制御を有効にしておく必要があります。
例4-11に、SQL*Plusを使用してディスク・グループに対するOracle ASMファイル・アクセス制御を有効にする方法を示します。この例では、umask権限設定は026で、これにより、所有者には読取り/書込みアクセス(0を使用して何もマスクしない)、グループのユーザーには読取りアクセス(2を使用して書込み権限をマスク)が有効になり、グループに属さない他のユーザーにはアクセスが許可されません(6を使用してすべてのアクセスをマスク)。
例4-11 Oracle ASMファイル・アクセス制御の設定
ALTER DISKGROUP data1 SET ATTRIBUTE 'access_control.enabled' = 'true'; ALTER DISKGROUP data1 SET ATTRIBUTE 'access_control.umask' = '026';