Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Azure Microsoft

Azure StorageでSASトークン発行時の「使用できるリソースの種類」の意味について

投稿日:2023年5月14日 更新日:

 

<目次>

(1) Azure StorageでSASトークン発行時の「使用できるリソースの種類」の意味について
 (1-1) 知りたいこと
 (1-2) 「使用できるリソースの種類」の説明
 (1-3) まとめ

(1) Azure StorageでSASトークン発行時の「使用できるリソースの種類」の意味について

(1-1) 知りたいこと

・Azure StorageでSASトークン発行時に「使用できるリソースの種類」という選択肢があり「サービス」「コンテナ」「オブジェクト」が選べるが、それぞれの意味を知りたい。
・また、Azure Machine Learningで機械学習の処理でストレージアカウントを操作する際に「どれを選べばよいか?」を理解したい。
(図100)

目次にもどる

(1-2) 「使用できるリソースの種類」の説明

サービス、コンテナ、オブジェクトのそれぞれの違いを説明。
(表1)
権限 説明
使用できるリソースの種類
∟サービス
■概要
サービスレベルのAPIを意味する。
(例)サービスのプロパティの取得/操作
(例)サービスのステータス取得
(例)BLOB/キュー/テーブル/ファイル共有の一覧取得

■無い場合のエラー(例:Azure Machineの場合)

使用できるリソースの種類
∟コンテナ
■概要
コンテナレベルのAPIを意味する。
単語が紛らわしいですが「BLOBコンテナ」の意味ではなく、BLOB/キュー/テーブル/ファイル共有の4つを総称した呼称。

(例)BLOBのCREATE/DELETE操作
(例)キューのCREATE/DELETE操作
(例)テーブルのCREATE/DELETE操作
(例)ファイル共有のCREATE/DELETE操作
(例)ファイルやディレクトリの一覧取得

■無い場合のエラー(例:Azure Machineの場合)
PermissionError: [Errno 13] Permission denied: ‘/mnt/azureml/cr/j/cfb8f05a271c470cbc42ce0e9c2eadbc/cap/data-capability/wd/INPUT_data_folder’

⇒Azure MLの場合、Notebook処理を実行するCPU/ストレージとは別に、モデルの学習処理やデプロイなどはDockerコンテナ上で実行しています。そのDockerコンテナイメージもまたAzure Storage(BLOB)上に保持されているため、このようなエラーが起きるものと推察。

使用できるリソースの種類
∟オブジェクト
■概要
オブジェクトレベルのAPIを意味する。
(例)「BLOB」へのPUT処理
(例)「キュー」内の「メッセージ」の読み取り
(例)「テーブル」の中にある「エンティティ」の読み取り
(例)「ファイル共有」内の「ファイルやディレクトリ」の作成操作

■無い場合のエラー(例:Azure Machineの場合)
DataAccessError(PermissionDenied(None))

(図121)無い場合のエラー

目次にもどる

(1-3) まとめ

「使用できるリソースの種類」は「BLOB/キュー/テーブル/ファイル共有」の4つのサービスについて「どのレベルでのAPI操作を許容するか?」を設定するものです。
よって、上記4つのサービス自体を作成・削除したい場合は「コンテナレベルのAPI」が必要です。
そうではなく、単に中のファイルやメッセージを操作したい場合は「オブジェクトレベルのAPI」でOKです。
このように、実現したい処理に応じて、SASトークンの権限を細かく制御する事が可能です。

Adsense審査用広告コード


Adsense審査用広告コード


-Azure, Microsoft
-

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Azure FunctionsでPythonのライブラリを追加する方法(依存関係解決)

  <目次> (1) Azure FunctionsでPythonのライブラリを追加する方法(依存関係解決)  (1-1) requirement.txtの設定手順  (1-2) 補足事項 …

Azureリソースグループの作り方の手順について

  <目次> (1) Azureリソースグループの作り方の手順について  (1-1) Azureリソースグループとは?  (1-2) Azureリソースグループの作成手順  (1-3) Az …

AzureでNo hosted parallelism has been purchased or grantedエラーが発生した際の原因と対処

  <目次> (1) AzureでNo hosted parallelism has been purchased or grantedエラーが発生した際の原因と対処  (1-1) 事象   …

Exchange Onlineとは?

  <目次> (1) Exchange Onlineとは?  (1-1) 概要/特徴  (1-2) Exchange Onlineを使える人は?  (1-3) Exchange Online …

Azure Machine Learningで「Failed to pull Docker image」が出る原因と対処法について

  <目次> (1) Azure Machine Learningで「Failed to pull Docker image」が出る原因と対処法について  (1-1) エラー概要  (1-2 …

  • English (United States)
  • 日本語
Top