SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Windows Azure Tips - 米国MSDNフォーラムウォッチング

MSDNフォーラムから見るAzure開発のノウハウ(1)

Windows Azure Tips - 米国MSDNフォーラムウォッチング

  • X ポスト
  • このエントリーをはてなブックマークに追加

11)Trying to figure out how to Create a Blob without credentials (using BlobContainerPermissions)

  • 質問:

     ブロブへストレージサービス自体のアカウントキーを使用せずに、ファイルを配置することは可能でしょうか?[上級][設計]

  • 回答:

     SAS(Shared Access Signature)を使用することで可能になります。

  • 解説:

     ブロブストレージでは、コンテナーと呼ばれるフォルダの中にデータを配置することになります。コンテナーに対して共有ポリシーを設定可能で、誰でもアクセス可能にしたりアカウントの所有者のみがアクセスできるように設定できます。

     しかし、この共有ポリシーの設定では、特定の人たちに特定のコンテナーのみにアクセスをさせたい場合も、コンテナーすべてに対してアクセス可能な、アカウントの所有者の権限を割り当てる必要があります。そのため、特定のコンテナ内のファイルのみにアクセスさせたいような要望を満たすことができません。

     この問題に対してSASという機能が有効です。SASはコンテナーやブロブ単位でアクセスを制御することが可能です。使用するためには次のような記述を行います。

    // ブロブの取得
    var blob = container.GetBlobReference("test.txt");
    // SASの設定
    var sas = blob.GetSharedAccessSignature(new SharedAccessPolicy()
        {
            // 権限の設定
            Permissions = SharedAccessPermissions.Read
                            |SharedAccessPermissions.Write,
            // 権限の有効期間の設定(5分間は有効)
            SharedAccessExpiryTime = DateTime.UtcNow + TimeSpan.FromMinutes(5)
        });
    // SAS設定済みのURIを表示
    Console.WriteLine(blob.Uri.AbsoluteUri + sas);
    

     Development Storageを使用してSASを設定した場合は次のようになります。

     SASを設定しない場合は、次のようなURIとなります。これは、アカウント所有者のみがアクセス可能な設定となっていた場合、アカウント所有者以外はアクセスできません。

    http://127.0.0.1:10000/devstoreaccount1/testcontainer/test.txt
    

     一方、SASを設定した場合は、クエリ文字列が付与された次のようなURIになり、アカウント所有者のみがアクセス可能な設定となっていた場合も、このURIを知る人がアクセス可能になります。

    http://127.0.0.1:10000/devstoreaccount1/testcontainer/test.txt?se=2010-10-31T14%3A19%3A10Z&sr=b&sp=rw&sig=RBTIS5DnpbxWwv2ku7X0kzfyqmcMcx6NW3Q6s9nnOr0%3D
    

     これによりアカウント所有者の権限を付与しなくても特定の人達に特定のコンテナーのみにアクセスを許可することが可能です。

12)Multiple Storage Access Keys

  • 質問:

     ストレージサービスのアカウントキーが複数あるのはなぜですか?[初級][管理]

  • 回答:

     アプリケーションで使用しているキーを変更する際に、アプリケーションを停止させずに変更するためです。

  • 解説:

     Windows Azureのストレージサービスに対して無制限でアクセスするためにはアカウントキーをアプリケーションに設定する必要があります。現在、このアカウントキーはプライマリとセカンダリの2つが用意されています。一般的にアプリケーションはプライマリのアカウントキーをサービス設定ファイルに設定します。

     例えばアカウントキーがプライマリのみしかない場合、アプリケーションを一旦停止させた上で、アカウントキーを再作成して反映させた上で、アプリケーションを再起動しなければいけません。

     一方、アカウントキーが2つある場合は、まずアプリケーションに設定されているアカウントキーをセカンダリに切り替えた上で、サービスを止めずにプライマリのアカウントキーを再作成します。そして、再度プライマリにアカウントキーを戻すことで変更が完了します。そのため、アプリケーションを停止する必要がありません。

     このような運用を意図して2つのアカウントキーが用意されているようです。

13)CDN over HTTPS?

  • 質問:

     AzureのCDN(Contents Delivery Network)ではHTTPSが使えますか?[初級][仕様]

  • 回答:

     現在は使用できません。

  • 解説:

     CDNとは、ネットワーク経由でデータを大量配信するためのネットワークです。キャッシュ技術の使用やネットワークの各地にデータ配信ポイント(エッジサーバ)が用意することにより高速でのデータ配信が可能になります。ストレージサービスで提供されていて東京にもエッジサーバが用意されてます。この機能を使用することで画像データ等の通信遅延が発生するようなデータなどが高速で配信されて、世界中のかなりの場所に対して平等にデータ配信が可能になります。また、Silverlightのxapファイルなどを配置することで高速でサービス提供が可能になるなど使い方は発想次第です。

     ただし現在はHTTPでのアクセスのみがサポートされていて、HTTPSでのアクセスはサポートされていないので注意が必要です(今後サポート予定です)。

14)Antivirus in Windows Azure

  • 質問:

     Windows Azureではウイルス対策が必要ですか?[中級][管理]

  • 回答:

     必要ありません。

  • 解説:

     フォーラムでは必要ないと断言していますが、現在は実装されていないため必要です。しかし、今後実装予定で実装後はユーザーの対処が必要なくなるため、将来的に必要がなくなるということです。

     では、現状での対処についてですが、オンプレミスのようにサーバにウイルス対策ソフトをインストールできないため特殊な対処が必要になります。フォーラムの当該スレッドではスタンドアロンで動作してコマンドラインで動作するウイルス対策ソフトをワーカーロールで動作させることを提案されていて、Norman Malware Cleanerが紹介されていました。ただし、提案者も実際には試してみたことがないそうです。

次のページ
15)Best method to Count() in ATS

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Windows Azure Tips - 米国MSDNフォーラムウォッチング連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト bird982000(bird982000)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5596 2010/12/13 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング