Een SAS voor gebruikersdelegatie maken
Belangrijk
Voor optimale beveiliging raadt Microsoft aan om Microsoft Entra ID met beheerde identiteiten te gebruiken om aanvragen te autoriseren voor blob-, wachtrij- en tabelgegevens, indien mogelijk. Autorisatie met Microsoft Entra ID en beheerde identiteiten biedt superieure beveiliging en gebruiksgemak ten opzichte van autorisatie van gedeelde sleutels. Zie Autoriseren met Microsoft Entra IDvoor meer informatie. Zie Wat zijn beheerde identiteiten voor Azure-resourcesvoor meer informatie over beheerde identiteiten.
Voor resources die buiten Azure worden gehost, zoals on-premises toepassingen, kunt u beheerde identiteiten gebruiken via Azure Arc. Apps die worden uitgevoerd op servers met Azure Arc kunnen bijvoorbeeld beheerde identiteiten gebruiken om verbinding te maken met Azure-services. Zie Verifiëren bij Azure-resources met servers met Azure Arcvoor meer informatie.
U kunt een SAS-token (Shared Access Signature) beveiligen voor toegang tot een container, map of blob met behulp van Microsoft Entra-referenties of een accountsleutel. Een SAS die is beveiligd met Microsoft Entra-referenties wordt een gebruikersdelegering SAS genoemd. Als best practice voor beveiliging raden we u aan microsoft Entra-referenties te gebruiken wanneer dat mogelijk is, in plaats van de accountsleutel, die gemakkelijker kan worden aangetast. Wanneer voor uw toepassingsontwerp handtekeningen voor gedeelde toegang zijn vereist, gebruikt u Microsoft Entra-referenties om een SAS voor gebruikersdelegatie te maken om de beveiliging te verbeteren.
Elke SAS is ondertekend met een sleutel. Als u een SAS voor gebruikersdelegering wilt maken, moet u eerst een gebruikersdelegeringssleutel aanvragen, die u vervolgens gebruikt om de SAS te ondertekenen. De gebruikersdelegatiesleutel is vergelijkbaar met de accountsleutel die wordt gebruikt voor het ondertekenen van een service-SAS of een account-SAS, behalve dat deze afhankelijk is van uw Microsoft Entra-referenties. Als u de gebruikersdelegeringssleutel wilt aanvragen, roept u de Delegeringssleutel ophalen aan bewerking. Vervolgens kunt u de gebruikersdelegeringssleutel gebruiken om de SAS te maken.
Een SAS voor gebruikersdelegering wordt ondersteund voor Azure Blob Storage en Azure Data Lake Storage. Opgeslagen toegangsbeleid wordt niet ondersteund voor een SAS voor gebruikersdelegering.
Waarschuwing
Handtekeningen voor gedeelde toegang zijn sleutels die machtigingen verlenen voor opslagbronnen en u moet deze beveiligen net zoals u een accountsleutel zou beveiligen. Het is belangrijk om een SAS te beschermen tegen schadelijk of onbedoeld gebruik. Gebruik discretie bij het distribueren van een SAS en een plan voor het intrekken van een gecompromitteerde SAS. Bewerkingen die gebruikmaken van handtekeningen voor gedeelde toegang moeten alleen worden uitgevoerd via een HTTPS-verbinding en handtekening-URI's voor gedeelde toegang mogen alleen worden gedistribueerd op een beveiligde verbinding, zoals HTTPS.
Zie Een SERVICE-SAS- maken en Een SAS-account makenvoor meer informatie over het gebruik van uw accountsleutel om een SAS te beveiligen.
SAS-ondersteuning voor gebruikersdelegering voor toegang in directorybereik
Een SAS voor gebruikersdelegering ondersteunt directorybereik (sr=d
) wanneer de autorisatieversie (sv
) 2020-02-10 of hoger is en een hiërarchische naamruimte (HNS) is ingeschakeld. De semantiek voor mapbereik (sr=d
) is vergelijkbaar met containerbereik (sr=c
), behalve dat de toegang is beperkt tot een map en bestanden en submappen erin. Wanneer sr=d
is opgegeven, is ook de sdd
queryparameter vereist.
De tekenreeks-naar-tekenindeling voor autorisatieversie 2020-02-10 is ongewijzigd.
SAS-ondersteuning voor gebruikersdelegatie voor een gebruikers-OID
SAS voor gebruikersdelegering ondersteunt een optionele OID (User Object Identifier) die wordt uitgevoerd in de parameter saoid
of suoid
wanneer de autorisatieversie (sv
) 2020-02-10 of hoger is. De parameters saoid
en suoid
komen overeen met de beveiligingsprincipaal voor de eindgebruiker die de SAS gebruikt en bieden een uitgebreid autorisatiemodel voor clusterworkloads voor meerdere gebruikers, zoals Hadoop en Spark.
SAS-tokens kunnen worden beperkt tot een specifieke bestandssysteembewerking en -gebruiker, die een minder kwetsbaar toegangstoken biedt dat veiliger is om te distribueren over een cluster met meerdere gebruikers. Een use case voor deze functies is de integratie van het Hadoop ABFS-stuurprogramma met Apache Ranger.
Zie Een ondertekende gebruikersobject-id opgevenvoor meer informatie over de optionele saoid
en suoid
parameters.
Een SAS voor gebruikersdelegering autoriseren
Wanneer een client toegang heeft tot een Blob Storage-resource met een SAS voor gebruikersdelegatie, wordt de aanvraag bij Azure Storage geautoriseerd met de Microsoft Entra-referenties die zijn gebruikt om de SAS te maken. De toegang van de client tot de resource wordt bepaald door de volgende machtigingen:
- De RBAC-machtigingen (op rollen gebaseerd toegangsbeheer) die worden verleend aan de Microsoft Entra-beveiligingsprincipaal die de gebruikersdelegatiesleutel heeft aangevraagd.
- De MACHTIGINGEN voor de POSIX-toegangsbeheerlijst (ACL) die worden verleend aan de beveiligingsprincipaal die de gebruikersdelegeringssleutel heeft aangevraagd. Deze extra controle treedt alleen op wanneer RBAC-machtigingen geen toegang kunnen verlenen en alleen wanneer hiërarchische naamruimte is ingeschakeld voor het opslagaccount.
- De machtigingen die expliciet worden verleend op het SAS-token.
Deze aanpak biedt een extra beveiligingsniveau en helpt u te voorkomen dat u uw accounttoegangssleutel moet opslaan met uw toepassingscode. Om deze redenen is het maken van een SAS met behulp van Microsoft Entra-referenties een aanbevolen procedure voor beveiliging.
De machtigingen die zijn verleend aan een client die de SAS bezit, zijn het snijpunt van de machtigingen die zijn verleend aan de beveiligingsprincipaal die de gebruikersdelegatiesleutel heeft aangevraagd en de machtigingen die aan de resource op het SAS-token zijn verleend met behulp van het veld signedPermissions
(sp
). Als een machtiging die is verleend aan de beveiligingsprincipal via RBAC of POSIX ACL's niet ook wordt verleend aan het SAS-token, wordt die machtiging niet verleend aan de client die de SAS probeert te gebruiken voor toegang tot de resource. Wanneer u een SAS voor gebruikersdelegering maakt, moet u ervoor zorgen dat de machtigingen die zijn verleend via RBAC- en POSIX-ACL's en de machtigingen die via het SAS-token worden verleend, beide overeenkomen met het toegangsniveau dat door de client is vereist.
Ga als volgt te werk om een SAS voor gebruikersdelegering te maken:
- Gebruik RBAC- of POSIX-ACL's om de gewenste machtigingen te verlenen aan de beveiligingsprincipal die de gebruikersdelegatiesleutel aanvraagt.
- Een OAuth 2.0-token verkrijgen van Microsoft Entra-id.
- Gebruik het token om de gebruikersdelegeringssleutel aan te vragen door de bewerking Gebruikersdelegeringssleutel ophalen aan te roepen.
- Gebruik de sleutel voor gebruikersdelegering om het SAS-token samen te stellen met de juiste velden.
Machtigingen toewijzen met RBAC
De beveiligingsprincipaal die de gebruikersdelegeringssleutel aanvraagt, moet over de juiste machtigingen beschikken om dit te doen. Een Microsoft Entra ID-beveiligingsprincipaal kan een gebruiker, een groep, een service-principal of een beheerde identiteit zijn.
Als u de gebruikersdelegeringssleutel wilt aanvragen, moet u de actie Microsoft.Storage/storageAccounts/blobServices/generateUserDelegation Key toewijzen aan een beveiligingsprincipaal. De volgende ingebouwde RBAC-rollen omvatten de Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey actie, expliciet of als onderdeel van een jokertekendefinitie:
- Inzender
- Inzender voor opslagaccounts
- Inzender van opslag-blobgegevens
- Eigenaar van opslagblobgegevens
- Lezer voor opslagblobgegevens
- Storage Blob Delegator-
Omdat de bewerking Sleutel voor gebruikersdelegering ophalen op het niveau van het opslagaccount wordt uitgevoerd, moet de actie Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey actie worden bepaald op het niveau van het opslagaccount, de resourcegroep of het abonnement. Als aan de beveiligingsprincipaal een van de eerder vermelde ingebouwde rollen of een aangepaste rol is toegewezen met de Microsoft.Storage/storageAccounts/blobServices/generateUserDelegationKey actie, op het niveau van het opslagaccount, de resourcegroep of het abonnement, kan de beveiligingsprincipaal vervolgens de gebruikersdelegeringssleutel aanvragen.
Als aan de beveiligingsprincipaal een rol is toegewezen die toegang tot gegevens toestaat, maar het bereik heeft tot het niveau van een container, kunt u de Storage Blob Delegator-rol rol toewijzen aan de beveiligingsprincipaal op het niveau van het opslagaccount, de resourcegroep of het abonnement. De rol Storage Blob Delegator verleent de beveiligingsprincipaalmachtigingen om de gebruikersdelegeringssleutel aan te vragen.
Zie Autoriseren met Microsoft Entravoor meer informatie over RBAC-rollen voor Azure Storage.
Een OAuth 2.0-token verkrijgen
Als u de gebruikersdelegeringssleutel wilt ophalen, vraagt u eerst een OAuth 2.0-token aan bij Microsoft Entra-id. Geef het token op met het Bearer-schema om de aanroep naar de Delegeringssleutel ophalen bewerking te autoriseren. Zie Verificatiestromen en toepassingsscenario'svoor meer informatie over het aanvragen van een OAuth-token van Microsoft Entra-id.
De gebruikersdelegeringssleutel aanvragen
Een aanroep naar de Delegeringssleutel ophalen bewerking retourneert de sleutel als een set waarden die worden gebruikt als parameters voor het SAS-token voor gebruikersdelegering. Deze parameters worden beschreven in de Referentie voor gebruikersdelegeringssleutel ophalen en in de volgende sectie"Sas voor gebruikersdelegering maken."
Wanneer een client een gebruikersdelegeringssleutel aanvraagt met behulp van een OAuth 2.0-token, retourneert Azure Storage de sleutel voor gebruikersdelegering namens de beveiligingsprincipaal. De SAS die is gemaakt met de gebruikersdelegatiesleutel, krijgt de machtigingen die worden verleend aan de beveiligingsprincipaal.
Nadat u de sleutel voor gebruikersdelegering hebt, kunt u deze gebruiken om gedurende de levensduur van de sleutel een willekeurig aantal shared access signatures voor gebruikersdelegering te maken. De sleutel voor gebruikersdelegering is onafhankelijk van het OAuth 2.0-token dat u gebruikt om het te verkrijgen, zodat het token niet hoeft te worden vernieuwd zolang de sleutel nog geldig is. U kunt opgeven dat de sleutel geldig is gedurende een periode van maximaal zeven dagen.
Een SAS voor gebruikersdelegering maken
De volgende tabel bevat een overzicht van de velden die worden ondersteund voor een SAS-token voor gebruikersdelegering. Volgende secties bevatten aanvullende informatie over het opgeven van deze parameters.
SAS-veldnaam | SAS-tokenparameter | Vereist of optioneel | Versieondersteuning | Description |
---|---|---|---|---|
signedVersion |
sv |
Vereist | 2018-11-09 en hoger | Geeft de versie aan van de service die wordt gebruikt om het handtekeningveld samen te stellen. Het geeft ook de serviceversie op die aanvragen verwerkt die met deze SAS worden gedaan. |
signedResource |
sr |
Vereist | Alle | Hiermee geeft u op welke blob-resources toegankelijk zijn via de Shared Access Signature. |
signedStart |
st |
Optioneel | Alle | Optioneel. Het tijdstip waarop de handtekening voor gedeelde toegang geldig wordt, uitgedrukt in een van de geaccepteerde ISO 8601 UTC-indelingen. Als deze waarde wordt weggelaten, wordt de huidige UTC-tijd gebruikt als begintijd. Zie DateTime-waarden opmakenvoor meer informatie over geaccepteerde UTC-indelingen. |
signedExpiry |
se |
Vereist | Alle | Het tijdstip waarop de handtekening voor gedeelde toegang ongeldig wordt, uitgedrukt in een van de geaccepteerde ISO 8601 UTC-indelingen. Zie DateTime-waarden opmakenvoor meer informatie over geaccepteerde UTC-indelingen. |
signedPermissions |
sp |
Vereist | Alle | Geeft aan welke bewerkingen een client die de SAS bezit, op de resource kan uitvoeren. Machtigingen kunnen worden gecombineerd. |
signedIp |
sip |
Optioneel | 2015-04-05 en hoger | Hiermee geeft u een IP-adres of een inclusief bereik van IP-adressen waaruit aanvragen moeten worden geaccepteerd. Wanneer u een bereik opgeeft, moet u er rekening mee houden dat het bereik inclusief is. Alleen IPv4-adressen ondersteund. Bijvoorbeeld sip=198.51.100.0 of sip=198.51.100.10-198.51.100.20 . |
signedProtocol |
spr |
Optioneel | 2015-04-05 en hoger | Hiermee geeft u het protocol op dat is toegestaan voor een aanvraag die is gedaan met de SAS. Neem dit veld op om te vereisen dat aanvragen die zijn gedaan met het SAS-token HTTPS gebruiken. |
signedObjectId |
skoid |
Vereist | 2018-11-09 en hoger | Hiermee geeft u de object-id voor een Microsoft Entra-beveiligingsprincipaal op. Deze object-id komt overeen met de beveiligingsprincipaal die de gebruikersdelegeringssleutel heeft aangevraagd. Voordat u de bewerking autoriseert, controleert Azure Storage RBAC-machtigingen op basis van de object-id. Als RBAC-machtigingen geen toegang kunnen verlenen, controleert Azure Storage POSIX ACL-machtigingen op de object-id. |
signedTenantId |
sktid |
Vereist | 2018-11-09 en hoger | Hiermee geeft u de Microsoft Entra-tenant op waarin een beveiligingsprincipaal wordt gedefinieerd. |
signedKeyStartTime |
skt |
Vereist. | 2018-11-09 en hoger | De waarde wordt geretourneerd door de Delegeringssleutel voor gebruikers ophalen bewerking. Geeft het begin aan van de levensduur van de gebruikersdelegatiesleutel, uitgedrukt in een van de geaccepteerde ISO 8601 UTC-indelingen. Zie DateTime-waarden opmakenvoor meer informatie over geaccepteerde UTC-indelingen. |
signedKeyExpiryTime |
ske |
Vereist | 2018-11-09 en hoger | De waarde wordt geretourneerd door de Delegeringssleutel voor gebruikers ophalen bewerking. Geeft het einde van de levensduur van de gebruikersdelegeringssleutel aan, uitgedrukt in een van de geaccepteerde ISO 8601 UTC-indelingen. Zie DateTime-waarden opmakenvoor meer informatie over geaccepteerde UTC-indelingen. |
signedKeyVersion |
skv |
Vereist | 2018-11-09 en hoger | De waarde wordt geretourneerd door de Delegeringssleutel voor gebruikers ophalen bewerking. Hiermee geeft u de versie van de opslagservice op die is gebruikt om de gebruikersdelegeringssleutel op te halen. Dit veld moet versie 2018-11-09 of hoger opgeven. |
signedKeyService |
sks |
Vereist | 2018-11-09 en hoger | Geeft de service aan waarvoor de gebruikersdelegeringssleutel geldig is. Momenteel wordt alleen Blob Storage ondersteund. |
signedAuthorizedObjectId |
saoid |
Optioneel | 2020-02-10 en hoger | Hiermee geeft u de object-id van een Microsoft Entra-beveiligingsprincipaal op die is geautoriseerd door de eigenaar van de gebruikersdelegatiesleutel om de actie uit te voeren die is verleend door het SAS-token. Deze object-id komt overeen met de beveiligingsprincipaal voor de eindgebruiker van de SAS. Er wordt geen extra machtigingscontrole uitgevoerd op POSIX-toegangsbeheerlijsten (ACL's). |
signedUnauthorizedObjectId |
suoid |
Optioneel | 2020-02-10 en hoger | Hiermee geeft u de object-id voor een Microsoft Entra-beveiligingsprincipaal op wanneer een hiërarchische naamruimte is ingeschakeld. Deze object-id komt overeen met de beveiligingsprincipaal voor de eindgebruiker van de SAS. Azure Storage voert een POSIX ACL-controle uit op basis van de object-id voordat de bewerking wordt geautoriseerd. |
signedCorrelationId |
scid |
Optioneel | 2020-02-10 en hoger | Correleren van de opslagcontrolelogboeken met de auditlogboeken die worden gebruikt door de principal die de SAS genereert en distribueert. |
signedDirectoryDepth |
sdd |
Vereist wanneer sr=d |
2020-02-10 en hoger | Geeft het aantal mappen in de hoofdmap van de map aan die is opgegeven in het canonicalizedResource veld van het tekenreeks-naar-teken. |
signedEncryptionScope |
ses |
Optioneel | 2020-12-06 en hoger | Geeft het versleutelingsbereik aan dat moet worden gebruikt om de inhoud van de aanvraag te versleutelen. |
signature |
sig |
Vereist | Alle | De handtekening is een HMAC (hash-based message authentication code) die wordt berekend via de tekenreeks-naar-teken en sleutel met behulp van het SHA256-algoritme en vervolgens gecodeerd met base64-codering. |
Cache-Control antwoordheader |
rscc |
Optioneel | 2013-08-15 en hoger | Azure Storage stelt de Cache-Control antwoordheader in op de waarde die is opgegeven in het SAS-token. |
Content-Disposition antwoordheader |
rscd |
Optioneel | 2013-08-15 en hoger | Azure Storage stelt de Content-Disposition antwoordheader in op de waarde die is opgegeven in het SAS-token. |
Content-Encoding antwoordheader |
rsce |
Optioneel | 2013-08-15 en hoger | Azure Storage stelt de Content-Encoding antwoordheader in op de waarde die is opgegeven in het SAS-token. |
Content-Language antwoordheader |
rscl |
Optioneel | 2013-08-15 en hoger | Azure Storage stelt de Content-Language antwoordheader in op de waarde die is opgegeven in het SAS-token. |
Content-Type antwoordheader |
rsct |
Optioneel | 2013-08-15 en hoger | Azure Storage stelt de Content-Type antwoordheader in op de waarde die is opgegeven in het SAS-token. |
Geef het veld ondertekende versie op
Het vereiste veld signedVersion
(sv
) geeft de serviceversie op voor de handtekening voor gedeelde toegang. Deze waarde geeft de versie aan van de service die wordt gebruikt om het veld signature
samen te stellen en geeft de serviceversie op die een aanvraag verwerkt met deze handtekening voor gedeelde toegang. De waarde van het veld sv
moet versie 2018-11-09 of hoger zijn.
Het veld ondertekende resource opgeven
Het vereiste veld signedResource
(sr
) geeft aan welke resources toegankelijk zijn via de handtekening voor gedeelde toegang. In de volgende tabel wordt beschreven hoe u verwijst naar een blob-, container- of mapresource in het SAS-token:
Bron | Parameterwaarde | Ondersteunde versies | Description |
---|---|---|---|
Blob | b | Alle | Verleent toegang tot de inhoud en metagegevens van de blob. |
Blob-versie | Bv | 2018-11-09 en hoger | Verleent toegang tot de inhoud en metagegevens van de blobversie, maar niet tot de basis-blob. |
Blob-momentopname | bs | 2018-11-09 en hoger | Verleent toegang tot de inhoud en metagegevens van de momentopname van de blob, maar niet tot de basis-blob. |
Container | c | Alle | Verleent toegang tot de inhoud en metagegevens van een blob in de container en tot de lijst met blobs in de container. |
Directory | d | 2020-02-10 en hoger | Verleent toegang tot de inhoud en metagegevens van een blob in de map en tot de lijst met blobs in de map, in een opslagaccount waarvoor een hiërarchische naamruimte is ingeschakeld. Als er een map is opgegeven voor het signedResource veld, is ook de parameter signedDirectoryDepth (sdd ) vereist. Een map bevindt zich altijd in een container. |
De geldigheidsduur van de handtekening opgeven
De velden signedStart
(st
) en signedExpiry
(se
) geven de begin- en verlooptijden voor de SAS aan. Het signedExpiry
veld is vereist. Het signedStart
veld is optioneel. Als dit wordt weggelaten, wordt de huidige UTC-tijd gebruikt als begintijd.
Voor een SAS voor gebruikersdelegatie moeten de begin- en verlooptijden voor de SAS binnen het interval vallen dat is gedefinieerd voor de gebruikersdelegeringssleutel. Als een client probeert een SAS te gebruiken nadat de gebruikersdelegatiesleutel is verlopen, mislukt de SAS met een autorisatiefout, ongeacht of de SAS zelf nog geldig is.
Zie DateTime-waarden opmakenvoor meer informatie over geaccepteerde UTC-indelingen.
Machtigingen opgeven
De machtigingen die zijn opgegeven voor het veld signedPermissions
(sp
) op het SAS-token geven aan welke bewerkingen een client die de SAS bezit, op de resource kan uitvoeren.
Machtigingen kunnen worden gecombineerd om een client in staat te stellen meerdere bewerkingen uit te voeren met dezelfde SAS. Wanneer u de SAS maakt, moet u machtigingen opnemen in de volgende volgorde:
racwdxltmeop
Voorbeelden van geldige machtigingsinstellingen voor een container zijn onder andere rw
, rd
, rl
, wd
, wl
en rl
. Voorbeelden van ongeldige instellingen zijn wr
, dr
, lr
en dw
. Het opgeven van een machtigingsaanduiding meer dan één keer is niet toegestaan.
Een SAS voor gebruikersdelegatie kan geen toegang verlenen tot bepaalde bewerkingen:
- Containers kunnen niet worden gemaakt, verwijderd of vermeld.
- Metagegevens en eigenschappen van containers kunnen niet worden gelezen of geschreven.
- Containers kunnen niet worden geleased.
Als u een SAS wilt maken die toegang verleent tot deze bewerkingen, gebruikt u een account-SAS. Zie Een SAS-account makenvoor meer informatie.
De machtigingen die worden ondersteund voor elk resourcetype, worden beschreven in de volgende tabel:
Machtiging | URI-symbool | Bron | Versieondersteuning | Toegestane bewerkingen |
---|---|---|---|---|
Lezen | r | Container Directory Blob |
Alle | Lees de inhoud, bloklijst, eigenschappen en metagegevens van een blob in de container of map. Gebruik een blob als bron van een kopieerbewerking. |
Toevoegen | a | Container Directory Blob |
Alle | Voeg een blok toe aan een toevoeg-blob. |
Maken | c | Container Directory Blob |
Alle | Schrijf een nieuwe blob, maak een momentopname van een blob of kopieer een blob naar een nieuwe blob. |
Schrijven | w | Container Directory Blob |
Alle | Inhoud, eigenschappen, metagegevens of bloklijst maken of schrijven. Momentopname of lease van de blob. Wijzig het formaat van de blob (alleen pagina-blob). Gebruik de blob als de bestemming van een kopieerbewerking. |
Verwijderen | d | Container Directory Blob |
Alle | Een blob verwijderen. Voor versie 2017-07-29 en hoger kunt u met de machtiging Verwijderen ook een lease op een blob verbreken. Zie de bewerking Lease Blob voor meer informatie. |
Versie verwijderen | x | Container Blob |
2019-12-12 en hoger | Een blobversie verwijderen. |
Permanent verwijderen | y | Blob | 2020-02-10 en hoger | Verwijder een blob-momentopname of -versie definitief. |
List | l | Container Directory |
Alle | Geef blobs niet recursief weer. |
Tags | t | Blob | 2019-12-12 en hoger | Lees of schrijf de tags op een blob. |
Verplaatsen | m | Container Directory Blob |
2020-02-10 en hoger | Verplaats een blob of map en de inhoud ervan naar een nieuwe locatie. Deze bewerking kan eventueel worden beperkt tot de eigenaar van de onderliggende blob, map of bovenliggende map als de parameter saoid is opgenomen in het SAS-token en de plak-bit is ingesteld op de bovenliggende map. |
Uitvoeren | e | Container Directory Blob |
2020-02-10 en hoger | Haal de systeemeigenschappen op en haal de POSIX-ACL van een blob op als de hiërarchische naamruimte is ingeschakeld voor het opslagaccount. Als de hiërarchische naamruimte is ingeschakeld en de aanroeper de eigenaar van een blob is, verleent deze machtiging de mogelijkheid om de groep die eigenaar is, POSIX-machtigingen en POSIX-ACL van de blob in te stellen. De aanroeper kan geen door de gebruiker gedefinieerde metagegevens lezen. |
Eigendom | o | Container Directory Blob |
2020-02-10 en hoger | Wanneer de hiërarchische naamruimte is ingeschakeld, kan de aanroeper met deze machtiging de eigenaar of de groep die eigenaar is, instellen of fungeren als de eigenaar wanneer de beller een map of blob wijzigt of verwijdert in een map met de plak-bits set. |
Machtigingen | nm | Container Directory Blob |
2020-02-10 en hoger | Wanneer de hiërarchische naamruimte is ingeschakeld, kan de aanroeper met deze machtiging machtigingen en POSIX-ACL's instellen voor directory's en blobs. |
Onveranderbaarheidsbeleid instellen | Ik | Container Blob |
2020-06-12 en hoger | Het onveranderbaarheidsbeleid of juridische bewaring voor een blob instellen of verwijderen. |
Een IP-adres of IP-bereik opgeven
Het optionele veld signedIp
(sip
) geeft een openbaar IP-adres of een bereik van openbare IP-adressen op waaruit aanvragen moeten worden geaccepteerd. Als het IP-adres van waaruit de aanvraag afkomstig is niet overeenkomt met het IP-adres of het adresbereik dat is opgegeven op het SAS-token, wordt de aanvraag niet geautoriseerd. Alleen IPv4-adressen ondersteund.
Wanneer u een bereik van IP-adressen opgeeft, is het bereik inclusief. Als u bijvoorbeeld sip=198.51.100.0
of sip=198.51.100.10-198.51.100.20
opgeeft in de SAS, wordt de aanvraag beperkt tot deze IP-adressen.
In de volgende tabel wordt beschreven of het veld signedIp
moet worden opgenomen in een SAS-token voor een bepaald scenario, op basis van de clientomgeving en de locatie van het opslagaccount.
Clientomgeving | Locatie van opslagaccount | Aanbeveling |
---|---|---|
Client die wordt uitgevoerd in Azure | In dezelfde regio als de client | Een SAS die in dit scenario aan de client wordt verstrekt, mag geen uitgaand IP-adres voor het veld signedIp bevatten. Aanvragen die u vanuit dezelfde regio maakt met behulp van een SAS met een opgegeven uitgaande IP-adres mislukken.Gebruik in plaats daarvan een virtueel Azure-netwerk om netwerkbeveiligingsbeperkingen te beheren. Aanvragen naar Azure Storage vanuit dezelfde regio vinden altijd plaats via een privé-IP-adres. Raadpleeg Firewalls en virtuele netwerken voor Azure Storage configureren voor meer informatie. |
Client die wordt uitgevoerd in Azure | In een andere regio dan de client | Een SAS die in dit scenario aan de client wordt verstrekt, kan een openbaar IP-adres of adresbereik voor het signedIp -veld bevatten. Aanvragen die u met de SAS maakt, moeten afkomstig zijn van het opgegeven IP-adres of het opgegeven IP-adresbereik. |
Client die on-premises of in een andere cloudomgeving wordt uitgevoerd | In elke Azure-regio | Een SAS die in dit scenario aan de client wordt verstrekt, kan een openbaar IP-adres of adresbereik voor het signedIp -veld bevatten. Aanvragen die u met de SAS maakt, moeten afkomstig zijn van het opgegeven IP-adres of het opgegeven IP-adresbereik.Als de aanvraag via een proxy of gateway wordt doorgegeven, geeft u het openbare uitgaande IP-adres van die proxy of gateway op voor het veld signedIp . |
Het HTTP-protocol opgeven
Het optionele signedProtocol
(spr
) geeft het protocol op dat is toegestaan voor aanvragen die met de SAS worden gedaan. Mogelijke waarden zijn zowel HTTPS als HTTP (alleenhttps,http
) of HTTPS (https
). De standaardwaarde is https,http
.
Notitie
Het is niet mogelijk om HTTP op te geven voor het spr
veld.
De ondertekende object-id opgeven
Het veld signedObjectId
(skoid
) is vereist voor een SAS voor gebruikersdelegering. De bewerking Sleutel voor gebruikersdelegering ophalen retourneert deze waarde als onderdeel van het antwoord. De ondertekende object-id is een GUID-waarde die de onveranderbare id voor een beveiligingsprincipaal in het Microsoft Identity Platform dient.
De ondertekende tenant-id opgeven
Het veld signedTenantId
(sktid
) is vereist voor een SAS voor gebruikersdelegering. De bewerking Sleutel voor gebruikersdelegering ophalen retourneert deze waarde als onderdeel van het antwoord. De ondertekende tenant-id is een GUID-waarde die de Microsoft Entra-tenant vertegenwoordigt waarin een beveiligingsprincipaal wordt gedefinieerd.
De begintijd van de ondertekende sleutel opgeven
Het vereiste veld signedKeyStartTime
(skt
) geeft het begin aan van de levensduur van de gebruikersdelegatiesleutel in ISO-datumnotatie. De bewerking Sleutel voor gebruikersdelegering ophalen retourneert deze waarde als onderdeel van het antwoord.
De vervaldatum van de ondertekende sleutel opgeven
Het veld signedKeyExpiryTime
(ske
) is vereist voor een SAS voor gebruikersdelegatie in ISO-datumnotatie. De bewerking Sleutel voor gebruikersdelegering ophalen retourneert deze waarde als onderdeel van het antwoord. De vervaldatum van de ondertekende sleutel geeft het einde van de levensduur van de gebruikersdelegeringssleutel aan. De waarde van de verlooptijd kan maximaal zeven dagen vanaf de begintijd van de SAS zijn.
De ondertekende sleutelservice opgeven
Het veld signedKeyService
(sks
) is vereist voor een SAS voor gebruikersdelegering. De bewerking Sleutel voor gebruikersdelegering ophalen retourneert deze waarde als onderdeel van het antwoord. Het veld ondertekende sleutelservice geeft de service aan waarvoor de gebruikersdelegeringssleutel geldig is. De waarde voor het veld ondertekende sleutelservice voor Blob Storage is b
.
De ondertekende sleutelversie opgeven
Het veld signedkeyversion
(skv
) is vereist voor een SAS voor gebruikersdelegering. De bewerking Sleutel voor gebruikersdelegering ophalen retourneert deze waarde als onderdeel van het antwoord. Het veld signedkeyversion
geeft de versie van de opslagservice op die wordt gebruikt om de gebruikersdelegeringssleutel op te halen. Dit veld moet versie 2018-11-09 of hoger opgeven.
Een ondertekende gebruikersobject-id opgeven voor een beveiligingsprincipaal
De optionele velden signedAuthorizedObjectId
(saoid
) en signedUnauthorizedObjectId
(suoid
) maken integratie mogelijk met Apache Hadoop en Apache Ranger voor Azure Data Lake Storage-workloads. Gebruik een van deze velden op het SAS-token om de object-id voor een beveiligingsprincipaal op te geven:
- Het veld
saoid
geeft de object-id op voor een Microsoft Entra-beveiligingsprincipaal die is geautoriseerd door de eigenaar van de gebruikersdelegatiesleutel om de actie uit te voeren die is verleend door het SAS-token. Azure Storage valideert het SAS-token en zorgt ervoor dat de eigenaar van de gebruikersdelegatiesleutel de vereiste machtigingen heeft voordat Azure Storage toegang verleent. Er wordt geen extra machtigingscontrole uitgevoerd voor POSIX-ACL's. - Het veld
suoid
geeft de object-id voor een Microsoft Entra-beveiligingsprincipaal op wanneer een hiërarchische naamruimte is ingeschakeld voor een opslagaccount. Het veldsuoid
is alleen geldig voor accounts met een hiërarchische naamruimte. Wanneer hetsuoid
veld is opgenomen in het SAS-token, voert Azure Storage een POSIX ACL-controle uit op basis van de object-id voordat deze de bewerking autoriseert. Als deze ACL-controle niet slaagt, mislukt de bewerking. Een hiërarchische naamruimte moet zijn ingeschakeld voor het opslagaccount als hetsuoid
veld is opgenomen in het SAS-token. Anders mislukt de machtigingscontrole met een autorisatiefout.
De object-id voor de beveiligingsprincipaal die de gebruikersdelegeringssleutel aanvraagt, wordt vastgelegd in het vereiste skoid
veld. Als u een object-id wilt opgeven in het SAS-token met het veld saoid
of suoid
, aan de beveiligingsprincipal die in het veld skoid
is geïdentificeerd, moet een RBAC-rol worden toegewezen die Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action of Microsoft.Storage/storageAccounts/blobServices/containers/blobs/manageOwnership/action. Zie bewerkingen van de Azure-resourceprovidervoor meer informatie over deze acties.
Door de object-id in het veld saoid
of suoid
op te geven, beperkt u ook bewerkingen die betrekking hebben op het eigendom van mappen of blobs, op de volgende manieren:
- Als een bewerking een map of blob maakt, stelt Azure Storage de eigenaar van de map of blob in op de waarde die is opgegeven door de object-id. Als de object-id niet is opgegeven, stelt Azure Storage de eigenaar van de map of blob in op de waarde die is opgegeven door de parameter
skoid
. - Als de plak-bit is ingesteld op de bovenliggende map en de bewerking een map of blob verwijdert of hernoemt, moet de object-id van de eigenaar van de bovenliggende map of de eigenaar van de resource overeenkomen met de waarde die is opgegeven door de object-id.
- Als een bewerking de eigenaar voor een map of blob instelt en de
x-ms-owner
-header is opgegeven, moet de waarde die is opgegeven door de object-id overeenkomen met de waarde die is opgegeven door dex-ms-owner
-header. - Als een bewerking de groep instelt voor een map of blob en de
x-ms-group
header is opgegeven, moet de waarde die is opgegeven door de object-id lid zijn van de groep die is opgegeven door dex-ms-group
header. - Als een bewerking de machtigingen of ACL voor een map of blob instelt, moet ook aan een van de volgende twee voorwaarden worden voldaan:
- De opgegeven waarde voor de object-id moet de eigenaar van de map of blob zijn.
- De waarde van het veld
signedPermissions
(sp
) moet de machtigingOwnership
(o
) bevatten naast de machtigingPermissions
(p
).
De object-id die is opgegeven in het veld saoid
of suoid
, wordt opgenomen in diagnostische logboeken wanneer u aanvragen doet met behulp van het SAS-token.
Het veld saoid
of suoid
wordt alleen ondersteund als het veld signedVersion
(sv
) is ingesteld op versie 2020-02-10 of hoger. Er kan slechts één van deze velden worden opgenomen in het SAS-token.
Een correlatie-id opgeven
Het veld signedCorrelationId
(scid
) geeft een correlatie-id op die kan worden gebruikt om de opslagcontrolelogboeken te correleren met de auditlogboeken die worden gebruikt door de principal die de SAS genereert en distribueert. Een vertrouwde autorisatieservice heeft bijvoorbeeld gewoonlijk een beheerde identiteit waarmee gebruikers worden geverifieerd en geautoriseerd, een SAS wordt gegenereerd, een vermelding wordt toegevoegd aan het lokale auditlogboek en de SAS wordt geretourneerd aan een gebruiker, die vervolgens de SAS kan gebruiken voor toegang tot Azure Storage-resources. Door een correlatie-id op te slaan in zowel het lokale auditlogboek als het opslagcontrolelogboek, kunt u deze gebeurtenissen later correleren. De waarde is een GUID zonder accolades en met kleine letters.
Dit veld wordt ondersteund met versie 2020-02-10 en hoger.
De mapdiepte opgeven
Als in het signedResource
veld een map (sr=d
) wordt opgegeven, moet u ook het veld signedDirectoryDepth
(sdd
) opgeven om het aantal submappen onder de hoofdmap aan te geven. De waarde van het sdd
veld moet een niet-negatief geheel getal zijn.
De hoofdmap https://{account}.blob.core.windows.net/{container}/
heeft bijvoorbeeld een diepte van 0. Elke submap in de hoofdmap wordt met 1 toegevoegd aan de diepte. De map https://{account}.blob.core.windows.net/{container}/d1/d2
heeft een diepte van 2.
Dit veld wordt ondersteund met versie 2020-02-10 en hoger.
Queryparameters opgeven om antwoordheaders te overschrijven
Als u waarden wilt definiëren voor bepaalde antwoordheaders die moeten worden geretourneerd wanneer de handtekening voor gedeelde toegang wordt gebruikt in een aanvraag, kunt u antwoordheaders opgeven in queryparameters. De antwoordheaders en de bijbehorende queryparameters zijn als volgt:
Naam van antwoordheader | Bijbehorende SAS-queryparameter |
---|---|
Cache-Control |
rscc |
Content-Disposition |
rscd |
Content-Encoding |
rsce |
Content-Language |
rscl |
Content-Type |
rsct |
Als u bijvoorbeeld de rsct=binary
queryparameter voor een SAS-token opgeeft, wordt de Content-Type
antwoordheader ingesteld op binary
. Deze waarde overschrijft de Content-Type
headerwaarde die is opgeslagen voor de blob voor een aanvraag met behulp van deze handtekening voor gedeelde toegang.
Als u een handtekening voor gedeelde toegang maakt waarmee antwoordheaders als queryparameters worden opgegeven, moet u deze antwoordheaders opnemen in het tekenreeks-naar-teken dat wordt gebruikt om de handtekeningtekenreeks samen te stellen. Zie de sectie 'De handtekening opgeven' voor meer informatie.
Het versleutelingsbereik opgeven
Het veld signed encryption scope
(ses
) geeft een versleutelingsbereik op dat de clienttoepassing gebruikt bij het uploaden van blobs met behulp van het SAS-token via de Put Blob--bewerking. Het veld signed encryption scope
wordt ondersteund wanneer het veld ondertekende versie (sv
) op het SAS-token versie 2020-12-06 of hoger is. Als in het veld ondertekende versie een versie wordt opgegeven die ouder is dan de ondersteunde versie, retourneert de service foutcode 403 (Verboden).
Als het standaardversleutelingsbereik is ingesteld voor de container of het bestandssysteem, respecteert het veld ses
het containerversleutelingsbeleid. Als de ses
queryparameter en x-ms-default-encryption-scope
header niet overeenkomen en de x-ms-deny-encryption-scope-override
-header is ingesteld op true
, retourneert de service foutcode 403 (Verboden).
Als de x-ms-encryption-scope
-header en de ses
queryparameter beide worden opgegeven in de PUT-aanvraag en er een onjuiste overeenkomst is, retourneert de service foutcode 400 (Ongeldige aanvraag).
De handtekening opgeven
Het veld signature
(sig
) wordt gebruikt om een aanvraag van een client met de handtekening voor gedeelde toegang te autoriseren. Het tekenreeks-naar-teken is een unieke tekenreeks die is samengesteld uit de velden die moeten worden geverifieerd om de aanvraag te autoriseren. De handtekening is een HMAC die wordt berekend via het tekenreeks-naar-teken en de sleutel met behulp van het SHA256-algoritme en vervolgens gecodeerd met base64-codering.
Als u de handtekeningtekenreeks van een SAS voor gebruikersdelegering wilt maken, maakt u de tekenreeks naar tekenreeks van de velden waaruit de aanvraag bestaat, codeert u de tekenreeks als UTF-8 en berekent u de handtekening met behulp van het algoritme HMAC-SHA256. De velden die zijn opgenomen in het tekenreeks-naar-teken, moeten url-decoderen.
De velden die vereist zijn in het tekenreeks-naar-teken, zijn afhankelijk van de serviceversie die wordt gebruikt voor autorisatie (sv
veld). In de volgende secties wordt de configuratie van tekenreeks-naar-teken beschreven voor versies die ondersteuning bieden voor de SAS voor gebruikersdelegatie.
Versie 2020-12-06 en hoger
De tekenreeks-naar-teken voor autorisatieversie 2020-12-06 en hoger heeft de volgende indeling:
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
signedSnapshotTime + "\n" +
signedEncryptionScope + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Versie 2020-02-10
De tekenreeks-naar-teken voor autorisatieversie 2020-02-10 heeft de volgende indeling:
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
signedSnapshotTime + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Versies ouder dan 2020-02-10
De tekenreeks-naar-teken voor autorisatieversies die ouder zijn dan 2020-02-10 heeft de volgende indeling:
StringToSign = signedPermissions + "\n" +
signedStart + "\n" +
signedExpiry + "\n" +
canonicalizedResource + "\n" +
signedKeyObjectId + "\n" +
signedKeyTenantId + "\n" +
signedKeyStart + "\n" +
signedKeyExpiry + "\n" +
signedKeyService + "\n" +
signedKeyVersion + "\n" +
signedAuthorizedUserObjectId + "\n" +
signedUnauthorizedUserObjectId + "\n" +
signedCorrelationId + "\n" +
signedIP + "\n" +
signedProtocol + "\n" +
signedVersion + "\n" +
signedResource + "\n" +
rscc + "\n" +
rscd + "\n" +
rsce + "\n" +
rscl + "\n" +
rsct
Canonicalized resource
Het canonicalizedResource
gedeelte van de tekenreeks is een canoniek pad naar de ondertekende resource. Het moet het Blob Storage-eindpunt en de resourcenaam bevatten en moet url-decoderen. Een blobpad moet de container bevatten. Een mappad moet het aantal submappen bevatten dat overeenkomt met de parameter sdd
.
De canonicaliseerde resourcereeks voor een container moet de afsluitende slash (/) weglaten voor een SAS die toegang biedt tot die container.
In de volgende voorbeelden ziet u hoe u het canonicalizedResource
gedeelte van de tekenreeks maakt, afhankelijk van het type resource.
Containervoorbeeld (Azure Blob Storage)
URL = https://myaccount.blob.core.windows.net/music
canonicalizedResource = "/blob/myaccount/music"
Blob-voorbeeld (Azure Blob Storage)
URL = https://myaccount.blob.core.windows.net/music/intro.mp3
canonicalizedResource = "/blob/myaccount/music/intro.mp3"
Containervoorbeeld (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music
canonicalizedResource = "/blob/myaccount/music"
Mapvoorbeeld (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music/instruments/guitar/
canonicalizedResource = "/blob/myaccount/music/instruments/guitar/"
Blob-voorbeeld (Azure Data Lake Storage)
URL = https://myaccount.dfs.core.windows.net/music/intro.mp3
canonicalizedResource = "/blob/myaccount/music/intro.mp3"
Optionele velden
Als een veld optioneel is en niet is opgegeven als onderdeel van het SAS-token, geeft u een lege tekenreeks voor het veld op. Zorg ervoor dat u het teken newline (\n) na de lege tekenreeks opneemt.
Sas-voorbeeld van gebruikersdelegatie
In het volgende voorbeeld ziet u een blob-URI met een SAS-token voor gebruikersdelegering dat eraan is toegevoegd. Het SAS-token voor gebruikersdelegatie biedt lees- en schrijfmachtigingen voor de blob.
https://myaccount.blob.core.windows.net/sascontainer/blob1.txt?sp=rw&st=2023-05-24T01:13:55Z&se=2023-05-24T09:13:55Z&skoid=<object-id>&sktid=<tenant-id>&skt=2023-05-24T01:13:55Z&ske=2023-05-24T09:13:55Z&sks=b&skv=2022-11-02&sip=198.51.100.10-198.51.100.20&spr=https&sv=2022-11-02&sr=b&sig=<signature>
Elk deel van de URI wordt beschreven in de volgende tabel:
Meetcriterium | SAS-gedeelte | Description |
---|---|---|
Resource-URI | https://myaccount.blob.core.windows.net/sascontainer/blob1.txt |
Het adres van de blob. We raden u ten zeerste aan HTTPS te gebruiken. |
Scheidingsteken | ? |
Het scheidingsteken dat voorafgaat aan de querytekenreeks. Het scheidingsteken maakt geen deel uit van het SAS-token. |
Machtigingen | sp=rw |
De machtigingen die door de SAS worden verleend, omvatten Lezen (r) en Schrijven (w). |
Begintijd | st=2023-05-24T01:13:55Z |
Opgegeven in UTC-tijd. Als u wilt dat de SAS onmiddellijk geldig is, laat u de begintijd weg. |
Verlooptijd | se=2023-05-24T09:13:55Z |
Opgegeven in UTC-tijd. |
Object-id | skoid=<object-id> |
Een Microsoft Entra-beveiligingsprincipaal. |
Tenant-id | sktid=<tenant-id> |
De Microsoft Entra-tenant waar de beveiligingsprincipaal is geregistreerd. |
Begintijd van sleutel | skt=2023-05-24T01:13:55Z |
Het begin van de levensduur van de gebruikersdelegeringssleutel. |
Verlooptijd van sleutel | ske=2023-05-24T09:13:55Z |
Het einde van de levensduur van de gebruikersdelegeringssleutel. |
Sleutelservice | sks=b |
Alleen de Blob-service wordt ondersteund voor de servicewaarde. |
Sleutelversie | skv=2022-11-02 |
De versie van de opslagservice die is gebruikt om de gebruikersdelegeringssleutel op te halen. |
IP-bereik | sip=198.51.100.10-198.51.100.20 |
Het bereik van IP-adressen waaruit een aanvraag wordt geaccepteerd. |
Protocol | spr=https |
Alleen aanvragen die HTTPS gebruiken, zijn toegestaan. |
Blob-serviceversie | sv=2022-11-02 |
Voor Azure Storage versie 2012-02-12 en hoger geeft deze parameter de versie aan die moet worden gebruikt. |
Bron | sr=b |
De resource is een blob. |
Handtekening | sig=<signature> |
Wordt gebruikt om toegang tot de blob te autoriseren. De handtekening is een HMAC die wordt berekend via een tekenreeks-naar-teken en sleutel met behulp van het SHA256-algoritme en vervolgens gecodeerd met base64-codering. |
Een SAS voor gebruikersdelegering intrekken
Als u denkt dat er inbreuk is gemaakt op een SAS, moet u deze intrekken. U kunt een SAS voor gebruikersdelegering intrekken door de gebruikersdelegeringssleutel in te trekken of door RBAC-roltoewijzingen en POSIX-ACL's te wijzigen of te verwijderen voor de beveiligingsprincipal die wordt gebruikt om de SAS te maken.
Belangrijk
Zowel de gebruikersdelegeringssleutel als de RBAC-roltoewijzingen worden in de cache opgeslagen door Azure Storage, dus er kan een vertraging optreden tussen het initiëren van het intrekkingsproces en wanneer een bestaande SAS voor gebruikersdelegering ongeldig wordt.
De gebruikersdelegeringssleutel intrekken
U kunt de gebruikersdelegeringssleutel intrekken door de Gebruikersdelegeringssleutels in te trekken bewerking. Wanneer u de gebruikersdelegeringssleutel intrekt, worden alle handtekeningen voor gedeelde toegang die afhankelijk zijn van die sleutel ongeldig. Vervolgens kunt u de Delegeringssleutel ophalen opnieuw bewerking aanroepen en de sleutel gebruiken om nieuwe handtekeningen voor gedeelde toegang te maken. Dit is de snelste manier om een SAS voor gebruikersdelegering in te trekken.
Roltoewijzingen of ACL's wijzigen of verwijderen
U kunt de RBAC-roltoewijzing en POSIX-ACL's wijzigen of verwijderen voor de beveiligingsprincipal die wordt gebruikt om de SAS te maken. Wanneer een client de SAS gebruikt voor toegang tot een resource, controleert Azure Storage of de beveiligingsprincipal waarvan de referenties zijn gebruikt om de SAS te beveiligen over de vereiste machtigingen voor de resource beschikt.