BLOB 不変ポリシーを設定する
この操作により Set Blob Immutability Policy
、BLOB に不変ポリシーが設定されます。 この操作では、BLOB の ETag は更新されません。 この API は、バージョン 2020-06-12 以降で使用できます。
要求
Set Blob Immutability Policy
要求の構成は次のとおりです。 HTTPS を使用することをお勧めします。
myaccount はストレージ アカウントの名前に、myblob は不変ポリシーを変更する BLOB 名に置き換えます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
PUT |
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies |
HTTP/1.1 |
URI パラメーター
次の追加パラメーターを要求 URI に指定できます。
パラメーター | 説明 |
---|---|
snapshot |
省略可能。 スナップショット パラメーターは不透明DateTime な値であり、存在する場合は、階層を設定する BLOB スナップショットを指定します。 BLOB スナップショットの操作の詳細については、「BLOB のスナップショットをCreateする」を参照してください。 |
versionid |
バージョン 2019-12-12 以降では省略可能です。 パラメーターは versionid 不透明 DateTime な値であり、存在する場合は、階層を設定する BLOB のバージョンを指定します。 |
timeout |
省略可能。
timeout パラメーターは、秒単位で表されます。 詳細については、「 Blob Storage 操作のタイムアウトを設定する」を参照してください。 |
要求ヘッダー
必須の要求ヘッダーと省略可能な要求ヘッダーを次の表に示します。
要求ヘッダー | 説明 |
---|---|
Authorization |
必須。 承認スキーム、ストレージ アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
Date または x-ms-date |
必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
x-ms-immutability-policy-until-date |
必須。 BLOB に設定される 保持期間 を示します。 これは、BLOB が変更または削除されないように保護できる日付です。 BLOB ストレージまたは汎用 v2 アカウントの場合、有効な値はRFC1123形式です。 過去の時刻は無効です。 |
x-ms-immutability-policy-mode |
省略可能。 指定しない場合、既定値は です Unlocked 。 BLOB に設定する不変ポリシー モードを示します。 BLOB ストレージまたは汎用 v2 アカウントの場合、有効な値は です Unlocked /Locked 。
unlocked は、ユーザーが リテンション期間 を日付まで増減することによってポリシーを変更する可能性があることを示します。
locked は、これらのアクションが禁止されていることを示します。 |
x-ms-version |
すべての承認された要求に必要です。 この要求に使用する操作のバージョンを指定します。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。 |
x-ms-client-request-id |
省略可能。 ログ記録の構成時にログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「Azure Blob Storageの監視」を参照してください。 |
この操作では、条件付きヘッダーを使用して、指定した条件が満たされた場合にのみ BLOB を設定することもできます。 詳細については、「 Blob Storage 操作の条件付きヘッダーを指定する」を参照してください。
要求本文
[なし] :
Response
応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。
status code
操作に成功すると、状態コード 200 (OK) が返されます。
状態コードの詳細については、「 状態とエラー コード」を参照してください。
応答ヘッダー
この操作の応答には、以下のヘッダーが含まれます。 応答に追加の標準 HTTP ヘッダーが含まれる場合もあります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
応答ヘッダー | 説明 |
---|---|
x-ms-request-id |
行われた要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。 |
x-ms-version |
要求の実行に使用された Blob Storage のバージョンを示します。 バージョン 2009-09-19 以降に対して行われた要求に対して返されます。 |
x-ms-client-request-id |
要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値 x-ms-client-request-id は、要求に存在し、値に 1,024 文字以下の ASCII 文字が含まれている場合、ヘッダーの値と同じです。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、応答には存在しません。 |
x-ms-immutability-policy-until-date |
BLOB に設定する 保持期間 の日付を示します。 これは、BLOB が変更または削除されないように保護できる日付です。 |
x-ms-immutability-policy-mode |
BLOB に設定されている不変ポリシー モードを示します。 値は unlocked と locked です。 値はunlocked 、 ユーザーが保持期間 の日付を増減することによってポリシーを変更する可能性があることを示し locked 、これらのアクションが禁止されていることを示します。 |
承認
Azure Storage でデータ アクセス操作を呼び出す場合は、承認が必要です。 操作は、以下で Set Blob Immutability Policy
説明するように承認できます。
重要
Microsoft では、マネージド ID でMicrosoft Entra IDを使用して、Azure Storage への要求を承認することをお勧めします。 Microsoft Entra IDは、共有キーの承認と比較して優れたセキュリティと使いやすさを提供します。
Azure Storage では、Microsoft Entra ID を使用して BLOB データへの要求を承認することがサポートされています。 Microsoft Entra IDでは、Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、セキュリティ プリンシパルにアクセス許可を付与できます。 セキュリティ プリンシパルには、ユーザー、グループ、アプリケーション サービス プリンシパル、または Azure マネージド ID を指定できます。 セキュリティ プリンシパルは、OAuth 2.0 トークンを返すためにMicrosoft Entra IDによって認証されます。 その後、そのトークンを、Blob service に対する要求を認可するために使用できます。
Microsoft Entra IDを使用した承認の詳細については、「Microsoft Entra IDを使用して BLOB へのアクセスを承認する」を参照してください。
アクセス許可
Microsoft Entraユーザー、グループ、マネージド ID、またはサービス プリンシパルが操作を呼び出Set Blob Immutability Policy
すために必要な RBAC アクションと、このアクションを含む最小特権の組み込み Azure RBAC ロールを次に示します。
- Azure RBAC アクション:Microsoft.Storage/storageAccounts/blobServices/containers/blobs/immutableStorage/runAsSuperUser/action
- 最小特権の組み込みロール:ストレージ BLOB データ所有者
Azure RBAC を使用したロールの割り当ての詳細については、「 BLOB データにアクセスするための Azure ロールの割り当て」を参照してください。
注釈
BLOB ストレージまたは汎用 v2 アカウントに BLOB の不変性ポリシーを設定すると、次の制限があります。
- rest バージョン 2020-06-12 では、スナップショットまたはバージョンに不変ポリシーを設定できます。
- 不変ポリシーがモードの
unlocked
場合、ユーザーは 保持期間 を日付まで更新できます。 不変ポリシーがモードのlocked
場合、ユーザーは 保持期間 を日付まで延長できます。 不変ポリシー モードは からunlocked
にlocked
変更できますが、 からlocked
にunlocked
変更することはできません。 - BLOB に不変性ポリシーがあり、コンテナーまたはアカウントに既定の不変性ポリシーもある場合は、BLOB 不変性ポリシーが優先されます。
- BLOB レベルの不変性ポリシーの場合、
PutBlockList/PutBlob/CopyBlob
これらの操作によって新しいバージョンが生成されるため、操作が許可されます。 - 不変ポリシーがモードの
unlocked
場合、ユーザーは次の API を使用して不変ポリシーを削除できます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
Delete |
https://myaccount.blob.core.windows.net/mycontainer/myblob?comp=immutabilityPolicies |
HTTP/1.1 |
注意
詳細については、「 不変ストレージ」を参照してください。
請求
価格要求は、Blob Storage REST API を介して直接、または Azure Storage クライアント ライブラリを介して Blob Storage API を使用するクライアントから送信できます。 これらの要求では、トランザクションあたりの料金が発生します。 トランザクションの種類は、アカウントの課金方法に影響します。 たとえば、読み取りトランザクションは、書き込みトランザクションとは異なる課金カテゴリに計上されます。 次の表は、ストレージ アカウントの種類に基づく要求の課金カテゴリ Set Blob Immutability Policy
を示しています。
操作 | ストレージ アカウントの種類 | 課金カテゴリ |
---|---|---|
BLOB 不変ポリシーを設定する | Premium ブロック BLOB Standard 汎用 v2 Standard 汎用 v1 |
その他の操作 |
指定した課金カテゴリの価格については、「Azure Blob Storage価格」を参照してください。
こちらもご覧ください
Azure Storage への要求を承認する
状態コードとエラー コード
Blob Storage のエラー コード
Blob Storage 操作のタイムアウトを設定する