ワークロードに対する USAGE 特権の付与

ワークロードを接続に関連付けるには、セッション・ユーザーがそのワークロードに対する USAGE 特権を持っている必要があります。 SYSADM、SYSMAINT、SYSCTRL、DBADM、または WLMADM 権限を持つユーザーは、すべてのワークロードに対する USAGE 特権を暗黙的に持ちます。

始める前に

GRANT USAGE ON WORKLOAD ステートメントを使用するためには、ACCESSCTRL、SECADM、または WLMADM 権限が必要です。

前提条件について詳しくは、 ワークロード管理 DDL ステートメント を参照してください。

このタスクについて

データ・サーバーが着信接続の属性と一致するワークロードを見つけると、データ・サーバーはセッション・ユーザーがそのワークロードに対する USAGE 特権を持っているかどうかを検査します。 セッション・ユーザーがそのワークロードに対する USAGE 特権を持っていない場合、データ・サーバーは次の一致するワークロードを探します。 (つまり、セッション・ユーザーが USAGE 特権を持っていないワークロードは、あたかも存在していないかのように扱われます。) したがって、ワークロードの USAGE 特権を使用することにより、一致する複数のワークロードの中からどのワークロードにユーザー、グループ、またはロールを割り当てるかを一層制御できるようになります。 例えば、同じ接続属性を持つワークロードを複数定義しておいて、それぞれのワークロードに対する USAGE 特権を特定のユーザー、グループ、またはロールだけに付与することができます。 詳しくは、 ワークロードの割り当てを参照してください。

クライアントは、クライアント・ユーザー ID、クライアント・アプリケーション名、クライアント・ワークステーション名、およびクライアント・アカウンティング・ストリング (これらはワークロードへの接続の割り当てに使用される接続属性の一部です) を許可なしで設定することができます。 それで、ワークロードの USAGE 特権は、どのセッション・ユーザーにワークロードを使用する権限を持たせるかを制御するためにも使用することができます。

USAGE 特権の情報は、SYSCAT.WORKLOADAUTH ビューを照会することによって表示できます。

RESTRICTIVE オプションを使用してデータベースを作成する場合は、データベース作成時に、SYSDEFAULTUSERWORKLOAD ワークロードに対する USAGE 特権が PUBLIC に付与されません。 このワークロードに対する USAGE 特権を明示的に WLMADM および DBADM ユーザー以外に付与する必要があります。 セッション・ユーザーが SYSDEFAULTUSERWORKLOAD を含むどのワークロードに対しても USAGE 特権を持っていない場合は、データ・サーバーがワークロードにデータベース接続を関連付けようとする際に SQL4707N が戻されます。

プロシージャー

ワークロードに対する USAGE 特権を付与するには、次のようにします。

  1. GRANT USAGE ON WORKLOAD ステートメントを使用します。
    特定のユーザー、グループ、ロール、または PUBLIC に対して USAGE 特権を付与することができます。 例えば、ACCOUNTS ワークロードの USAGE 特権を CPA グループに付与するには、次のステートメントを発行します。
    GRANT USAGE ON WORKLOAD ACCOUNTS TO GROUP CPA

    SYSDEFAULTADMWORKLOAD ワークロードに対する USAGE 特権は付与できません。 SYSDEFAULTADMWORKLOAD ワークロードは、SET WORKLOAD TO SYSDEFAULTADMWORKLOAD コマンドを発行する ACCESSCTRL、DATAACCESS、DBADM、SECADM、または WLMADM ユーザーだけが使用できます。

  2. 変更をコミットします。
    変更をコミットすると、SYSCAT.WORKLOADAUTH ビューが更新されます。 GRANT ステートメントがコミットされるまで、データ・サーバーは、新しく許可されたユーザー、グループ、またはロールに対してワークロード割り当てを実行する際にそのワークロードを考慮できません。