Permissões
O Azure Cosmos DB é uma base de dados de vários modelos distribuída globalmente que suporta os modelos de dados de documentos, gráficos e chave-valor. O conteúdo nesta secção destina-se à gestão de recursos de permissão através da API SQL através do REST.
Uma permissão é um token de autorização associado a um utilizador para acesso autorizado a um recurso específico. É utilizado para gerir o acesso a coleções, documentos, anexos, procedimentos armazenados, acionadores e funções definidas pelo utilizador para um determinado utilizador.
Só pode associar uma permissão a um recurso específico para um utilizador. Por exemplo, MarketingCollection com o ID "permision2" só pode ser associado a uma permissão para o utilizador JanetSmith@contoso.com. Uma tentativa de adicionar outra permissão a MarketingCollection para Janet resulta num erro (409 Conflito).
Existem apenas dois modos de permissão, Tudo e Leitura. O modo Todos fornece acesso de leitura, escrita e eliminação a um recurso. O Modo de leitura fornece acesso só de leitura a um recurso. É criado um token de recurso sempre que um GET, PUT ou POST é efetuado com uma permissão. Por predefinição, o período de validade de um token de recurso é de uma hora e pode ser prolongado até 5 horas ao especificar o valor pretendido na definição do x-ms-documentdb-expiry-seconds
cabeçalho. Para saber como definir este cabeçalho, veja a secção cabeçalhos do artigo Criar uma Permissão . O período de validade pode ser substituído até 5 horas. O exemplo seguinte 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ório. É uma propriedade de definição de utilizador. É o nome exclusivo que identifica a permissão, ou seja, não existem duas permissões que partilhem o mesmo ID dentro de um utilizador. O ID não pode exceder os 255 carateres. |
permissionMode | Obrigatório. O modo de acesso no recurso para o utilizador: Tudo ou Lido. Todos fornecem acesso de leitura, escrita e eliminação a um recurso. A leitura restringe o acesso de leitura do utilizador ao recurso. |
recurso | Obrigatório. O caminho endereçável completo do recurso associado à permissão. Por exemplo, dbs/ruJjAA==/colls/ruJjAM9UnAA=/. |
_rid | É uma propriedade gerada pelo sistema. O ID do recurso (_rid) é um identificador exclusivo que também é hierárquico de acordo com a pilha de recursos no modelo de recursos. É utilizado internamente para colocação 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. |
_self | É uma propriedade gerada pelo sistema. É o URI endereçável exclusivo para o recurso. |
_etag | É uma propriedade gerada pelo sistema que especifica o etag de recursos necessário para o controlo de simultaneidade otimista. |
_token | É um token de recurso gerado pelo sistema para o recurso e o utilizador específicos. |
Tarefas
Pode realizar as seguintes tarefas com permissões:
- Criar uma Permissão
- Permissões de Lista
- Obter uma Permissão
- Substituir uma Permissão
- Eliminar uma Permissão