共有 ACL の設定
この操作により Set Share ACL
、共有アクセス署名で使用する格納されたアクセス ポリシーが設定されます。 アクセス ポリシーの設定の詳細については、「 共有アクセス署名を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。
プロトコルの可用性
有効なファイル共有プロトコル | 利用可能 |
---|---|
SMB | |
NFS |
要求
要求は Set Share ACL
次のように構築できます。 HTTPS をお勧めします。
myaccount をストレージ アカウントの名前に置き換えます。
Method | 要求 URI | HTTP バージョン |
---|---|---|
PUT | https://myaccount.file.core.windows.net/myshare?restype=share&comp=acl |
HTTP/1.1 |
URI パラメーター
次の追加パラメーターを要求 URI に指定できます。
パラメーター | 説明 |
---|---|
timeout |
省略可能。
timeout パラメーターは、秒単位で表されます。 詳細については、「Azure Files操作のタイムアウトを設定する」を参照してください。 |
要求ヘッダー
次の表では、必須および省略可能な要求ヘッダーについて説明します。
要求ヘッダー | 説明 |
---|---|
Authorization |
必須。 承認スキーム、アカウント名、署名を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
Date または x-ms-date |
必須。 要求に対して協定世界時 (UTC) を指定します。 詳細については、「Azure Storage への要求を承認する」をご覧ください。 |
x-ms-version |
すべての承認された要求に必要です。 この要求に使用する操作のバージョンを指定します。 この操作は、バージョン 2015-02-21 以降でのみ使用できます。 詳細については、「Azure Storage サービスのバージョン管理」を参照してください。 |
x-ms-client-request-id |
省略可能。 ログ記録の構成時にStorage Analytics ログに記録される 1 kibibyte (KiB) 文字制限を使用して、クライアントによって生成された不透明な値を提供します。 このヘッダーを使用して、クライアント側のアクティビティとサーバーが受信する要求を関連付けるよう強くお勧めします。 詳細については、「Azure Blob Storageの監視」を参照してください。 |
x-ms-lease-id:<ID> |
コピー先のファイル共有にアクティブなリースがある場合は必須です。 バージョン 2020-02-10 以降で使用できます。 要求にリース ID が含まれていないか、有効でない場合、状態コード 412 (前提条件が失敗) で操作が失敗します。 このヘッダーが指定されていて、コピー先のファイル共有に現在アクティブなリースがない場合、操作は状態コード 412 (前提条件に失敗) で失敗します。 |
要求本文
保存されているアクセス ポリシーを指定するには、Set Share ACL
操作の要求本文で一意識別子とアクセス ポリシーを指定します。
要素には SignedIdentifier
、 要素で指定されている一意の識別子が Id
含まれます。
SignedIdentifier
には、 要素で指定されているアクセス ポリシーの AccessPolicy
詳細も含まれます。 一意識別子の最大長は 64 文字です。
フィールドと Expiry
フィールドは Start
UTC 時刻で表され、有効な ISO 8061 形式に準拠している必要があります。 サポートされている ISO 8061 形式は次のとおりです。
YYYY-MM-DD
YYYY-MM-DDThh:mmTZD
YYYY-MM-DDThh:mm:ssTZD
YYYY-MM-DDThh:mm:ss.fffffffTZD
これらの形式の日付部分では、YYYY
は 4 桁の年表現、MM
は 2 桁の月表現、DD
は 2 桁の日付表現です。 時間部分では、hh
は 24 時間表記の時間表現、mm
は 2 桁の分表現、ss
は 2 桁の秒表現、fffffff
は 7 桁のミリ秒表現です。 時刻指定子 T
は、文字列の日付と時刻の部分を区切ります。 タイム ゾーン指定子 TZD
は、タイム ゾーンを指定します。
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>unique-64-character-value</Id>
<AccessPolicy>
<Start>start-time</Start>
<Expiry>expiry-time</Expiry>
<Permission>abbreviated-permission-list</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
要求のサンプル
Request Syntax:
PUT https://myaccount.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1
Request Headers:
x-ms-version: 2015-02-21
x-ms-date: <date>
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=
Request Body:
<?xml version="1.0" encoding="utf-8"?>
<SignedIdentifiers>
<SignedIdentifier>
<Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>
<AccessPolicy>
<Start>2015-07-01T08:49:37.0000000Z</Start>
<Expiry>2015-07-02T08:49:37.0000000Z</Expiry>
<Permission>rwd</Permission>
</AccessPolicy>
</SignedIdentifier>
</SignedIdentifiers>
Response
応答には、HTTP 状態コードおよび一連の応答ヘッダーが含まれています。
状態コード
操作に成功すると、状態コード 200 (OK) が返されます。
応答ヘッダー
この操作の応答には、次のヘッダーが含まれています。 応答には、追加の標準 HTTP ヘッダーも含まれる場合があります。 すべての標準ヘッダーは 、HTTP/1.1 プロトコル仕様に準拠しています。
応答ヘッダー | 説明 |
---|---|
ETag |
コンテナーが最後に変更された日時を返します。 日付形式は RFC 1123 に従います。 詳細については、「 ヘッダーでの日付/時刻値の表現」を参照してください。 |
Last-Modified |
共有またはそのプロパティまたはメタデータを変更する操作は、ファイルのアクセス許可の設定を含め、最終変更時刻を更新します。 ファイルに対する操作は、共有の最終変更時刻には影響しません。 |
x-ms-request-id |
行われた要求を一意に識別し、要求のトラブルシューティングに使用できます。 詳細については、「 API 操作のトラブルシューティング」を参照してください。 |
x-ms-version |
要求の実行に使用されたAzure Filesのバージョンを示します。 |
Date または x-ms-date |
サービスが応答を送信した時刻を示す UTC 日付/時刻値。 |
x-ms-client-request-id |
要求と対応する応答のトラブルシューティングに使用できます。 このヘッダーの値は、要求に存在し、その値 x-ms-client-request-id が最大 1,024 文字の可視 ASCII 文字である場合、ヘッダーの値と同じです。 ヘッダーが x-ms-client-request-id 要求に存在しない場合、このヘッダーは応答に存在しません。 |
応答のサンプル
Response Status:
HTTP/1.1 200 OK
Response Headers:
Transfer-Encoding: chunked
Date: <date>
ETag: "0x8CB171613397EAB"
Last-Modified: <date>
x-ms-version: 2015-02-21
Server: Windows-Azure-File/1.0 Microsoft-HTTPAPI/2.0
承認
この操作を呼び出すことができるのは、アカウント所有者だけです。
注釈
次のいずれかの条件が当てはまる場合を除き、アカウント所有者のみが特定の共有内のリソースにアクセスできます。
- 所有者は、共有に対するアクセス許可を設定することで、共有リソースをパブリック アクセスに使用できるように指定しました。
- 所有者は、共有内のリソースに対して共有アクセス署名を発行しました。
コンテナーのアクセス許可を設定すると、既存のアクセス許可が置換されます。 コンテナーのアクセス許可を更新するには、 Get Share ACL を 呼び出して、コンテナーに関連付けられているすべてのアクセス ポリシーをフェッチします。 変更するアクセス ポリシーを変更し、完全なデータ セットを使用して を呼び出 Set Share ACL
して更新を実行します。
共有レベルのアクセス ポリシーの確立
保存されているアクセス ポリシーでは、関連付けられている共有アクセス署名の開始時刻、有効期限、アクセス許可を指定できます。 共有またはファイル リソースへのアクセスを制御する方法に応じて、次のことができます。
- 格納されているアクセス ポリシー内でこれらのパラメーターをすべて指定し、共有アクセス署名の URL から省略します。 これにより、関連付けられている署名の動作を変更したり、いつでも取り消したりすることができます。
- 格納されているアクセス ポリシー内の 1 つ以上のアクセス ポリシー パラメーターを指定し、URL に他のパラメーターを指定します。
- URL のすべてのパラメーターを指定します。 この場合、格納されているアクセス ポリシーを使用して署名を取り消すことができますが、その動作を変更することはできません。
アクセス ポリシーの設定の詳細については、「 共有アクセス署名を使用して Azure Storage リソースへの制限付きアクセスを許可する」を参照してください。
共有アクセス署名と格納されているアクセス ポリシーには、署名を承認するために必要なすべてのフィールドを含める必要があります。 必須フィールドが欠落している場合、要求は失敗します。 同様に、共有アクセス署名 URL と格納されているアクセス ポリシーの両方でフィールドが指定されている場合、要求は状態コード 400 (無効な要求) で失敗します。 共有アクセス署名を作成するフィールドの詳細については、「Shared Access Signature を 使用する」を参照してください。
1 つの共有に対して、いつでも最大 5 つの個別のアクセス ポリシーを設定できます。 要求本文で 5 つ以上のアクセス ポリシーが渡された場合、サービスは状態コード 400 (無効な要求) を返します。
共有アクセス署名は、コンテナー データが匿名読み取りアクセスに使用できるかどうかに関係なく、共有またはファイルで発行できます。 共有アクセス署名を使用すると、リソースをアクセス可能にする方法、タイミング、およびユーザーをより詳細に制御できます。
共有スナップショットのアクセス ポリシーを設定または取得することはできません。 アクセス ポリシーを設定しようとすると、サービスは状態コード 400 (InvalidQueryParameterValue) を返します。
注意
コンテナーに格納されているアクセス ポリシーを確立すると、有効になるまでに最大 30 秒かかる場合があります。 この期間中、保存されているアクセス ポリシーに関連付けられている共有アクセス署名は、アクセス ポリシーがアクティブになるまで、状態コード 403 (禁止) で失敗します。