ACL voor delen instellen

Met Set Share ACL de bewerking wordt een opgeslagen toegangsbeleid ingesteld voor gebruik met handtekeningen voor gedeelde toegang. Zie Beperkte toegang verlenen tot Azure Storage-resources met behulp van handtekeningen voor gedeelde toegang voor meer informatie over het instellen van toegangsbeleid.

Protocol beschikbaarheid

Bestandsshareprotocol ingeschakeld Beschikbaar
SMB Ja
NFS No

Aanvraag

U kunt de Set Share ACL aanvraag als volgt samenstellen. We raden HTTPS aan. Vervang myaccount door de naam van uw opslagaccount.

Methode Aanvraag-URI HTTP-versie
PUT https://myaccount.file.core.windows.net/myshare?restype=share&comp=acl HTTP/1.1

URI-parameters

U kunt de volgende aanvullende parameters opgeven voor de aanvraag-URI:

Parameter Beschrijving
timeout Optioneel. De timeout parameter wordt uitgedrukt in seconden. Zie Time-outs instellen voor Azure Files bewerkingen voor meer informatie.

Aanvraagheaders

In de volgende tabel worden vereiste en optionele aanvraagheaders beschreven:

Aanvraagheader Beschrijving
Authorization Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storage voor meer informatie.
x-ms-version Vereist voor alle geautoriseerde aanvragen. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. Deze bewerking is alleen beschikbaar in versie 21-02-2015 en hoger.

Zie Versiebeheer voor de Azure Storage-services voor meer informatie.
x-ms-client-request-id Optioneel. Biedt een door de client gegenereerde, ondoorzichtige waarde met een limiet van 1 kibibyte (KiB) die wordt vastgelegd in de Opslaganalyse logboeken wanneer logboekregistratie is geconfigureerd. We raden u ten zeerste aan deze header te gebruiken om activiteiten aan de clientzijde te correleren met aanvragen die de server ontvangt. Zie Azure Blob Storage bewaken voor meer informatie.
x-ms-lease-id:<ID> Vereist als de doelbestandsshare een actieve lease heeft. Beschikbaar voor versie 2020-02-10 en hoger. Als de aanvraag de lease-id niet bevat of niet geldig is, mislukt de bewerking met statuscode 412 (Voorwaarde is mislukt).

Als deze header is opgegeven en de doelbestandsshare momenteel geen actieve lease heeft, mislukt de bewerking met statuscode 412 (Voorwaarde mislukt).

Aanvraagbody

Als u een opgeslagen toegangsbeleid wilt opgeven, geeft u een unieke id en toegangsbeleid op in de aanvraagbody voor de Set Share ACL bewerking.

Het SignedIdentifier -element bevat de unieke id, zoals opgegeven in het Id -element. SignedIdentifier bevat ook de details van het toegangsbeleid, zoals opgegeven in het AccessPolicy -element. De maximale lengte van de unieke id is 64 tekens.

De Start velden en Expiry moeten worden uitgedrukt in UTC-tijden en moeten voldoen aan een geldige ISO 8061-indeling. Ondersteunde ISO 8061-indelingen zijn onder andere:

  • YYYY-MM-DD
  • YYYY-MM-DDThh:mmTZD
  • YYYY-MM-DDThh:mm:ssTZD
  • YYYY-MM-DDThh:mm:ss.fffffffTZD

Voor het datumgedeelte van deze notaties YYYY is een jaarweergave van vier cijfers, MM een maandweergave van twee cijfers en DD een tweecijferige dagweergave. Voor het tijdgedeelte hh is de uurweergave in 24-uursnotatie, mm is de tweecijferige minuutweergave, ss is de tweede weergave van twee cijfers en fffffff is de weergave van zeven milliseconden. De tijd-aantekening T scheidt de datum- en tijdgedeelten van de tekenreeks. De tijdzone-aanduiding TZD geeft een tijdzone op.

<?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>  

Voorbeeldaanvraag

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>  

Antwoord

Het antwoord bevat een HTTP-statuscode en een set antwoordheaders.

Statuscode

Een geslaagde bewerking retourneert statuscode 200 (OK).

Antwoordheaders

Het antwoord voor deze bewerking bevat de volgende headers. Het antwoord kan ook extra standaard-HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Antwoordheader Beschrijving
ETag Retourneert de datum en tijd waarop de container voor het laatst is gewijzigd. De datumnotatie volgt RFC 1123. Zie Weergave van datum/tijd-waarden in kopteksten voor meer informatie.
Last-Modified Elke bewerking die de share of de eigenschappen of metagegevens wijzigt, wordt de laatste wijzigingstijd bijgewerkt, inclusief het instellen van de machtigingen van het bestand. Bewerkingen op bestanden hebben geen invloed op de laatste wijzigingstijd van de share.
x-ms-request-id Identificeert op unieke wijze de aanvraag die is gedaan en kan worden gebruikt voor het oplossen van problemen met de aanvraag. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version Geeft de versie van Azure Files aan die is gebruikt om de aanvraag uit te voeren.
Date of x-ms-date Een UTC-datum/tijd-waarde die het tijdstip aangeeft waarop de service het antwoord heeft verzonden.
x-ms-client-request-id Kan worden gebruikt om problemen met aanvragen en bijbehorende antwoorden op te lossen. De waarde van deze header is gelijk aan de waarde van de x-ms-client-request-id header, als deze aanwezig is in de aanvraag en de waarde maximaal 1024 zichtbare ASCII-tekens is. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze header niet aanwezig in het antwoord.

Voorbeeldantwoord

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  

Autorisatie

Alleen de accounteigenaar kan deze bewerking aanroepen.

Opmerkingen

Alleen de accounteigenaar heeft toegang tot resources in een bepaalde share, tenzij aan een van de volgende voorwaarden wordt voldaan:

  • De eigenaar heeft opgegeven dat shareresources beschikbaar zijn voor openbare toegang door de machtigingen voor de share in te stellen.
  • De eigenaar heeft een Shared Access Signature uitgegeven voor een resource in de share.

Wanneer u machtigingen instelt voor een container, worden de bestaande machtigingen vervangen. Als u de machtigingen van de container wilt bijwerken, roept u ACL Voor delen ophalen aan om alle toegangsbeleidsregels op te halen die aan de container zijn gekoppeld. Wijzig het toegangsbeleid dat u wilt wijzigen en roep Set Share ACL vervolgens aan met de volledige set gegevens om de update uit te voeren.

Toegangsbeleid op shareniveau instellen

Een opgeslagen toegangsbeleid kan de begintijd, verlooptijd en machtigingen opgeven voor de handtekeningen voor gedeelde toegang waaraan het is gekoppeld. Afhankelijk van hoe u de toegang tot uw share of bestandsresource wilt beheren, kunt u het volgende doen:

  • Geef al deze parameters op binnen het opgeslagen toegangsbeleid en laat ze weg uit de URL voor de Shared Access Signature. Als u dit doet, kunt u het gedrag van de bijbehorende handtekening op elk gewenst moment wijzigen of intrekken.
  • Geef een of meer van de parameters voor het toegangsbeleid in het opgeslagen toegangsbeleid op en geef de andere parameters op de URL op.
  • Geef alle parameters op de URL op. In dit geval kunt u het opgeslagen toegangsbeleid gebruiken om de handtekening in te trekken, maar niet om het gedrag ervan te wijzigen.

Zie Beperkte toegang verlenen tot Azure Storage-resources met behulp van handtekeningen voor gedeelde toegang voor meer informatie over het instellen van toegangsbeleid.

Samen moeten de shared access signature en het opgeslagen toegangsbeleid alle velden bevatten die nodig zijn om de handtekening te autoriseren. Als er vereiste velden ontbreken, mislukt de aanvraag. Als er een veld is opgegeven in zowel de HANDTEKENING-URL voor gedeelde toegang als in het opgeslagen toegangsbeleid, mislukt de aanvraag met statuscode 400 (Ongeldige aanvraag). Zie Een shared access signature gebruiken voor meer informatie over de velden waaruit een Shared Access Signature bestaat.

U kunt op elk gewenst moment maximaal vijf afzonderlijke toegangsbeleidsregels instellen voor een share. Als er meer dan vijf toegangsbeleidsregels worden doorgegeven in de aanvraagbody, retourneert de service statuscode 400 (Ongeldige aanvraag).

Een shared access signature kan worden uitgegeven voor een share of een bestand, ongeacht of containergegevens beschikbaar zijn voor anonieme leestoegang. Een shared access signature biedt meer controle over hoe, wanneer en voor wie een resource toegankelijk wordt gemaakt.

U kunt geen toegangsbeleid instellen of ophalen voor een momentopname van een share. Als u een toegangsbeleid probeert in te stellen, retourneert de service statuscode 400 (InvalidQueryParameterValue).

Notitie

Wanneer u een opgeslagen toegangsbeleid instelt voor een container, kan het tot 30 seconden duren voordat het van kracht wordt. Tijdens dit interval mislukt een shared access signature die is gekoppeld aan het opgeslagen toegangsbeleid met statuscode 403 (Verboden), totdat het toegangsbeleid actief wordt.

Zie ook

Bewerkingen op Bestandsshare-resources (Azure Files)