Machtigingen
Azure Cosmos DB is een wereldwijd gedistribueerde database met meerdere modellen die ondersteuning biedt voor document-, grafiek- en sleutelwaardegegevensmodellen. De inhoud in deze sectie is bedoeld voor het beheren van machtigingsresources met behulp van de SQL-API via REST.
Een machtiging is een autorisatietoken dat is gekoppeld aan een gebruiker voor geautoriseerde toegang tot een specifieke resource. Het wordt gebruikt voor het beheren van toegang tot verzamelingen, documenten, bijlagen, opgeslagen procedures, triggers en door de gebruiker gedefinieerde functies voor een bepaalde gebruiker.
U kunt slechts één machtiging koppelen aan een bepaalde resource voor een gebruiker. MarketingCollection met id 'permision2' kan bijvoorbeeld slechts aan één machtiging voor de gebruiker JanetSmith@contoso.comworden gekoppeld. Een poging om een andere machtiging toe te voegen aan MarketingCollection voor Janet resulteert in een fout (409 Conflict).
Er zijn slechts twee machtigingsmodi, Alle en Lezen. De modus Alles biedt lees-, schrijf- en verwijderingstoegang tot een resource. De leesmodus biedt alleen-lezentoegang tot een resource. Telkens wanneer een GET-, PUT- of POST-machtiging wordt uitgevoerd, wordt er een resourcetoken gemaakt. De geldigheidsperiode van een resourcetoken is standaard één uur en kan worden verlengd tot maximaal 5 uur door de gewenste waarde op te geven in de x-ms-documentdb-expiry-seconds
headerinstelling. Zie de sectie headers van het artikel Een machtiging maken voor meer informatie over het instellen van deze koptekst. De geldigheidsperiode kan worden overschreven tot maximaal 5 uur. In het volgende voorbeeld ziet u de JSON-constructie van een machtiging:
{
"id":"permision2",
"permissionMode":"All",
"resource":"dbs/ruJjAA==/colls/ruJjAM9UnAA=/",
"_rid":"ruJjAFjqQABUp3QAAAAAAA==",
"_ts":1408237846,
"_self":"dbs/ruJjAA==/users/ruJjAFjqQAA=/permissions/ruJjAFjqQABUp3QAAAAAAA==/",
"_etag":"00004900-0000-0000-0000-53f001160000",
"_token":"type=resource&ver=1&sig=m32/00W65F8ADb3psljJ0g==;v0kQGihedau1pVGGQmuPgzlEcfsYDWSdfn2kyjDc1qF1aZfPHXzIS/BFMcuZQRUr6C5c5PgiyCSwhiAgZMJne2DorfMbE/GUHmxBLjOnykLARqwn3zpZpz9b2axWtL8+qQFX81nocdEDvBVzFuobyul6QimbmeZ7D6D1K4qJT9feuJkIBfczeAp/sKaSupXEgB3qyih0rej5N6Wv14Gufohh1QTlCRIzK3FqQv4xjcY=;"
}
Eigenschap | Beschrijving |
---|---|
id | Vereist. Het is een eigenschap die door de gebruiker kan worden ingesteld. Het is de unieke naam die de machtiging identificeert, dat wil dus niet dat twee machtigingen dezelfde id delen binnen een gebruiker. De id mag niet langer zijn dan 255 tekens. |
permissionMode | Vereist. De toegangsmodus voor de resource voor de gebruiker: Alle of Lezen. All biedt lees-, schrijf- en verwijderingstoegang tot een resource. Lezen beperkt de gebruiker tot leestoegang tot de resource. |
Resource | Vereist. Het volledige adresseerbare pad van de resource die is gekoppeld aan de machtiging. Bijvoorbeeld dbs/ruJjAA==/colls/ruJjAM9UnAA=/. |
_Ontdoen | Het is een door het systeem gegenereerde eigenschap. De resource-id (_rid) is een unieke id die ook hiërarchisch is per resourcestack in het resourcemodel. Deze wordt intern gebruikt voor de plaatsing en navigatie van de machtigingsresource. |
_Ts | Het is een door het systeem gegenereerde eigenschap. Hiermee geeft u de laatst bijgewerkte tijdstempel van de resource op. De waarde is een tijdstempel. |
_Zelf | Het is een door het systeem gegenereerde eigenschap. Dit is de unieke adresseerbare URI voor de resource. |
_etag | Het is een door het systeem gegenereerde eigenschap die de resource-etag aangeeft die is vereist voor optimistisch gelijktijdigheidsbeheer. |
_Token | Het is een door het systeem gegenereerd resourcetoken voor de specifieke resource en gebruiker. |
Taken
U kunt de volgende taken uitvoeren met machtigingen:
- Een machtiging maken
- Lijstmachtigingen
- Een machtiging ophalen
- Een machtiging vervangen
- Een machtiging verwijderen