Permissões
O Azure Cosmos DB é um banco de dados multimodelo distribuído globalmente que dá suporte aos modelos de dados de documento, grafo e chave-valor. O conteúdo nesta seção destina-se ao gerenciamento de recursos de permissão usando a API do SQL por meio de REST.
Uma permissão é um token de autorização associado a um usuário para acesso autorizado a um recurso específico. Ele é usado para gerenciar o acesso a coleções, documentos, anexos, procedimentos armazenados, gatilhos e funções definidas pelo usuário para um usuário específico.
Você pode associar apenas uma permissão a um recurso específico para um usuário. Por exemplo, MarketingCollection com id "permision2" só pode ser associado a uma permissão para o usuário JanetSmith@contoso.com. Uma tentativa de adicionar outra permissão ao MarketingCollection para Janet resulta em um erro (Conflito 409).
Há apenas dois modos de permissão, All e Read. O modo All fornece acesso de leitura, gravação e exclusão a um recurso. O modo de leitura fornece acesso somente leitura a um recurso. Um token de recursos é criado sempre que um GET, PUT ou POST é executado em uma permissão. Por padrão, o período de validade de um token de recurso é de uma hora e pode ser estendido para até 5 horas especificando o valor desejado na configuração do x-ms-documentdb-expiry-seconds
cabeçalho. Para saber como definir esse cabeçalho, consulte a seção cabeçalhos do artigo Criar uma Permissão . O período de validade pode ser substituído em até 5 horas. O exemplo a seguir ilustra a construção JSON de uma permissão:
{
"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=;"
}
Propriedade | Descrição |
---|---|
id | Obrigatórios. É uma propriedade configurável pelo usuário. É o nome exclusivo que identifica a permissão, ou seja, nenhuma permissão compartilha a mesma ID dentro de um usuário. A ID não deve exceder 255 caracteres. |
permissionMode | Obrigatórios. O modo de acesso no recurso para o usuário: Tudo ou Leitura. Tudo fornece acesso de leitura, gravação e exclusão a um recurso. Leitura restringe o usuário para o recurso de acesso de leitura. |
recurso | Obrigatórios. O caminho totalmente endereçável do recurso associado com a permissão. Por exemplo, dbs/ruJjAA==/colls/ruJjAM9UnAA=/. |
_Livrar | É uma propriedade gerada pelo sistema. A ID do recurso (_rid) é um identificador exclusivo que também é hierárquico de acordo com a pilha de recursos no modelo de recurso. É usada internamente para posicionamento e navegação do recurso de permissão. |
_Ts | É uma propriedade gerada pelo sistema. Especifica o último carimbo de data/hora atualizado do recurso. O valor é um carimbo de data/hora. |
_Auto | É uma propriedade gerada pelo sistema. É o URI endereçável exclusivo do recurso. |
_Etag | É uma propriedade gerada pelo sistema que especifica a etag de recurso necessária para o controle de simultaneidade otimista. |
_Token | É um token de recurso gerado pelo sistema para o recurso e o usuário específicos. |
Tarefas
Você pode executar as seguintes tarefas com permissões:
- Criar uma permissão
- Permissões de lista
- Obter uma Permissão
- Substituir uma permissão
- Excluir uma permissão