DMS のポリシー機能を使用すると、DMS の機能とデータリソースへのアクセスをきめ細かく制御できます。ポリシーを定義することで、インスタンスやデータベースなどのさまざまなレベルのデータリソースに対して、クエリ権限や変更権限などの権限を指定できます。また、特定の DMS 機能に対して許可されるアクションを制御することもできます。
機能
-
データリソースへのアクセス制御
ポリシーと標準の権限システムの両方を使用して、インスタンス、データベース、論理データベース、テーブルなどのさまざまなレベルのデータリソースに対して、クエリ権限や変更権限などの権限を付与できます。
-
機能へのアクセス制御
ポリシーを使用して、サブ機能の作成や表示の許可または拒否など、DMS 機能のアクションを制御できます。
注意事項
この機能はカナリアリリース中です。
ポリシーと権限テンプレートの違い
|
項目 |
ポリシー |
権限テンプレート |
|
管理可能なオブジェクト |
データリソースと DMS の機能 |
データリソース |
|
管理可能なデータリソースの範囲 |
範囲は広く、インスタンス、物理データベース、論理データベース、テーブルなどのデータリソースを含みます。 |
範囲は狭く、インスタンス、データベース、テーブルのみを含みます。 |
|
サポートされる権限付与対象の範囲 |
ユーザーとロール |
ユーザー |
認証
DMS のポリシーと標準の権限システムは相互補完的です。
たとえば、あるユーザーがポリシーを通じてdmstest_db データベースのクエリ権限を付与され、さらに標準の権限システムを通じて同じデータベースの変更権限も付与された場合、そのユーザーは当該データベースに対するクエリ権限と変更権限の両方を持ちます。
データリソースの認証プロセス
前提条件
ポリシーを管理するための権限が必要です。権限がない場合は、管理者に管理者システムロールの付与を依頼してください。詳細については、「ユーザー情報の編集」をご参照ください。
デフォルトでは、管理者ロールを持つユーザーはポリシーを管理する権限を持っています。
ステップ 1:ポリシーの作成と設定
DMSコンソールV5.0 にログインします。
-
コンソールの左上隅にある
アイコンをクリックし、 を選択します。説明-
コンソールを通常モードで使用している場合は、上部メニューから を選択します。
-
この機能はカナリアリリース中です。
-
-
[Create Policy] をクリックします。表示されたページで、[Basic Information] と [Remarks] を入力します。
-
ポリシーの内容を設定します。
説明ポリシーステートメントを設定した後、ページ下部の [Add Policy] をクリックして、データリソースと機能リソースのステートメントを追加できます。
データリソース
-
[Effect] を選択します。
[エフェクト]が [Allow] の場合、ポリシーで定義されたデータリソースおよび関連機能へのアクセスが、権限を付与されたユーザーまたはロールに許可されます。逆に、エフェクトが [Deny] の場合、権限を付与されたユーザーまたはロールがポリシーで定義されたリソースおよび機能にアクセスすることが禁止されます。
-
タブで、[Instance]、[Database]、[Logical Database] など、制御するリソースを選択します。
説明コンソールには、サポートされているすべてのデータリソースタイプが一覧表示されます。
-
[Actions] セクションで、[Read actions] (クエリ権限) や [Write actions] (変更権限) などのアクションタイプを選択します。
[All Actions] には、[Read actions] と [Write actions] の両方が含まれます。[Specified Actions] では、必要に応じて読み取りまたは書き込みアクションを選択できます。選択後、
アイコンをクリックして [Selected Actions] エリアに追加します。[Read actions] で [Instance Query] (
instance:InstanceQuery) を選択し、[Write actions] で [Instance Modification] (instance:InstanceCorrect) を選択します。その後、アイコンをクリックして [Selected Actions] エリアに追加します。 -
[Resource] セクションで、[All Resources] または [Specified Resources] のリソース範囲を選択します。
[Specified Resources] を選択した場合は、右下隅の [Add Resource] をクリックします。
[Add Resource] ダイアログボックスで、[Instance] フィールドに対象のインスタンスを選択し (キーワードで検索可能)、[Confirm] をクリックします。
-
(任意) ポリシー条件を設定します。
[Condition] セクションで [Add Condition] をクリックします。[Add Condition] ダイアログボックスで、[Condition Key]、[演算子]、および値を設定します。
説明使用可能な条件パラメーターは、選択したリソースタイプとアクションによって異なります。
条件キーの設定例:
-
データベースタイプの選択
たとえば、[演算子] を [StringEqualsIgnoreCase (大文字と小文字を区別しない文字列一致)] に、[Condition Value] を [MySQL] に設定した場合、ポリシーは MySQL データベースにのみ適用されます。
-
時刻の選択
たとえば、[演算子] を [DateGreaterThan] に、[Condition Value] を 2024-09-19 05:00 に設定した場合、ポリシーは 2024-09-19 05:00 以降にのみ有効になります。
-
機能の使用
-
[Effect] を選択します。
[エフェクト]が [Allow] の場合、ポリシーで定義されたデータリソースおよび関連機能へのアクセスが、権限を付与されたユーザーまたはロールに許可されます。逆に、エフェクトが [Deny] の場合、権限を付与されたユーザーまたはロールがポリシーで定義されたリソースおよび機能にアクセスすることが禁止されます。
-
タブで、データエクスポートチケット、ユーザー管理、ロール管理、機密データ保護など、制御する機能を選択します。
-
[Actions] セクションで、アクションタイプを選択します。
[Specified Actions] では、必要に応じて読み取りまたは書き込みアクションを選択できます。選択後、
アイコンをクリックして [Selected Actions] エリアに追加します。 -
[Resource] セクションで、[All Resources] または [Specified Resources] のリソース範囲を選択します。
[Specified Resources] を選択した場合は、[Add Resource] をクリックしてリソースを追加します。
-
(任意) ポリシー条件を設定します。
[Condition] セクションで [Add Condition] をクリックします。[Add Condition] ダイアログボックスで、[Condition Key]、[演算子]、および値を設定します。
説明使用可能な条件パラメーターは、選択したリソースタイプとアクションによって異なります。
たとえば、[Resource Type] として [Data Export Ticket] を選択した場合、[Instance Environment Type] [条件キー]を次のように使用できます。
[演算子] を [StringEqualsIgnoreCase (大文字と小文字を区別しない文字列一致)] に、[Condition Value] を [dev] に設定した場合、ポリシーは開発 (dev) 環境のデータベースに対してのみ有効になります。
-
-
ページの左下隅にある [Confirm] をクリックしてポリシーを生成します。
ステップ 2:ユーザーまたはロールへの権限付与
-
ポリシーリストページで対象のポリシーを見つけ、対象ポリシーの行にある [Authorize] をクリックします。
-
[Authorize] ダイアログボックスで、権限を付与する [Users] または [Roles] を選択します。複数選択が可能です。
ロールとはカスタムロールを指します。このロールが割り当てられたユーザーは、ポリシーの対象となります。
-
[Confirm] をクリックします。
ポリシーの管理
ポリシーリストページでは、ポリシーの [modify]、[delete]、または [create a similar] 操作を行えます。
権限診断
-
現在、DMS はデータリソースの権限診断のみをサポートしています。
-
操作ログページでは、過去 3 か月間の操作に対してのみ権限診断を実行できます。
権限診断機能は、ユーザーのデータリソースに対する権限のソースを追跡するのに役立ちます。診断は 2 つの方法で開始できます。
操作ログから開始
左上隅にある
アイコンにポインターを移動し、 を選択します。説明DMS コンソールを通常モードで使用している場合は、上部のナビゲーションバーで を選択します。
-
[Operation Logs] タブで、SQL コンソールからの操作ログをフィルタリングします。
-
ログエントリの右側にある [Permission Diagnosis] をクリックします。
[Permission Diagnosis] ダイアログボックスが開き、認証プロセスが表示されます。システムは最初に一致するポリシーを確認します。ポリシーが一致した場合、そのエフェクトによって結果が決まります。[Allow] はアクセスを許可し、[Deny] はアクセスを拒否します。一致するポリシーがない場合、システムは次に標準の権限を確認します。標準の権限が存在すれば、アクセスが許可されます。それ以外の場合、システムはインスタンスに対して最終的な RAM 権限チェックを実行し、成功すればアクセスを許可し、失敗すれば拒否します。
SQLコンソールから開始
-
左側のデータベースインスタンスリストで対象のデータベースを見つけてダブルクリックし、SQL コンソールを開きます。
-
ページ上部の [My Permissions] セクションで権限タイプを選択し、[Permission Diagnosis] をクリックします。
-
[Permission Diagnosis] をクリックして認証プロセスを表示します。
