NEWS

オブジェクト権限とユーザーの特殊権限について

iWorldトップ フォーラム ここなら聞けます。今さら聞けない基礎知識(初心者向け) オブジェクト権限とユーザーの特殊権限について

6件の返信スレッドを表示中
  • 投稿者
    投稿
    • #10556
      SPIKA
      参加者

      現在、全てのオブジェクトのオブジェクト権限が「*ALL」となっており、セキュリティ対策上、データは「*EXCLUDE」に、プログラムは「*USE」に変更する事を考えています。
      この時、ユーザープロファイルの特殊権限が「*NONE」のユーザーがプログラムを実行して、データを読んだり更新したりする事は出来るのでしょうか?

    • #10562

      SPIKAさん、
      こんにちは、イグアス次郎です。
      久しぶりの問い合わせですね。

      まず、ご使用のシステムのバージョン、セキリティレベルを
      教えて下さい。使用するユーザープロフィルのユーザークラスは
      *USER ですか? (ユーザークラスと特殊権限は矛盾しないでください)
      データのオブジェクト権限は、*PUBLICに対して「*EXCLUDE」なのでしょうか?

      おそらく、「プログラム借用権限」を使用して一般ユーザーはデータを
      参照/更新できるが、許可されていないプログラムでのデータ使用は
      出来なくする方法を尋ねていると思われますが、正しいでしょうか?

    • #10563
      SPIKA
      参加者

      イグアス次郎さん、こんにちは。
      いつもお世話になっています。情報が少なくて申し訳ございません。
      システムはIBMi7.4、セキュリティレベルは20です。
      ユーザークラスは*USER です。
      データのオブジェクト権限は、*PUBLICに対して「*EXCLUDE」にしたい(現状は「*ALL」)です。
      お聞きしたいのは、この様に権限を変更したとしても、プログラムからのDBの更新は普通に出来ますでしょうか、という点です。
      以下はあくまでご参考までにという事になりますが、目的としては最近DBeaverなどのツールを用いてDBにアクセスするユーザーがいるので、その場合は専用のプロファイルを用意して、そちらを使う様に切り分けを行いたいと思っています

    • #10565

      SPIKAさん、イグアス次郎です。
      セキュリティレベルは20 ですか、最近セキュリティレベルは20の
      環境が無いので、試すことが出来ないのですが、たしかオブジェクトが
      作成時の初期値が変わるだけであり、権限関係は他のレベルと同じように
      動作すると思っています。
      よって、*PUBLICに対して「*EXCLUDE」にすると、所有者(作成者)以外は
      参照/更新が出来なくなります。
      ※1:所有者(作成者)はオブジェクト作成時に、権限が付与されている

    • #10566
      SPIKA
      参加者

      ご回答いただき、ありがとうございます。
      現在セキュリティレベルを40に上げる事を検討しており、その一環として、質問をさせていただきました。
      システム部員を除くユーザーに関してですが、それでは一般的にはどの様な設定にされているのでしょうか?
      ・オブジェクト権限(*PUBLIC)は「*ALL」にしたくない
      ・ユーザープロファイルの特殊権限「*ALLOBJ」にはしたくない
       (限られたユーザープロファイルのみ*ALLOBJにする)
      ・プログラムを介して、現状の様にDBの読み書きはしたい

    • #10571
      ベストアンサー

      SPIKAさん、イグアス次郎です。
      お疲れ様です。
      セキュリテイレベル20->40は、ぜひ実現して下さい。

      ご要望を満たす設定として、プログラム借用権限を使用して
      セキュリティを強化するための設定の方法があります。

      1. 例えばプログラム開発者グルーブ(PGMRS)を作り、プログラムを作った
      ユーザーを全て含めておきます。
        (グルーブ(PGMRS)のユーザークラスはQPGMRです。) 
      2. 使用するプログラムのオーナー(所有者)をグルーブ(PGMRS)に変更します。
      コマンド
      CHGOBJOWN PGM(XXXLIB/YYYPGM) OBJTYPE(*PGM) NEWOWN(PGMRS)

      3. 例えば社員グルーブ(SYAIN)を作り、個々の必要とするユーザーを
      全て含めておきます。
      4. グルーブ(SYAIN)が使用するブログラムで、借用権限の使用を*YESに
      変更します。
      コマンド
      CHGPGM PGM(XXXLIB/YYYPGM) USEADPAUT(*YES)
      5. グルーブ(SYAIN)が使用するブログラムへの権限を編集し、
        *PUBLICを消して、グルーブ(SYAIN)を*USEで追加します。
      コマンド
      RVKOBJAUT OBJ(XXXLIB/YYYPGM) OBJTYPE(*PGM) USER(*PUBLIC)
      GRTOBJAUT OBJ(XXXLIB/YYYPGM) OBJTYPE(*PGM) USER(SYAIN) AUT(*USE)

      6. ブログラムが参照するファイルの権限を編集し*PUBLICを消します。
      コマンド
      RVKOBJAUT OBJ(XXXLIB/ZZZFILE) OBJTYPE(*FILE) USER(*PUBLIC)

      これで、ユーザーが含まれる社員グルーブが、プログラムを使用出来る
      ようになり、ブログラムの所有者の権限でファイルをアクセスできる様に
      なり、該当のプログラム経由以外では、ユーザーはアクセスできません。
      基本的な考え方は以上です。
      ※1:プログラム所有者のグループの精査は必須です。
      ※2:十分にテストを行ってください。
        (別環境とか、誰も使用していない時にテストを行ってください。)

    • #10575
      SPIKA
      参加者

      イグアス次郎さん、いつも分かり易いご回答をいただき、ありがとうございます。
      大変参考になりました。早速実践したいと思います

6件の返信スレッドを表示中
  • トピック「オブジェクト権限とユーザーの特殊権限について」には新しい返信をつけることはできません。