Tabel-ACL instellen

Met Set Table ACL de bewerking stelt u het opgeslagen toegangsbeleid in voor de tabel die kan worden gebruikt met Shared Access Signatures. 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 vermeldingen voor toegangsbeheer (ACE). Elke ACE in een ACL identificeert een beheerder en specificeert de toegangsrechten die zijn toegestaan, geweigerd of gecontroleerd voor die beheerder. Zie lijsten Access Control voor meer informatie.

Aanvraag

De Set Table ACL aanvraag kan als volgt worden samengesteld. HTTPS wordt aanbevolen. 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 Storage Service-URI

Wanneer u een aanvraag indient voor de geëmuleerde opslagservice, geeft u de hostnaam van de emulator en de Table-servicepoort op als , gevolgd door de geëmuleerde 127.0.0.1:10002 opslagaccountnaam:

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

Zie Differences Between the Storage Emulator and Azure Storage Services (Verschillen tussen de Storage Emulator en Azure Storage Services) voor meer informatie.

URI-parameters

De volgende aanvullende parameters kunnen worden opgegeven op de aanvraag-URI.

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

Aanvraagheaders

In de volgende tabel worden de vereiste en optionele aanvraagheaders beschreven.

Aanvraagkoptekst Description
Authorization Vereist. Hiermee geeft u het autorisatieschema, de accountnaam en de handtekening op. Zie Aanvragen voor toegang tot Azure Storage voor meer Azure Storage.
Date of x-ms-date Vereist. Geef de Coordinated Universal Time (UTC) op voor de aanvraag. Zie Aanvragen voor toegang tot Azure Storage voor meer Azure Storage.
x-ms-version Optioneel. Hiermee geeft u de versie van de bewerking moet worden gebruikt voor deze aanvraag. Zie Versioning for the Azure Storage Services (Versie 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 KiB die wordt vastgelegd in de analyselogboeken wanneer logboekregistratie van opslaganalyse is ingeschakeld. Het gebruik van deze header wordt ten zeerste aanbevolen voor het correleren van activiteiten aan clientzijde met aanvragen die door de server worden ontvangen. Zie About Storage Analytics Logging and Azure Logging: Using Logs to Track Storage Requests voor meer informatie.

Aanvraagbody

Als u een opgeslagen toegangsbeleid wilt opgeven, geeft u een unieke id en een uniek toegangsbeleid op in de aanvraag body voor de Set Table ACL bewerking.

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

De Start velden en moeten worden uitgedrukt als Expiry 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 is een jaarweergave van vier cijfers, een maandweergave van twee cijfers en een representatie van twee YYYY MM cijfers per DD dag. Voor het tijdgedeelte is de uurweergave hh in 24-uurs notatie, is de representatie van twee cijfers per minuut, is de tweede representatie van twee cijfers en is de weergave van zes mm ss ffffff milliseconden. Een tijdontwerpator scheidt de datum- en tijdgedeelten van de tekenreeks, terwijl een T tijdzone-ontwerpator TZD een tijdzone specificeert.

<?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 aanvullende standaard HTTP-headers bevatten. Alle standaardheaders voldoen aan de HTTP/1.1-protocolspecificatie.

Antwoordheader Description
x-ms-request-id Deze header identificeert op unieke manier de aanvraag die is gemaakt 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 aan van de Table-service die wordt gebruikt om de aanvraag uit te voeren. Deze header wordt geretourneerd voor aanvragen voor versie 2009-09-19 en hoger.
Date Een UTC-datum/tijd-waarde die wordt gegenereerd door de service die de tijd aangeeft waarop het antwoord is gestart.
x-ms-client-request-id Deze header 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 header als deze aanwezig is in de aanvraag en de waarde uit ten beste x-ms-client-request-id 1024 zichtbare ASCII-tekens bestaat. Als de x-ms-client-request-id header niet aanwezig is in de aanvraag, is deze header niet aanwezig in het antwoord.

Voorbeeldreactie

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 voor een resource in de tabel heeft uitgegeven.

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

Opgeslagen toegangsbeleid tot stand brengen

Een opgeslagen toegangsbeleid kan de begintijd, verlooptijd en machtigingen opgeven voor de Shared Access Signatures waaraan het is gekoppeld. Afhankelijk van hoe u de toegang tot uw tabelresource wilt controleren, kunt u al deze parameters opgeven in het opgeslagen toegangsbeleid en deze weglaten uit de URL voor de Shared Access Signature. Als u dit doet, kunt u het gedrag van de bijbehorende handtekening op elk moment wijzigen en de handtekening intrekken. U kunt ook een of meer van de parameters van het toegangsbeleid opgeven in het opgeslagen toegangsbeleid en de andere parameters op de URL. Ten slotte kunt u alle parameters op de URL opgeven. 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 opstellen van toegangsbeleid.

Samen moeten de Shared Access Signature en het opgeslagen toegangsbeleid alle velden bevatten die nodig zijn om de handtekening te autorsbeleid te autor maken. Als er vereiste velden ontbreken, mislukt de aanvraag. En als een veld wordt opgegeven in zowel de SHARED ACCESS SIGNATURE-URL als in het opgeslagen toegangsbeleid, mislukt de aanvraag met statuscode 400 (Slechte aanvraag). Zie Create a service SAS (Een service-SAS maken) voor meer informatie over de velden waar een sas Shared Access Signature.

Houd er rekening mee dat er op elk moment ten beste vijf afzonderlijke toegangsbeleidsregels kunnen worden ingesteld voor een bepaalde tabel. Als er meer dan vijf toegangsbeleidsregels worden doorgegeven in de aanvraag body, retourneert de service statuscode 400 (Bad Request).

Notitie

Wanneer u een opgeslagen toegangsbeleid voor een tabel tot stand hebt brengen, kan het tot 30 seconden duren voordat het van kracht wordt. Tijdens dit interval mislukt een handtekening voor gedeelde toegang die is gekoppeld aan het opgeslagen toegangsbeleid met statuscode totdat het 403 (Forbidden) toegangsbeleid actief wordt.

Zie ook

Een opgeslagen toegangsbeleid definiëren
Een Shared Access Signature
Toegang delegeren met een shared access signature
Tabel-ACL's krijgen
Aanvragen voor Azure Storage
Status- en foutcodes