3

SQLデータベースをバックアップしてクラウドストレージに保存するバックアップサービスを作成しています。私は実際にこれをAmazonS3ですでに実装していますが、アプリケーションが顧客に配布されるため、アプリケーションと一緒にAPIキーを保存することはできません。Webサービスを使用してキーを提供することを検討しましたが、現時点では最善の選択肢ではありません(キーが盗まれる可能性が残っているため)。

そこで、BlobServiceであるWindowsAzureを調べたところ、クラウド内のリソースへのアクセスを提供するために使用できるこれらの共有アクセス署名があることがわかりました。署名を使用して、BLOBをクラウドに配置することもできます。しかし、 MSDNドキュメントを読んで、これは安全でないシステムだと思わずにはいられません。1.私のアカウントのコンテナの正確な名前と2.署名の作成方法を知っている人なら誰でも、オブジェクトにアクセスできるようになります。この署名を使用する場合、秘密鍵は必要ありません。少なくとも、それはドキュメントを読んだ私の印象です。

最後に私の質問に。Azureとの共有アクセス署名の評価が正しいのですか、そうでない場合は、なぜですか?そして、誰かが私が達成しようとしていることを行うための別の方法を提案できますか?

4

1 に答える 1

6

共有アクセスシグニチャは、特定のコンテナまたは特定のBLOBのいずれかでスコープを設定できます。次に、付与するアクセス許可(読み取り、書き込み、ブロブの一覧表示)を指定し、有効期間を指定できます。

SASを作成する唯一の方法は、ストレージキーを用意することですが、SASを持っている人は誰でも、SASを使用して許可されていることを実行できます。

すべての顧客がblobを作成できるようにしたいが、読み取らないようにしたいようです。その場合、書き込み権限のみを指定するSASでうまくいくはずです。

しかし、個々の顧客による使用を制限(または計測)したいと思いますか?その場合、サーバー上でアクティブなもの(Webサービス?)が必要になる可能性があります。これにより、各使用が許可され、その操作を可能にする特定の有効期限の短いSASが生成されます。次に、使用ごとに追跡して請求できます。

于 2010-06-24T16:40:32.563 に答える