사용 권한 바꾸기
이 문서의 내용
특정 사용 권한 리소스에서 PUT 작업을 수행하면 전체 사용자 리소스가 바뀝니다. 대체를 수행하려면 모든 사용자 설정 가능한 속성, ID , permissionMode 및 리소스 를 본문에 제출해야 합니다. 설정할 수 있는 모든 속성을 요청 본문에 제출해야 하지만 일부 속성에는 변경 사항이 없습니다. 사용 권한을 성공적으로 대체하면 새 리소스 토큰이 생성됩니다.
x-ms-documentdb-expiry-seconds 헤더를 사용하여 재정의하지 않는 한 새 리소스 토큰은 기본 기간인 1시간 내에 만료됩니다.
요청
메서드
요청 URI
설명
PUT
https://{databaseaccount}.documents.azure.com/dbs/{db-id}/users/{user-name}/permissions/{permission-name}
{databaseaccount}는 구독에서 만든 Azure Cosmos DB 계정의 이름입니다. {db-id} 값은 시스템 생성 ID(rid)가 아니라 사용자가 생성한 데이터베이스의 이름/ID입니다. {user-name} 값은 사용자의 이름입니다. {permission-name} 값은 바꿀 사용 권한의 이름입니다.
모든 Cosmos DB 요청에 사용되는 헤더는 일반적인 Azure Cosmos DB REST 요청 헤더를 참조하세요.
헤더
필수
형식
Description
x-ms-documentdb-expiry-seconds
선택
정수
작업에서 반환한 리소스 토큰의 유효 기간. 기본적으로 리소스 토큰은 한 시간 동안 유효합니다. 기본값을 재정의하려면 이 헤더를 원하는 유효 기간(초)으로 설정합니다. 최대 재정의 값은 18000초, 즉 5시간입니다.
본문
속성
필수
Description
id
필수
사용 권한을 식별하는 고유한 이름입니다. 즉, 사용자가 소유한 두 개의 권한이 동일한 ID를 공유할 수 없습니다. ID 가 255자를 초과하면 안 됩니다.
permissionMode
필수
사용자의 리소스에 대한 액세스 모드: 모두 또는 읽기 .
모두 리소스에 대한 읽기, 쓰기 및 삭제 액세스를 제공합니다.
Read 는 사용자가 리소스에 대해 읽기 권한만 가질 수 있도록 제한합니다.
resource
필수
사용 권한과 연결된 리소스의 주소 지정 가능한 전체 경로입니다. 예를 들어 dbs/volcanodb/colls/volcano1입니다.
{
"id": "another_permission",
"permissionMode": "All",
"resource": "dbs/volcanodb/colls/volcano1"
}
응답
모든 Cosmos DB 응답 에서 반환되는 헤더는 일반적인 Azure Cosmos DB REST 응답 헤더를 참조하세요.
상태 코드
다음 표에는 이 작업에서 반환하는 일반적인 상태 코드가 나열되어 있습니다. 상태 코드의 전체 목록은 HTTP 상태 코드를 참조하세요 .
HTTP 상태 코드
Description
200 정상
바꾸기 작업이 성공했습니다.
400 잘못된 요청
JSON 본문이 잘못되었습니다. 누락된 중괄호나 따옴표를 확인하세요. 또한 설정 가능한 속성 중 하나 이상이 요청 본문에 없으면 400이 반환됩니다. 세 가지 설정 가능한 속성이 모두 포함되어 있는지 확인합니다.
404 찾을 수 없음
교체할 사용자는 더 이상 리소스가 아닙니다. 즉, 권한이 삭제되었습니다.
409 충돌
사용 권한에 대해 제공된 ID는 기존 권한에 의해 수행되었습니다. 새 권한이 사용자의 다른 사용 권한에 이미 할당된 경우 409도 반환됩니다.
본문
속성
Description
_제거
시스템 생성 속성입니다. 리소스 ID(_rid )는 리소스 모델의 리소스 스택에 따라 계층적인 고유 식별자입니다. 사용 권한 리소스의 배치와 탐색용으로 내부적으로 사용됩니다.
_ts
시스템 생성 속성입니다. 리소스가 마지막으로 업데이트된 시간의 타임스탬프를 지정합니다. 값은 타임스탬프입니다.
_self
시스템 생성 속성입니다. 고유한 주소를 지정할 수 있는 리소스의 URI입니다.
_etag
낙관적 동시성 제어에 필요한 리소스 etag 를 나타내는 시스템 생성 속성입니다.
_토큰
특정 리소스 및 사용자에 대한 시스템 생성 리소스 토큰입니다.
{
"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=;"
}
예제
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=;"
}
참고 항목