SQL Azure

Twitter / 佐藤伸夫 ( とーまん ): SQL Azure :初期に作成される管理者ログイン …

20110224234420

今回のネタは、上の呟き「SQL Azure:初期に作成される管理者ログインでは、CREATE USER FOR LOGINのログインにできない?」に対する調査結果です。

結論

できるけど、できない。

正確に表現すると次のようになります。
初期に作成される管理者ログインにマッピングされたUSERがすでに存在する為に、ユーザが定義するUSERには使用できない。

解説

SQL Azureサーバを作成する際に、管理者ログイン(Administrator Login)を指定します。SQL Azureの管理画面上では、下の図の矢印で示されたLogin名です。

a

次に、データベースにUSERを作成する際に、Loginとマッピングします。
具体的には、次のようなコマンドになります。

CREATE USER readonlyuser FOR LOGIN readonlylogin;

本質問は、管理者ログインをUSERにマッピングさせたいけど、エラーがでてマッピングさせることができないことから出た質問です。

なぜ、エラーになるのか?

実は、新規にユーザデータベースを作成すると初期USERとして、dbo、guest、INFORMATION_SCHIMA、sysの4つのUSERが既定で作成されています。

その4つのユーザの内、dboの定義を確認すると次のような定義になっています。

CREATE USER [dbo] FOR LOGIN [管理者ログイン] WITH DEFAULT_SCHEMA=[dbo]

定義を見るとわかるとおり、dboユーザに管理者ログインがマッピングされています。

dboのUSERは削除できないので、ユーザ定義のデータベースに管理者ログインにマッピングされたUSERは存在するけど、任意のUSERにマッピングさせることはできないのです。

SQL Azure Team Blog

この投稿は、Securing Your Connection String in Windows Azure: Part 1からSecuring Your Connection String in Windows Azure: Part 4までの全4回の記事を意訳したものです。一部、表現を変えてるところがありオリジナルと異なる箇所があります。

SQL Azure環境をセキュアに取り扱おうには、SQL Azureへの接続文字列をセキュアに扱う必要があります。Windows AzureでSQL Azureに接続するアプリケーションを動作させるには、Windows Azureのコードに接続文字列を組み込まなければなりません。しかし、Windows Azureのパッケージを作成する開発者に本番環境のデータベースのパスワードを教えたく無い場合があります。
この投稿では、Windows Azure環境で、SQL Azureへの接続文字列をセキュアに扱う方法について説明します。

接続文字列は、ログインIDとパスワードを含んでおり、通常は平文の文字列です。この投稿の目的は、Windows Azureからデータベースに接続するアプリケーションで、プログラムは接続文字列を認識でき、開発者には読めないように暗号化することです。暗号化した接続文字列をアプリケーションが解読できるようにキーを予めWindows Azureに持たせる必要があります。かつ開発者には知ることができないようにする必要があります。

SQL Azure Team Blog

Security Resources for the Windows Azure Platform – SQL Azure Team Blog – Site Home – MSDN Blogsを簡単に翻訳したエントリーです。

SQL Azureのセキュリティ情報を探しているのでしたら、Security Resouces for Windows Azureを見てみてください。このMSDNライブラリの新しいトピックでは、マイクロソフトのエキスパートによって提供されたり、執筆されたWindows Azure Platformのセキュリティに関するウェブキャストや、ビデオ、ブログ、資料へのリンクを提供しています。
Windows Azure、SQL Azure、Windows Azure AppFabricのセキュリティ情報を提供しています。

Windows Azure Platform Information Experienceチームが、新たに公開されたセキュリティ情報を随時更新していく予定です。

Windows Azure

Now Available: Azure Security Notes PDF – J.D. Meier’s Blog – Site Home – MSDN Blogsを簡単に翻訳したエントリーです。

Azure Security Notes (PDF)は、クラウドセキュリティやAzure セキュリティから学び、メモしたコレクションです。これはガイドではなく、またMicrosoftのパタン&プラクティスでもありません。patterns & practices Windows Azure Security Guidance projectの調査段階で学んだことを共有するためにまとめたものです。

 

ダウンロード

Download Azure Security Notes (PDF)

 

目次

  • Ch 1 – クラウドセキュリティへのアプローチ
  • Ch 2 – クラウドセキュリティの脅威と対策
  • Ch 3 – クラウドセキュリティを改善するためのガイドラインのデザイン
  • Ch 4 – Webアプリケーソンセキュリティ アーキテクチャの選択
  • Ch 5 – Webアプリケーションセキュリティ シナリオ
  • Ch 6 – Webサービスセキュリティのアーキテクチャを選択する
  • Ch 7 – Webサービスセキュリティ シナリオ
  • Ch 8 – データセキュリティアーキテクチャの選択
  • Ch 9 – データセキュリティ シナリオ

参考

  • クラウドアプリケーション用のセキュリティチェックリスト
  • WEBアプリケーションの驚異
  • Webサービスの驚異
  • カンペ – Webアプリケーションのセキュリティ驚異と対策
  • カンペ – Web サービス (SOAP) セキュリティ驚異と対策
  • カンペ – Web サービス (REST) セキュリティ驚異と対策
  • カンペ – データセキュリティと対策
  • ハウツー – Azureテーブルストレージでのフォーム認証の使用
  • ハウツー – SQL Azureでのフォーム認証の使用
  • ハウツー – Windows Azure上のシングルサインオン認証をSSLで有効にする