共有アクセス署名(SAS)

開発者のための Azure セキュリティ実装

Anushika Agarwal

Cloud Data Engineer

共有アクセス署名とは?

  • ストレージリソースへの限定的なアクセスを許可します
  • ストレージアカウントキーを公開しません

SAS

開発者のための Azure セキュリティ実装

たとえ話:自動販売機のトークンとしてのSAS

  • トークンの有効期限は限られた時間のみ(例:30秒)

  • トークンが許可するのは特定の操作のみ(例:コーラ1本)

SAS 自動販売機の例

開発者のための Azure セキュリティ実装

SASはどのように保護されるのか?

  • ストレージアカウントキーで署名

ストレージアカウントキー

  • またはMicrosoft Entra IDで署名

Microsoft Entra ID

開発者のための Azure セキュリティ実装

SASの種類

  • ユーザー委任SAS
    • Microsoft Entra資格情報を使用
    • BlobとData Lake Storageで利用可能

SASトークン

  • サービスSAS
    • ストレージアカウントキーを使用
    • 単一サービス(Blob、Queue、Table、File)へのアクセス
  • アカウントSAS
    • ストレージアカウントキーを使用
    • 複数サービスへのアクセス
    • サービスレベルの操作
開発者のための Azure セキュリティ実装

実際のシナリオ

  • シナリオ:

    • PeopleSphereが給与レポートを外部監査人と共有
  • SASの種類: ユーザー委任SAS

  • 範囲を限定したアクセス:

    • 監査人は必要なレポートのみ閲覧可能
  • 期限付き:

    • アクセスは自動的に失効
  • 安全な認証:

    • PeopleSphereのAzure資格情報

ユーザー委任SAS

開発者のための Azure セキュリティ実装

SASの構造を理解する

SASの構成要素

  1. URI - リソースパス
  2. トークン - アクセスルールと署名

SASトークン

開発者のための Azure セキュリティ実装

トークンの構成要素

SASトークン

  • sp:権限(例:r = 読み取り、w = 書き込み)
  • st / se:開始時刻と有効期限
  • spr:プロトコル(例:httpsのみ)
  • sr:リソースタイプ(b = blob、f = file)
  • sv:ストレージAPIバージョン
  • sig:検証に使用する署名
開発者のための Azure セキュリティ実装

SASを利用する際の推奨事項

  • 常にHTTPSを使用

  • ユーザー委任SASを優先
  • 有効期限を短く設定

短い有効期限

  • 最小限の権限を付与

最小限のアクセス権限を付与

  • リスクの高いアクセスにはSASを使用しない

機密性の高いデータ

開発者のための Azure セキュリティ実装

練習しましょう!

開発者のための Azure セキュリティ実装

Preparing Video For Download...