Azure Cosmos 데이터베이스 내에서 새 권한 만들기
작업은 Create Permission
데이터베이스에 새 권한을 만듭니다.
요청
메서드 |
요청 URI |
설명 |
POST |
https://{databaseaccount}.documents.azure.com/dbs/{db-id}/users/{user-name}/permissions |
{databaseaccount}는 구독에서 만든 Azure Cosmos DB 계정의 이름입니다. {db-id} 값은 시스템 생성 ID(rid)가 아니라 사용자가 생성한 데이터베이스의 이름/ID입니다. {user-name} 값은 사용 권한을 소유한 사용자의 이름입니다. |
모든 Azure 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": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1"
}
응답
모든 Azure Cosmos DB 응답 에서 반환되는 헤더는 일반적인 Azure Cosmos DB REST 응답 헤더를 참조하세요.
상태 코드
다음 표에는 이 작업에서 반환하는 일반적인 상태 코드가 나열되어 있습니다. 상태 코드의 전체 목록은 HTTP 상태 코드를 참조하세요.
HTTP 상태 코드 |
설명 |
201 생성됨 |
작업이 완료되었습니다. |
400 잘못된 요청 |
JSON 본문이 잘못되었습니다. 누락된 중괄호나 따옴표를 확인하세요. 또한 설정 가능한 속성 중 하나 이상이 요청 본문에 없으면 400이 반환됩니다. 세 가지 설정 가능한 속성이 모두 포함되어 있는지 확인합니다. |
409 충돌 |
새 권한에 대해 제공된 ID는 기존 권한에 의해 수행되었습니다. 사용자의 다른 사용 권한과 이미 연결된 리소스에 새 사용 권한이 할당되면 409도 반환됩니다. |
본문
속성 |
Description |
_제거 |
시스템 생성 속성입니다. 리소스 ID(_rid)는 리소스 모델의 리소스 스택에 따라 계층적인 고유 식별자입니다. 사용 권한 리소스의 배치와 탐색용으로 내부적으로 사용됩니다. |
_ts |
시스템 생성 속성입니다. 리소스가 마지막으로 업데이트된 시간의 타임스탬프를 지정합니다. 값은 타임스탬프입니다. |
_self |
시스템 생성 속성입니다. 고유한 주소를 지정할 수 있는 리소스의 URI입니다. |
_etag |
낙관적 동시성 제어에 필요한 리소스 etag 를 나타내는 시스템 생성 속성입니다. |
_토큰 |
특정 리소스 및 사용자에 대한 시스템 생성 리소스 토큰입니다. |
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449604760,
"_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",
"_etag": "\"00000e00-0000-0000-0000-566736980000\"",
"_token": "type=resource&ver=1&sig=4\/IPvcZwC9TnN\/M1gPjuBg==;C1Q5UpZAgytiayVo\/GPAbBklnnRuGqGB2o\/42KTuZfmN4P6a83JP4LU34neSg25\/8Wt5wwINjy6Vf8rr9fG09FxnGX9jHAM+Zzhqyqjt4rv3Dk3pN+sjC0KTE5jDiTkCdAlxHv4TYaTLOnEWdeVUKevuAPFbmUQGSwk9ipjv11BqWPK\/cN4lUujSfRc3rRaI8pgf90p0bD6KBTJlB+0sFjdI3P1hzunNvd9s9CHJ09U=;"
}
예제
POST https://contosomarketing.documents.azure.com/dbs/volcanodb/users/a_user/permissions HTTP/1.1
x-ms-date: Tue, 08 Dec 2015 19:59:19 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dwBH%2bhvVN5L4fu508ixzH%2bc7pQNfg7meU62MydCoead0%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Content-Length: 87
Expect: 100-continue
Connection: Keep-Alive
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1"
}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
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: "00000e00-0000-0000-0000-566736980000"
x-ms-resource-quota: permissions=2000000;
x-ms-resource-usage: permissions=1;
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: 865
x-ms-session-token: 866
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 4.95
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: 4069f7dc-3863-4ae0-8df8-828bc86d75dc
x-ms-gatewayversion: version=1.5.57.3
Date: Tue, 08 Dec 2015 19:59:21 GMT
Content-Length: 579
{
"id": "a_permission",
"permissionMode": "Read",
"resource": "dbs/volcanodb/colls/volcano1",
"_rid": "Sl8fAG8cXgBn6Ju2GqNsAA==",
"_ts": 1449604760,
"_self": "dbs\/Sl8fAA==\/users\/Sl8fAG8cXgA=\/permissions\/Sl8fAG8cXgBn6Ju2GqNsAA==\/",
"_etag": "\"00000e00-0000-0000-0000-566736980000\"",
"_token": "type=resource&ver=1&sig=4\/IPvcZwC9TnN\/M1gPjuBg==;C1Q5UpZAgytiayVo\/GPAbBklnnRuGqGB2o\/42KTuZfmN4P6a83JP4LU34neSg25\/8Wt5wwINjy6Vf8rr9fG09FxnGX9jHAM+Zzhqyqjt4rv3Dk3pN+sjC0KTE5jDiTkCdAlxHv4TYaTLOnEWdeVUKevuAPFbmUQGSwk9ipjv11BqWPK\/cN4lUujSfRc3rRaI8pgf90p0bD6KBTJlB+0sFjdI3P1hzunNvd9s9CHJ09U=;"
}
참고 항목