Oracleデータベースのホワイトリストを設定する方法

Oracleデータベースにおいて、ホワイトリストは通常データベースインスタンス、あるいは特定のユーザへのアクセスを制限するために利用されます。ホワイトリストの設定方法を以下に示します。

  1. Oracleデータベースのシステム管理アカウント(例: sys)にログインします。
  2. 以下のコマンドでデータベースアクセス制御リスト(ACL)を作成します。
  3. BEGIN
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL(
    acl => ‘my_acl.xml’, — ACL名の指定
    description => ‘My ACL’, — ACLの説明
    principal => ‘MY_USER’, — 権限を付与するユーザーの指定
    is_grant => TRUE, — 権限付与の指定
    privilege => ‘connect’); — connect権限の指定
    END;
    /
  4. 「my_acl.xml」という名前のACLを作成し、ユーザー「MY_USER」に対して許可し接続の権限を制限します。
  5. ACLにホストネットワークを許可するエントリを追加するには、以下のコマンドを使用します。
  6. DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(acl => ‘my_acl.xml’, principal => ‘MY_USER’, is_grant => TRUE, privilege => ‘resolve’);
  7. このコマンドによって、ユーザー「MY_USER」に、すべてのウェブホストに対するホスト名解決権限が付与されます。
  8. 次のコマンドを使用して、ACLをデータベースインスタンスにバインドします
  9. BEGIN
    DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL(
    acl => ‘my_acl.xml’, — ACL名
    host => ‘*’, — すべてのホストにバインド
    lower_port => NULL, — 最小ポート番号(オプション)
    upper_port => NULL); — 最大ポート番号(オプション)
    END;
    /
  10. このコマンドはすべてのホストにACLをバインドし、どのポートからでも接続を許可します。
  11. 最後に、次のコマンドでネットワークACLキャッシュの更新を行います。
  12. DBMS_NETWORK_ACL_ADMIN.FLUSH_ACL_CACHE();
  13. このコマンドは、新しいACL設定を有効にするためにネットワークアクセス制御リストキャッシュを更新します。

設定が完了すると、指定ユーザーにデータベースへのアクセス権が付与され、接続が可能なネットワークホストの範囲が制限されます。

bannerAds