사용 권한 바꾸기

특정 사용 권한 리소스에서 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=;"  
}  
  

참고 항목