Dela via


Ange kö-ACL

Den Set Queue ACL åtgärden anger lagrade åtkomstprinciper för kön som kan användas med en SAS (signatur för delad åtkomst). Mer information finns i Definiera en lagrad åtkomstprincip.

Not

Åtgärden Set Queue ACL är tillgänglig i version 2012-02-12 och senare.

Begäran

Du kan skapa Set Queue ACL begäran enligt följande. Vi rekommenderar att du använder HTTPS. Ersätt myaccount- med namnet på ditt lagringskonto:

Metod Begärande-URI HTTP-version
PUT https://myaccount.queue.core.windows.net/myqueue?comp=acl HTTP/1.1

Emulerad lagringstjänstbegäran

När du gör en begäran mot den emulerade lagringstjänsten anger du emulatorns värdnamn och kötjänstporten som 127.0.0.1:10001följt av namnet på det emulerade lagringskontot:

Metod Begärande-URI HTTP-version
PUT http://127.0.0.1:10001/devstoreaccount1/myqueue?comp=acl HTTP/1.1

Mer information finns i Använda Azurite-emulatorn för lokal Azure Storage-utveckling.

URI-parametrar

Du kan ange följande ytterligare parametrar på begärande-URI:n:

Parameter Beskrivning
timeout Valfri. Parametern timeout uttrycks i sekunder. Mer information finns i Ange tidsgränser för kötjänståtgärder.

Begärandehuvuden

De obligatoriska och valfria begäranderubrikerna beskrivs i följande tabell:

Begärandehuvud Beskrivning
Authorization Krävs. Anger auktoriseringsschema, kontonamn och signatur. Mer information finns i Auktorisera begäranden till Azure Storage.
Date eller x-ms-date Krävs. Anger UTC (Coordinated Universal Time) för begäran. Mer information finns i Auktorisera begäranden till Azure Storage.
x-ms-version Valfri. Anger vilken version av åtgärden som ska användas för den här begäran. Mer information finns i Versionshantering för Azure Storage-tjänsterna.
x-ms-client-request-id Valfri. Tillhandahåller ett klientgenererat, täckande värde med en kibibytesteckengräns (KiB) som registreras i loggarna när loggningen konfigureras. Vi rekommenderar starkt att du använder det här huvudet för att korrelera aktiviteter på klientsidan med begäranden som servern tar emot. Mer information finns i Övervaka Azure Queue Storage.

Begärandetext

Ange en lagrad åtkomstprincip genom att ange en unik identifierare och åtkomstprincip i begärandetexten för den Set Queue ACL åtgärden.

Elementet SignedIdentifier innehåller den unika identifieraren, som anges i Id-elementet, och information om åtkomstprincipen enligt AccessPolicy-elementet. Den maximala längden på den unika identifieraren är 64 tecken.

Fälten Start och Expiry måste uttryckas som UTC-tider och måste följa ett giltigt ISO 8061-format. ISO 8061-format som stöds innehåller följande:

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

För datumdelen av dessa format är YYYY en fyrsiffrig årsrepresentation, MM är en tvåsiffrig månadsrepresentation och DD är en tvåsiffrig dagrepresentation. För tidsdelen är hh timrepresentationen i 24-timmars notation, mm är den tvåsiffriga minutrepresentationen, ss är den tvåsiffriga andra representationen och ffffff är den sexsiffriga millisekundersrepresentationen. En tidsdesignare T separerar datum- och tidsdelarna i strängen, och en tidszonsdesignator TZD anger en tidszon.

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

Exempelbegäran

Request Syntax:  
PUT https://myaccount.queue.core.windows.net/myqueue?comp=acl HTTP/1.1  
  
Request Headers:  
x-ms-version: 2012-02-12  
x-ms-date: Sun, 25 Sep 2011 00:42:49 GMT  
Authorization: SharedKey myaccount:V47F2tYLS29MmHPhiR8FyiCny9zO5De3kVSF0RYQHmo=  
  
Request Body:  
<?xml version="1.0" encoding="utf-8"?>  
<SignedIdentifiers>  
  <SignedIdentifier>   
    <Id>MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI=</Id>  
    <AccessPolicy>  
      <Start>2009-09-28T08:49:37.0000000Z</Start>  
      <Expiry>2009-09-29T08:49:37.0000000Z</Expiry>  
      <Permission>raup</Permission>  
    </AccessPolicy>  
  </SignedIdentifier>  
</SignedIdentifiers>  
  

Svar

Svaret innehåller en HTTP-statuskod och en uppsättning svarshuvuden.

Statuskod

En lyckad åtgärd returnerar statuskoden 204 (inget innehåll).

Mer information om statuskoder finns i Status och felkoder.

Svarshuvuden

Svaret för den här åtgärden innehåller följande rubriker. Svaret kan också innehålla ytterligare standard-HTTP-huvuden. Alla standardhuvuden överensstämmer med HTTP/1.1-protokollspecifikationen.

Svarsrubrik Beskrivning
x-ms-request-id Identifierar unikt den begäran som gjordes och kan användas för att felsöka begäran. Mer information finns i Felsöka API-åtgärder.
x-ms-version Anger den kötjänstversion som användes för att köra begäran. Det här huvudet returneras för begäranden som gjordes mot version 2009-09-19 och senare.
Date Ett UTC-datum/tid-värde som genereras av tjänsten, vilket anger den tid då svaret initierades.
x-ms-client-request-id Det här huvudet kan användas för att felsöka begäranden och motsvarande svar. Värdet för det här huvudet är lika med värdet för x-ms-client-request-id-huvudet om det finns i begäran och värdet inte innehåller fler än 1 024 synliga ASCII-tecken. Om den x-ms-client-request-id rubriken inte finns i begäran visas den inte i svaret.

Exempelsvar

Response Status:  
HTTP/1.1 204 No Content  
  
Response Headers:  
Transfer-Encoding: chunked  
Date: Sun, 25 Sep 2011 22:42:55 GMT  
x-ms-version: 2012-02-12  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
  

Tillstånd

Auktorisering krävs när du anropar en dataåtkomståtgärd i Azure Storage. Du kan auktorisera Set Queue ACL åtgärden med hjälp av Microsoft Entra-ID eller delad nyckel.

För att auktorisera den Set Queue ACL åtgärden med hjälp av Microsoft Entra-ID behöver säkerhetsobjektet en anpassad Azure RBAC-roll som innehåller följande RBAC-åtgärd: Microsoft.Storage/storageAccounts/queueServices/queues/setAcl/action.

Viktig

Microsoft rekommenderar att du använder Microsoft Entra-ID med hanterade identiteter för att auktorisera begäranden till Azure Storage. Microsoft Entra-ID ger överlägsen säkerhet och användarvänlighet jämfört med auktorisering av delad nyckel.

Anmärkningar

När du anger behörigheter för en kö ersätts de befintliga behörigheterna. Om du vill uppdatera köns behörigheter anropar du Get Queue ACL för att hämta alla åtkomstprinciper som är associerade med kön. Ändra den åtkomstprincip som du vill ändra och anropa sedan Set Queue ACL med den fullständiga uppsättningen data för att utföra uppdateringen.

Upprätta lagrade åtkomstprinciper

En lagrad åtkomstprincip kan ange starttid, förfallotid och behörigheter för signaturer för delad åtkomst som den är associerad med. Beroende på hur du vill styra åtkomsten till köresursen kan du ange alla dessa parametrar i den lagrade åtkomstprincipen och utelämna dem från URL:en för signaturen för delad åtkomst. Genom att göra det kan du ändra den associerade signaturens beteende när som helst eller återkalla den. Eller så kan du ange en eller flera åtkomstprincipparametrar i den lagrade åtkomstprincipen och de andra på URL:en. Slutligen kan du ange alla parametrar på URL:en. I det här fallet kan du använda den lagrade åtkomstprincipen för att återkalla signaturen, men inte ändra dess beteende. Mer information om hur du upprättar åtkomstprinciper finns i Definiera en lagrad åtkomstprincip.

Tillsammans måste signaturen för delad åtkomst och den lagrade åtkomstprincipen innehålla alla fält som krävs för att auktorisera signaturen. Om några obligatoriska fält saknas misslyckas begäran. På samma sätt misslyckas begäran med statuskod 400 (felaktig begäran) om ett fält anges både i url:en för signatur för delad åtkomst och i den lagrade åtkomstprincipen.

Som mest kan fem separata åtkomstprinciper ställas in för en enskild kö när som helst. Om fler än fem åtkomstprinciper skickas i begärandetexten returnerar tjänsten statuskod 400 (felaktig begäran).

När du upprättar en lagrad åtkomstprincip i en kö kan det ta upp till 30 sekunder att börja gälla. Under det här intervallet misslyckas en signatur för delad åtkomst som är associerad med den lagrade åtkomstprincipen med statuskoden 403 (Förbjuden) tills åtkomstprincipen blir aktiv.

Se även

Definiera en lagrad åtkomstprincip
Hämta kö-ACL
Auktorisera begäranden till Azure Storage
Status- och felkoder