Udostępnij za pośrednictwem


Zastępowanie uprawnienia

Wykonanie operacji PUT dla określonego zasobu uprawnień zastępuje cały zasób użytkownika. Wszystkie właściwości zestawu użytkownika, identyfikator, permissionMode i zasób muszą zostać przesłane w treści, aby wykonać zamianę. Podczas gdy wszystkie właściwości tabeli settable muszą zostać przesłane w treści żądania, nie wszystkie właściwości muszą mieć zmiany. Nowy token zasobu jest tworzony po pomyślnym zastąpieniu uprawnienia. Nowy token zasobu wygasa w ciągu jednej godziny, która jest okresem domyślnym, chyba że zostanie zastąpiony przy użyciu nagłówka x-ms-documentdb-expiry-seconds .

Żądanie

Metoda Identyfikator URI żądania Opis
PUT https://{databaseaccount}.documents.azure.com/dbs/{db-id}/users/{user-name}/permissions/{permission-name} Pamiętaj, że {databaseaccount} jest nazwą konta usługi Azure Cosmos DB utworzonego w ramach subskrypcji. Wartość {db-id} to wygenerowana przez użytkownika nazwa/identyfikator bazy danych, a nie identyfikator wygenerowany przez system (rid). Wartość {user-name} jest nazwą użytkownika. Wartość {permission-name} to nazwa uprawnienia do zastąpienia.

Nagłówki

Zobacz Typowe nagłówki żądań REST usługi Azure Cosmos DB dla nagłówków , które są używane przez wszystkie żądania usługi Cosmos DB.

Nagłówek Wymagany Typ Opis
x-ms-documentdb-expiry-seconds Opcjonalne Liczba całkowita Okres ważności tokenu zasobu zwrócony przez operację. Domyślnie token zasobu jest ważny przez jedną godzinę. Aby zastąpić wartość domyślną, ustaw ten nagłówek z żądanym okresem ważności w sekundach. Maksymalna wartość przesłonięcia to 18000, czyli pięć godzin.

Treść

Właściwość Wymagane Opis
id Wymagane Jest to unikatowa nazwa, która identyfikuje uprawnienie, tj. żadne dwa uprawnienia należące do użytkownika mogą współużytkować ten sam identyfikator. Identyfikator nie może przekraczać 255 znaków
permissionMode Wymagane Tryb dostępu dla zasobu użytkownika: Wszystko lub Odczyt. Wszystkie zapewniają dostęp do odczytu, zapisu i usuwania zasobu. Odczyt ogranicza użytkownikowi dostęp do odczytu w zasobie.
Zasobów Wymagane Pełna ścieżka adresowa zasobu skojarzonego z uprawnieniem. Na przykład dbs/volcanodb/colls/volcano1.
{  
    "id": "another_permission",  
    "permissionMode": "All",  
    "resource": "dbs/volcanodb/colls/volcano1"  
}  

Reakcja

Nagłówki

Zobacz Typowe nagłówki odpowiedzi REST usługi Azure Cosmos DB dla nagłówków zwracanych przez wszystkie odpowiedzi usługi Cosmos DB.

Kody stanu

Poniższa tabela zawiera listę typowych kodów stanu zwracanych przez tę operację. Aby uzyskać pełną listę kodów stanu, zobacz Kody stanu HTTP.

Kod stanu HTTP Opis
200 OK Operacja zastępowania zakończyła się pomyślnie.
400 Nieprawidłowe żądanie Treść JSON jest nieprawidłowa. Sprawdź brakujące nawiasy klamrowe lub cudzysłowy. Ponadto zwracana jest wartość 400, gdy co najmniej jedna z właściwości tabeli settable nie znajduje się w treści żądania. Sprawdź, czy uwzględniono wszystkie trzy właściwości tabeli settable.
404 — Nie znaleziono Użytkownik, który ma zostać zastąpiony, nie jest już zasobem, czyli uprawnienie zostało usunięte.
409 Konflikt Identyfikator podany dla uprawnienia został przejęty przez istniejące uprawnienie. 409 jest również zwracany, gdy nowe uprawnienie zostało już przypisane do innego uprawnienia dla użytkownika.

Treść

Właściwość Opis
_Rid Jest to właściwość wygenerowana przez system. Identyfikator zasobu (_rid) to unikatowy identyfikator, który jest również hierarchiczny dla stosu zasobów w modelu zasobów. Jest on używany wewnętrznie do umieszczania i nawigacji zasobu uprawnień.
_Ts Jest to właściwość wygenerowana przez system. Określa ostatni zaktualizowany znacznik czasu zasobu. Wartość jest znacznikiem czasu.
_Własny Jest to właściwość wygenerowana przez system. Jest to unikatowy adresowy identyfikator URI zasobu.
_Etag Jest to właściwość wygenerowana przez system, która reprezentuje tag zasobu wymagany do optymistycznej kontroli współbieżności.
_Tokenu Jest to token zasobu wygenerowany przez system dla określonego zasobu i użytkownika.
{  
    "id": "another_permission",  
    "permissionMode": "All",  
    "resource": "dbs/volcanodb/colls/volcano1",  
    "_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",  
    "_ts": 1449605172,  
    "_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",  
    "_etag": "\"00000f00-0000-0000-0000-566738340000\"",  
    "_token": "type=resource&ver=1&sig=liT1vyY6rvPBZXRuXNluPA==;A4zwoVw1GcQUSF3N2d1D5J1s3DhN0547KlhdYkkfT5UzGWecIDJf+LInlbYjqgZKwHKrFfeHLJWq0OFfH9KUOaeMCkPPlu8yKNM098las28ClqVNwmi9Ir\/jC3UVFU\/yFQl4z4wiMxxbrCkpnA\/ZsKqmxZ1LAosimPgF4zKvC9isWjgmB1N8+X9pH49wDg62tGkHF0HoSu+KpF7bkjP4VpHfo9u9jV86l7brrOvUYyE=;"  
}  
  

Przykład

PUT https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions/a_permission HTTP/1.1  
x-ms-date: Tue, 08 Dec 2015 20:06:11 GMT  
authorization: type%3dmaster%26ver%3d1.0%26sig%3d8PTpiHHJvUq7ra07iWGYpiLJ%2fMyglgJZxfyGKHWjbaQ%3d  
Cache-Control: no-cache  
User-Agent: contoso/1.0  
x-ms-version: 2015-08-06  
Accept: application/json  
Host: contosomarketing.documents.azure.com  
Cookie: x-ms-session-token=866  
Content-Length: 554  
Expect: 100-continue  
Connection: Keep-Alive  
  
{  
    "id": "another_permission",  
    "permissionMode": "All",  
    "resource": "dbs/volcanodb/colls/volcano1",  
    "_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",  
    "_ts": 1449604760,  
    "_self": "dbs/volcanodb/users/a_user/permissions/a_permission",  
    "_etag": "\"00000e00-0000-0000-0000-566736980000\"",  
    "_token": "type=resource&ver=1&sig=zv2AYJFeWMhks0Ezv2WVKQ==;x2fUwajIajvwi+vfQ6GHmf82HTK4qppkhRHMk1Nx8ei0g8zuxIBQ6cyu0d3hOV06fC/PdyIj2/bmNCwpfkxFI++QI1eVPP0/tGTQuMPyqNVCCM5t8KFx6rVNUReBHlWNp0y8iAZ3pRvA2Wl6uaE0K7tFQKmPKqUbumYbOMWKk1kDCfCeCF0Qkt7RYUXlmvawFNoYnVRN/mgnpzX23vW63mU/GoeRXnMOI1HXcdrnf4M=;"  
}  
  
HTTP/1.1 200 Ok  
Cache-Control: no-store, no-cache  
Pragma: no-cache  
Content-Type: application/json  
Content-Location: https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions/a_permission  
Server: Microsoft-HTTPAPI/2.0  
Strict-Transport-Security: max-age=31536000  
x-ms-last-state-change-utc: Sun, 29 Nov 2015 02:25:35.212 GMT  
etag: "00000f00-0000-0000-0000-566738340000"  
x-ms-resource-quota: permissions=2000000;  
x-ms-resource-usage: permissions=2;  
x-ms-schemaversion: 1.1  
x-ms-alt-content-path: dbs/volcanodb/users/a_user  
x-ms-content-path: Sl8fAG8cXgA=  
x-ms-quorum-acked-lsn: 866  
x-ms-session-token: 867  
x-ms-current-write-quorum: 3  
x-ms-current-replica-set-size: 4  
x-ms-request-charge: 9.9  
x-ms-serviceversion: version=1.5.57.3  
x-ms-activity-id: 4b91c955-ebd4-4059-a58e-91c99226f225  
Set-Cookie: x-ms-session-token=867; Domain=contosomarketing.documents.azure.com; Path=/dbs/volcanodb/users/a_user  
x-ms-gatewayversion: version=1.5.57.3  
Date: Tue, 08 Dec 2015 20:06:10 GMT  
Content-Length: 581  
  
{  
    "id": "another_permission",  
    "permissionMode": "All",  
    "resource": "dbs/volcanodb/colls/volcano1",  
    "_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",  
    "_ts": 1449605172,  
    "_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",  
    "_etag": "\"00000f00-0000-0000-0000-566738340000\"",  
    "_token": "type=resource&ver=1&sig=liT1vyY6rvPBZXRuXNluPA==;A4zwoVw1GcQUSF3N2d1D5J1s3DhN0547KlhdYkkfT5UzGWecIDJf+LInlbYjqgZKwHKrFfeHLJWq0OFfH9KUOaeMCkPPlu8yKNM098las28ClqVNwmi9Ir\/jC3UVFU\/yFQl4z4wiMxxbrCkpnA\/ZsKqmxZ1LAosimPgF4zKvC9isWjgmB1N8+X9pH49wDg62tGkHF0HoSu+KpF7bkjP4VpHfo9u9jV86l7brrOvUYyE=;"  
}  
  

Zobacz też