記事検索

検索ワードを入力してください。
Sky Tech Blog
【Azure】共有アクセス署名を​利用した​アクセス権の​限定化

【Azure】共有アクセス署名を​利用した​アクセス権の​限定化

Azure Storageの共有アクセス署名(SAS)は、キーを共有せずリソースへのアクセス許可を限定的に発行する仕組みです。操作、期間、IPアドレス、プロトコルを制限でき、アカウントSAS、サービスSAS、ユーザー委任SASの3種類があります。セキュリティのため、有効期限の短期化や最小限の権限設定などのベストプラクティスが推奨されます。

Azure Storageでは、リソースに対して時間や実行権限を限定して提供するための仕組みが用意されています。
これは共有アクセス署名、Shared Access Signature(以下SAS)と呼ばれ、Azure Storageのキーを共有することなく外部のユーザーやサービスに対して特定のリソースに絞ってアクセス許可を発行することができます。

設定可能な​制限

主に制限が可能な範囲は以下の通りです。

1. 操作への​制限

読み取りや書き込み、削除といったリソースに対する操作についての制限をかけることが可能です。
必要最小限の権限を提供することでセキュリティの強化へ貢献します。

2. 期間に​対する​制限

操作が可能な期間を設定することが可能です。
有効期限だけでなく、開始日時についても設定が可能となっています。
期限が過ぎるとアクセスが拒否されるようになるため、一時的なアクセス制限を通してリソースを安全に共有することができます。

3. IPアドレスに​よる​制限

特定のIPアドレスに限定してSASを使用可能にすることができます。

4. プロトコルに​よる​制限

HTTPSプロトコルを使用したアクセスのみを許可することができます。
データの安全な転送が実現可能です。

SASの​種類

SASには3つの種類があり、これらの特性を活かしてユースケースに応じて使い分けることが可能です。

1. アカウントSAS

Azure Storage内の複数サービスにわたるリソースへのアクセス権を提供するSASです。
Blob、Queue、Table、Filesといったサービス全てへのアクセス権を付与することが可能です。
Azure Storage内の複数タイプのリソースに対してアクセス権を委任できるため、Azure Storageアカウントレベルでのアクセス制御が可能となります。

2. サービスSAS

Azure Storage内の特定のサービス(Blob、Queue、Table、Files)に対してアクセス権を提供するSASです。
単一のBlobやコンテナといった、アクセス範囲をより限定化して権限を委任することができます。

3. ユーザー委任SAS

Blob Storage、及びData Lake Storageに対して使用されるSASです。
アカウントSAS、サービスSASがストレージアカウントキーを使用して生成されるのに対して、ユーザー委任SASはAzure Active Directoryの認証と承認を使用して生成されます。
生成するユーザーのアイデンティティに基づいてリソースへのアクセス権を委任できるため、より細かなアクセス許可の設定が可能となっています。

ベストプラクティス

上記のようなSASの性質をふまえ、利用の際には下記点を踏まえるのが良いとされています。

  • 有効期限を短期間に設定する
    →使用が想定される期間のみ有効になるよう設定することで、リスクを最小限に抑えることができます。
  • できるだけユーザー委任SASを使用する
    →ストレージキーではなく、Azure Active Directoryの認証情報を使用することでアクセス権限がより細分化され、セキュリティの向上に寄与します。
  • HTTPSを使用する
    →第三者に傍受されないよう、常にHTTPSを使用した発行が望ましいです。
  • 最小限の権限を設定する
    →必要最低限の権限を付与することで、意図せぬ侵害等の脅威に備えることができます。

さい​ごに

大変便利な機能である一方で、使い方を誤ると重大なインシデントを発生させる可能性も十分にあります。
安全に取り扱えるよう、これらの特性を踏まえたうえで使用していくことが推奨されます。


\シェアをお願いします!/
  • X
  • Facebook
  • LINE
キャリア採用募集中!

入社後にスキルアップを目指す若手の方も、ご自身の経験を幅広いフィールドで生かしたいベテランの方も、お一人おひとりの経験に応じたキャリア採用を行っています。

Sky株式会社のソフトウェア開発や製品、採用に関するお問い合わせについては、下記のリンクをご確認ください。
お問い合わせ
ホーム