Azure Database for PostgreSQL のセキュリティについて説明する

完了

Azure Database for PostgreSQL では、複数のセキュリティ レイヤーを使用してデータを保護します。 これらのレイヤーには、次のものが含まれています。

  • データの暗号化
  • ネットワークのセキュリティ
  • アクセス管理

データの暗号化

Azure Database for PostgreSQL では、転送中と保存時にデータが暗号化されます。 このトピックについては、ユニット 5 で説明します。

ネットワークのセキュリティ

Azure Database for PostgreSQL フレキシブル サーバーには、2 つのネットワーク オプションがあります。

  • プライベート アクセス。 プライベート ネットワーク通信とプライベート IP アドレスを使って、Azure 仮想ネットワークにサーバーを作成します。 ネットワーク セキュリティ グループのセキュリティ規則を使用して、仮想ネットワーク サブネットとネットワーク インターフェイスに出入りできるネットワーク トラフィックの種類をフィルター処理できます。
  • パブリック アクセス。 サーバーには、パブリックに解決可能な DNS (ドメイン ネーム システム) アドレスを使用して、パブリック エンドポイント経由でアクセスできます。 ファイアウォールは、既定ですべてのアクセスをブロックします。 IP ファイアウォール規則を作成して、各要求の送信元 IP アドレスに基づいてサーバーへのアクセス権を付与できます。

Note

Azure Database for PostgreSQL フレキシブル サーバーを作成するときは、プライベート アクセスまたはパブリック アクセスを選びます。 サーバーが作成された後では、ネットワーク オプションを変更できません。

どちらのオプションでも、データベースまたはテーブルのレベルではなく、サーバー レベルでアクセスが制御されます。 PostgreSQL のロールを使って、データベース、テーブル、他のオブジェクトへのアクセスを許可または拒否します。

また、ファイアウォール規則を作成して、既知の IP アドレス範囲からの接続のみを許可することで、サーバーへのアクセスを管理します。

アクセス管理

Azure Database for PostgreSQL サーバーを作成するときに、管理者アカウントも作成します。 この管理者アカウントを使って、PostgreSQL ロールをさらに作成できます。 ロールは、データベース ユーザーまたはユーザーのグループです。 Azure Database for PostgreSQL サーバーへのアクセスの認証は、ユーザー名、パスワード、ロールに許可または拒否されているアクセス許可を使用して行われます。

SCRAM 認証

Azure Database for PostgreSQL サーバーへのほとんどのアクセスは、パスワードに依存します。 しかし、セキュリティで保護されたパスワード認証プロトコルである SCRAM 認証を使用して、ユーザーのクリア テキスト パスワードをサーバーに公開せずにクライアントを認証できます。 Salted Challenge Response Authentication Mechanism (SCRAM) は、中間者攻撃をより困難にするように設計されています。

パスワード暗号化を構成するには:

  1. Azure portal で Azure Database for PostgreSQL フレキシブル サーバーに移動し、[設定][サーバー パラメーター] を選びます。
  2. 検索バーに「password_encryption」と入力します。 パスワード暗号化を制御するパラメーターは 2 つあります。どちらも既定値は SCRAM-SHA-256 になります:
    • password_encryption
    • azure.accepted_password_auth_method

.