Tabel-ACL instellen
Met de bewerking Set Table ACL
stelt u het opgeslagen toegangsbeleid in voor de tabel die kan worden gebruikt met handtekeningen voor gedeelde toegang. Zie Een opgeslagen toegangsbeleid definiërenvoor 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 geeft de toegangsrechten op toegestaan, geweigerd of gecontroleerd voor die beheerder. Zie Toegangsbeheerlijstenvoor meer informatie.
Verzoek
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 op basis van 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 De Azurite-emulator gebruiken voor lokale Azure Storage-ontwikkelingvoor meer informatie.
URI-parameters
U kunt de volgende aanvullende parameters opgeven voor de aanvraag-URI:
Parameter | Beschrijving |
---|---|
timeout |
Facultatief. Uitgedrukt in seconden. Zie Time-outs instellen voor Table Storage-bewerkingenvoor meer informatie. |
Aanvraagheaders
In de volgende tabel worden de 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 Storagevoor meer informatie. |
Date of x-ms-date |
Vereist. Hiermee geeft u de Coordinated Universal Time (UTC) voor de aanvraag. Zie Aanvragen autoriseren voor Azure Storagevoor meer informatie. |
x-ms-version |
Facultatief. Hiermee geeft u de versie van de bewerking die moet worden gebruikt voor deze aanvraag. Zie Versiebeheer voor de Azure Storage-servicesvoor meer informatie. |
x-ms-client-request-id |
Facultatief. Biedt een door de client gegenereerde, ondoorzichtige waarde met een tekenlimiet van 1 kibibyte (KiB) die wordt vastgelegd in de Storage Analytics-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 element SignedIdentifier
bevat de unieke id, zoals opgegeven in het Id
-element.
SignedIdentifier
bevat ook de details van het toegangsbeleid, zoals opgegeven in het element AccessPolicy
. De maximale lengte van de unieke id is 64 tekens.
De velden Start
en Expiry
moeten worden uitgedrukt als UTC-tijden en moeten voldoen aan een geldige ISO 8061-indeling. Ondersteunde ISO 8061-indelingen zijn:
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 YYYY
een jaarweergave van vier cijfers, MM
een maandweergave van twee cijfers is en DD
een dagweergave van twee cijfers is. Voor het tijdgedeelte is hh
de uurweergave in de notatie van 24 uur, mm
de weergave van twee cijfers is, ss
de tweede weergave van twee cijfers is en ffffff
de zescijferige milliseconden vertegenwoordigt. De tijdsontwerper T
scheidt de datum- en tijdgedeelten van de tekenreeks. De tijdzone-ontwerper 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 foutcodesvoor 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 | Beschrijving |
---|---|
x-ms-request-id |
Identificeer de aanvraag die is gedaan, uniek. U kunt deze ook gebruiken om problemen met de aanvraag op te lossen. Zie Problemen met API-bewerkingen oplossenvoor 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 op basis van versie 2009-09-19 en hoger. |
Date |
Een UTC-datum/tijd-waarde die de tijd 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 bevat. 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
Machtiging
Autorisatie is vereist bij het aanroepen van een bewerking voor gegevenstoegang in Azure Storage. U kunt de Set Table ACL
bewerking autoriseren met behulp van Microsoft Entra ID of Gedeelde sleutel.
Als u de Set Table ACL
-bewerking wilt autoriseren met behulp van Microsoft Entra ID, heeft de beveiligingsprincipaal een aangepaste Azure RBAC-rol nodig die de volgende RBAC-actie bevat: Microsoft.Storage/storageAccounts/tableServices/tables/setAcl/action
.
Belangrijk
Microsoft raadt aan om Microsoft Entra ID met beheerde identiteiten te gebruiken om aanvragen voor Azure Storage te autoriseren. Microsoft Entra ID biedt superieure beveiliging en gebruiksgemak in vergelijking met autorisatie van gedeelde sleutels.
Opmerkingen
Wanneer u machtigingen voor een tabel instelt, worden de bestaande machtigingen vervangen. Als u de machtigingen van de tabel wilt bijwerken, roept u tabel-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
aan met de volledige set gegevens om de update uit te voeren.
Opgeslagen toegangsbeleid tot stand brengen
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. Hierdoor kunt u het gedrag van de bijbehorende handtekening wijzigen of op elk gewenst moment intrekken.
- Geef een of meer van de toegangsbeleidsparameters op binnen het opgeslagen toegangsbeleid en geef de andere parameters op de URL op.
- Geef alle parameters op voor de URL. 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ërenvoor meer informatie over het tot stand brengen van toegangsbeleid.
Samen moeten de handtekening voor gedeelde toegang en het opgeslagen toegangsbeleid alle velden bevatten die nodig zijn om de handtekening te autoriseren. Als er vereiste velden ontbreken, mislukt de aanvraag. Als een veld is opgegeven in de shared access signature URL en in het opgeslagen toegangsbeleid, mislukt de aanvraag met statuscode 400 (Ongeldige aanvraag). Zie Een SAS-service makenvoor meer informatie over de velden die een handtekening voor gedeelde toegang opstellen.
U kunt op elk gewenst moment maximaal vijf afzonderlijke toegangsbeleidsregels instellen voor een tabel. Als er meer dan vijf toegangsbeleidsregels worden doorgegeven in de aanvraagbody, retourneert de service statuscode 400 (Ongeldige aanvraag).
Notitie
Wanneer u een opgeslagen toegangsbeleid voor een tabel tot stand brengt, 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 403 (Verboden) totdat het toegangsbeleid actief wordt.
Zie ook
Een opgeslagen toegangsbeleid definiëren
Een Shared Access Signature- maken en gebruiken
Toegang delegeren met een Shared Access Signature-
Tabel-ACL ophalen
aanvragen autoriseren voor Azure Storage
status en foutcodes