web-dev-qa-db-ja.com

不明なユーザーが自分のSQL(Azure)DBにアクセスできるようにするにはどうすればよいですか?

明らかに、SQL Azure DBへのアクセスを許可されるIPアドレスを明示的に指定(ホワイトリスト)する必要があります。ただし、これらのテーブルにアクセスしてそれらに固有のデータを取得するN-gazillion *ユーザーが必要です。

  • 壮大な妄想

これらは、有効なエントリとして追加できるように、最初にIPアドレスを提供する必要がありますか、それをプログラムで行う方法、または他の回避策がありますか?

50
B. Clay Shannon

クライアントに直接アクセスするのではなく、何らかのミドルウェアをデータベースにアクセスすることをお勧めします。

ただし、任意のIPをdbに接続できるようにする場合は、次のエントリをファイアウォールリストに追加するだけです。

Azure Portal-> Databases-> Servers-> Configure and add the following rule:

enter image description here

112
cillierscharl

ユーザーがWebアプリ(フロントエンド)経由で、または直接(ユーザーにDBへの直接アクセスを与えないと仮定します)DBにアクセスする方法(Webアプリ(プレゼンテーションレイヤー)経由の場合) todoは、プレゼンテーションレイヤー/サービスレイヤーのこのIPアドレスへのアクセスを許可します(Azureでホストされている場合はその横にあります)。

SQL DB Azureには2種類のアクセス制限があります(詳細はこちら) " Windows Azure SQL Database Firewall "

  • サーバーレベルのファイアウォールルール:
  • データベースレベルのファイアウォールルール

すべてのIPアドレス0.0.0.0-255.255.255.255(非常に安全ではありません)を開くか、上記のデータベースファイアウォールルールに基づいてより詳細なポリシーを考え出すことができます。

6
user728584

唯一の方法は、SQLクエリを使用することです。 Azureでは、ファイアウォールサーバールールのみがポータルでのみ表示されるように表示されますが、データベースレベルではSQLを介した唯一の方法です。

-- Enable Allconnections.  
EXECUTE sp_set_database_firewall_rule N'Allow All', '0.0.0.0', '255.255.255.255';  
3
Nikolay Angelov
Login to Azure Portal

    select your database subscription

        click on Tools

                Now there is option 'Open in VisualStudio' (click on it)

                    You can see "Configure Firewall" click on it.

        Add you new IP.

Done :)
2
Saurin Vala

彼らがあなたのデータベースと直接話せるようにした場合(例えば、SSMS経由で)あなたは彼らのIPを入力する必要があります(または、範囲全体をホワイトリストに入れることができます)。通常、彼らは独自のAPIを介してデータベースを使用しますが、IPアドレスをホワイトリストに登録する必要はありません。

1
Leon Cullens