Tabel-ACL instellen

Met Set Table ACL de bewerking stelt u het opgeslagen toegangsbeleid voor de tabel in dat kan worden gebruikt met handtekeningen voor gedeelde toegang. Zie Een opgeslagen toegangsbeleid definiëren voor meer informatie.

Notitie

De Set Table ACL bewerking is beschikbaar in versie 2012-02-12 en hoger.

Notitie

Een toegangsbeheerlijst (ACL) is een lijst met toegangsbeheervermeldingen (ACL's). Elke ACE in een ACL identificeert een beheerder en specificeert de toegangsrechten die zijn toegestaan, geweigerd of gecontroleerd voor die beheerder. Zie Toegangsbeheerlijsten voor meer informatie.

Aanvraag

U kunt de Set Table 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.table.core.windows.net/mytable?comp=acl HTTP/1.1

Geëmuleerde opslagservice-URI

Wanneer u een aanvraag indient voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en de Azure Table Storage-poort op als 127.0.0.1:10002. Voeg vervolgens de naam van het geëmuleerde opslagaccount toe.

Methode Aanvraag-URI HTTP-versie
PUT http://127.0.0.1:10002/devstoreaccount1/mytable?comp=acl HTTP/1.1

Zie Use the Azurite emulator for local Azure Storage development (De Azurite-emulator gebruiken voor lokale Azure Storage-ontwikkeling) voor meer informatie.

URI-parameters

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

Parameter Beschrijving
timeout Optioneel. Uitgedrukt in seconden. Zie Time-outs instellen voor Table Storage-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 Optioneel. Hiermee geeft u de versie van de bewerking te gebruiken voor deze aanvraag. 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.

Aanvraagbody

Als u een opgeslagen toegangsbeleid wilt opgeven, geeft u een unieke id en toegangsbeleid op in de aanvraagbody voor de Set Table 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.ffffffTZD

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 minutenweergave van twee cijfers, ss is de tweede weergave van twee cijfers en ffffff is de weergave van zes 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.table.core.windows.net/mytable?comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2013-08-15  
x-ms-date: Mon, 25 Nov 2013 00:42:49 GMT  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2013-11-26T08:49:37.0000000Z</Start>  
      <Expiry>2013-11-27T08:49:37.0000000Z</Expiry>  
      <Permission>raud</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Antwoord

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

Statuscode

Een geslaagde bewerking retourneert statuscode 204 (Geen inhoud).

Zie Status- en foutcodes voor meer informatie over statuscodes.

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
x-ms-request-id Identificeert op unieke wijze de aanvraag die is gedaan. U kunt deze ook gebruiken om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossen voor meer informatie.
x-ms-version Geeft de versie van Table Storage aan die wordt gebruikt om de aanvraag uit te voeren. Deze header wordt geretourneerd voor aanvragen die zijn gedaan in versie 2009-09-19 en hoger.
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 204 No Content  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Mon, 25 Nov 2013 22:42:55 GMT  
x-ms-version: 2013-08-15  
Server: Windows-Azure-Table/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 tabel, tenzij de eigenaar een shared access signature heeft uitgegeven voor een resource in de tabel.

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

Opgeslagen toegangsbeleid 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 Een opgeslagen toegangsbeleid definiëren 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. Op dezelfde manier mislukt de aanvraag met statuscode 400 (Ongeldige aanvraag) als er een veld is opgegeven in zowel de SHARED Access Signature-URL als in het opgeslagen toegangsbeleid. Zie Een service-SAS maken 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 tabel. Als er meer dan vijf toegangsbeleidsregels worden doorgegeven in de hoofdtekst van de aanvraag, retourneert de service statuscode 400 (Ongeldige aanvraag).

Notitie

Wanneer u een opgeslagen toegangsbeleid instelt voor een tabel, 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

Opgeslagen toegangsbeleid definiëren
Een shared access signature maken en gebruiken
Toegang delegeren met een handtekening voor gedeelde toegang
Tabel-ACL ophalen
Aanvragen autoriseren voor Azure Storage
Status en foutcodes