Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Azure ABAC para Key Vault está em versão prévia. Alguns aspectos podem mudar antes da disponibilidade geral. Para consultar os termos de versão prévia, consulte os termos de uso complementares.
Este artigo descreve as ações, atributos e operadores com suporte que você pode usar em condições em Azure atribuições de função para Azure Key Vault. Para obter uma visão geral de como as condições de atribuição de função funcionam, consulte O que é Azure controle de acesso baseado em atributo (Azure ABAC)?. Para obter a lista de ações de dados Key Vault que uma permissão específica afeta, consulte o Azure guia de operações do RBAC para Key Vault plano de dados.
Visão geral
Azure ABAC para Key Vault se baseia em Azure RBAC adicionando condições a atribuições de função. Azure avalia cada condição em runtime em relação aos atributos do recurso que está sendo acessado ou à solicitação de entrada e permite ou nega a solicitação com base em operadores de comparação.
Os benefícios de usar condições de atribuição de função para Key Vault são:
- Acesso mais refinado a segredos. Restrinja uma entidade de segurança a segredos cujos nomes correspondem a um padrão específico (por exemplo,
app-*outeam-prod-*), ou a cofres de chaves específicos pelo nome do cofre. - Menos atribuições de função a serem gerenciadas. Use uma única atribuição de função fechada por condição para um grupo de segurança em vez de muitas atribuições individuais que modelam as mesmas permissões. O ABAC ajuda você a dimensionar o gerenciamento de funções– ele não concede permissões que uma atribuição de função ainda não concede.
- Estende o RBAC Azure existente. Camadas ABAC sobre suas atribuições de função existentes. Você não precisa substituir o RBAC para usá-lo.
Nesta versão prévia, o ABAC para Key Vault se aplica apenas a ações de dados secretas e dá suporte a dois atributos: o nome do cofre e o nome do segredo. Ações de dados importantes, ações de dados de certificado, atributos baseados em marca, atributos de token e condições internas Key Vault ABAC em qualquer função não estão incluídas.
Para usar condições ABAC, o modelo de permissão do cofre de chaves deve ser definido como Azure RBAC. Para obter informações em segundo plano, consulte Azure rbac vs. políticas de acesso e preparar para Key Vault API versão 2026-02-01 e posterior.
Formato da condição
As condições usam o seguinte formato geral:
@Resource[<ResourceType>:<AttributeName>] <Operator> '<Value>'
| Componente | Description |
|---|---|
@Resource |
Refere-se a um atributo do recurso que está sendo acessado. Use @Request quando o atributo descreve a solicitação de entrada (por exemplo, o nome de um segredo que ainda não existe). |
ResourceType |
O tipo de recurso Azure Resource Manager. Para Key Vault nesta versão prévia ou Microsoft.KeyVault/vaultsMicrosoft.KeyVault/vaults/secrets. |
AttributeName |
O atributo específico a ser avaliado. Nesta versão prévia, name é o único atributo com suporte. |
Operator |
O operador de comparação. Consulte operadores com suporte. |
Value |
O valor literal com o qual comparar. |
A versão da condição deve ser definida como 2.0. Para obter a gramática completa, consulte Azure formato de condição de atribuição de função e sintaxe.
Operadores suportados
Azure Key Vault condições ABAC dão suporte a todos os operadores de comparação de cadeia de caracteres definidos no formato de condição ABAC Azure. Para obter a lista completa de operadores e seu comportamento, consulte operadores de comparação de cadeia de caracteres.
Note
Azure operadores de comparação de cadeia de caracteres ABAC incluem variantes que diferenciam maiúsculas de minúsculas, mas Key Vault nomes de cofre e nomes de objeto não diferenciam maiúsculas de minúsculas e são normalizados em letras minúsculas. Como resultado, a correspondência que diferencia maiúsculas de minúsculas não se aplica a Key Vault condições abac. Use valores minúsculos em suas condições - um valor que contém caracteres maiúsculos não corresponderá a nenhum cofre ou nome secreto.
ações de Azure Key Vault
Você pode aplicar condições ABAC às seguintes ações de dados secretos Key Vault. Cada subseção descreve a ação, o DataAction subjacente, a fonte de atributo que ele avalia (Recurso ou Solicitação) e uma condição de exemplo.
Obter segredo
| Property | Valor |
|---|---|
| Nome de exibição | Obter segredo |
| Description | Obtém o valor de um segredo. |
| DataAction | Microsoft.KeyVault/vaults/secrets/getSecret/action |
| Atributos de recursos | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app' |
Ler metadados secretos
| Property | Valor |
|---|---|
| Nome de exibição | Ler metadados secretos |
| Description | Lista ou exibe as propriedades de um segredo, mas não seu valor. |
| DataAction | Microsoft.KeyVault/vaults/secrets/readMetadata/action |
| Atributos de recursos | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/readMetadata/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'api-' |
Aviso
Ela readMetadata/action abrange a recuperação de propriedades de um único segredo (que carrega um nome secreto) e a listagem de segredos em um cofre (uma chamada de coleção sem nome por segredo). O ABAC avalia uma condição por ação, não linha por linha em relação aos resultados da lista, portanto, uma condição de nome secreto falha na readMetadata/action chamada de lista com um erro 403 - o name atributo não está presente na solicitação de coleção e não pode corresponder. Esse comportamento aparece na folha Segredos do portal como uma lista em branco.
Se você quiser que uma entidade de segurança veja cada nome secreto na lista, mas abra apenas os valores que correspondem a um padrão, não abra readMetadata/action. Em vez disso, conceda readMetadata/action incondicionalmente e aplique a condição de nome secreto a getSecret/action. Consulte o exemplo restringir o acesso de leitura a segredos com um exemplo de prefixo de nome .
Definir segredo
| Property | Valor |
|---|---|
| Nome de exibição | Definir segredo |
| Description | Define o valor de um segredo. Se o segredo não existir, a primeira versão será criada. Caso contrário, uma versão será criada com o valor especificado. |
| DataAction | Microsoft.KeyVault/vaults/secrets/setSecret/action |
| Atributos de solicitação | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Atualizar segredo
| Property | Valor |
|---|---|
| Nome de exibição | Atualizar segredo |
| Description | Atualiza os atributos associados ao segredo especificado. |
| DataAction | Microsoft.KeyVault/vaults/secrets/update/action |
| Atributos de recursos | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/update/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Excluir segredo
| Property | Valor |
|---|---|
| Nome de exibição | Excluir segredo |
| Description | Exclui um segredo. Todas as versões são excluídas. |
| DataAction | Microsoft.KeyVault/vaults/secrets/delete |
| Atributos de recursos | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/delete'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'temp-' |
Segredo de backup
| Property | Valor |
|---|---|
| Nome de exibição | Segredo de backup |
| Description | Cria o arquivo de backup de um segredo. O arquivo pode ser usado para restaurar o segredo em um cofre de chaves da mesma assinatura. Restrições podem ser aplicadas. |
| DataAction | Microsoft.KeyVault/vaults/secrets/backup/action |
| Atributos de recursos | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/backup/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'critical-' |
Restaurar segredo
| Property | Valor |
|---|---|
| Nome de exibição | Restaurar segredo |
| Description | Restaura um segredo e todas as suas versões de um arquivo de backup gerado por Key Vault. |
| DataAction | Microsoft.KeyVault/vaults/secrets/restore/action |
| Atributos de solicitação | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/restore/action'}) OR @Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Recuperar segredo
| Property | Valor |
|---|---|
| Nome de exibição | Recuperar segredo |
| Description | Recupera um segredo excluído. A operação executa a reversão da operação Delete e é aplicável em cofres habilitados para exclusão reversível. |
| DataAction | Microsoft.KeyVault/vaults/secrets/recover/action |
| Atributos de recursos | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/recover/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-' |
Limpar segredo
| Property | Valor |
|---|---|
| Nome de exibição | Limpar segredo |
| Description | Limpa um segredo excluído, tornando-o irrecuperável. |
| DataAction | Microsoft.KeyVault/vaults/secrets/purge/action |
| Atributos de recursos | Nome do segredo |
| Example | !(ActionMatches{'Microsoft.KeyVault/vaults/secrets/purge/action'}) OR @Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'old-' |
Fontes de atributo
Os atributos descrevem as propriedades avaliadas no momento da solicitação. Os atributos de recurso descrevem o recurso que está sendo acessado. Os atributos de solicitação descrevem a solicitação de entrada quando o recurso pode ainda não existir (por exemplo, durante setSecret ou restore).
Nome do cofre
Use esse atributo para definir o escopo do acesso a cofres de chaves cujos nomes correspondem a um determinado padrão. Quando você aplica uma condição no escopo da assinatura ou do grupo de recursos, Azure avalia o nome do cofre para cada cofre que a entidade de segurança tenta acessar.
| Property | Valor |
|---|---|
| Nome de exibição | Nome do cofre |
| Description | O nome do cofre de chaves que está sendo acessado. |
| Attribute | Microsoft.KeyVault/vaults:name |
| Origem do atributo | Resource |
| Tipo de atributo | String |
| Ações aplicáveis | Todos os Key Vault ações de dados secretos (atributo global) |
Condições de exemplo:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'prod-'
@Resource[Microsoft.KeyVault/vaults:name] StringEquals 'sample-vault'
@Resource[Microsoft.KeyVault/vaults:name] StringLike 'team-*-prod'
Nome do segredo (Recurso)
Use esse atributo quando o segredo já existir no momento da avaliação.
| Property | Valor |
|---|---|
| Nome de exibição | Nome do segredo |
| Description | O nome do segredo que está sendo acessado. |
| Attribute | Microsoft.KeyVault/vaults/secrets:name |
| Origem do atributo | Resource |
| Tipo de atributo | String |
| Ações aplicáveis |
getSecret/action, readMetadata/action, update/action, delete, , backup/action, recover/action, purge/action |
Condições de exemplo:
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringLike 'api-key-*'
Nome do segredo (Solicitação)
Use esse atributo quando o segredo ainda não existir no momento da avaliação, como durante a criação ou restauração.
| Property | Valor |
|---|---|
| Nome de exibição | Nome do segredo (Solicitação) |
| Description | O nome de um segredo que está sendo solicitado. |
| Attribute | Microsoft.KeyVault/vaults/secrets:name |
| Origem do atributo | Solicitação |
| Tipo de atributo | String |
| Ações aplicáveis |
setSecret/action, restore/action |
Condições de exemplo:
@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
@Request[Microsoft.KeyVault/vaults/secrets:name] StringLike 'config-*'
Funções que dão suporte a condições abac
Você pode aplicar condições ABAC a qualquer função que inclua Key Vault segredodataActions. As funções que contêm apenas ações do plano de controle (como Proprietário ou Administrador de Política) não dão suporte a condições abac porque Azure avalia as condições exclusivamente em operações de plano de dados. Nesta versão prévia, nenhuma função interna inclui uma condição ABAC de Key Vault pré-atribuída– você cria a condição ao criar a atribuição de função.
As funções internas a seguir incluem ações de dados secretos e dão suporte a condições ABAC nesta versão prévia. Para obter as definições de função e as IDs completas, consulte Azure funções internas para operações de plano de dados Key Vault.
| Função | Description | ID | Suporte à condição |
|---|---|---|---|
| Administrador do Key Vault | Realize todas as operações do plano de dados em um cofre de chaves e todos os objetos nele contidos. | 00482a5a-887f-4fb3-b363-3b7fe8e74483 |
Atributos de recurso e solicitação em operações secretas |
| Responsável pelos segredos do Key Vault | Execute qualquer ação em segredos. | b86a8fe4-44ce-4948-aee5-eccb2c155cd7 |
Atributos de recurso em operações de leitura e ciclo de vida; Solicitar atributos e setSecretrestore operações |
| Usuário de segredos do Key Vault | Lê o conteúdo do segredo. | 4633458b-17de-408a-b874-0445c86b69e6 |
Atributos de recurso em operações de leitura secreta |
| Leitor do Key Vault | Leia metadados de cofres e seus objetos. | 21090545-7ca7-4776-b22c-e363652d74d2 |
Atributos de recurso ativados readMetadata/action para um único segredo. Uma condição de nome secreto aqui bloqueia chamadas de lista; consulte o aviso em Metadados do segredo de leitura. |
| Usuário do Certificado do Key Vault | Lê o conteúdo do certificado. | db79e9a7-68ee-4b58-9aeb-b90e7c24fcba |
Atributos de recurso ativados getSecret e readMetadata (os certificados são recuperados por meio do ponto de extremidade secreto - o nome do segredo é igual ao nome do certificado) |
| Funções personalizadas | Qualquer definição de função personalizada que inclua segredo dataActions para Key Vault. |
- | Depende de qual segredo dataActions está incluído |
Note
Somente as funções atribuídas por meio de Azure RBAC (não as políticas de acesso do cofre herdado) dão suporte a condições ABAC. O cofre de chaves deve ter seu modelo de permissão definido para Azure controle de acesso baseado em função. Começando com a API versão 2026-02-01, Azure RBAC é o padrão para cofres recém-criados. Para obter mais informações, consulte Prepare for Key Vault API versão 2026-02-01 e posterior.
Exemplos de condição
Os exemplos a seguir mostram padrões ABAC comuns para segredos Key Vault. Para obter mais informações sobre a sintaxe de condição, consulte Azure formato e sintaxe da condição de atribuição de função.
Exemplo: restringir o acesso de leitura a segredos com um prefixo de nome
Permitir que uma entidade de segurança leia somente os segredos cujos nomes começam com test-app:
- Função: Usuário de Segredos do Key Vault
- Escopo: recurso do cofre de chaves
- Condição:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'})
OR
(
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'test-app'
)
)
Comportamento:
- Permitido: Leitura
test-app-secret1. - Negado (
ForbiddenByRbac): Leituratest-db-password.
Exemplo: restringir o acesso a segredos em cofres específicos por prefixo de nome do cofre
Permitir que uma entidade de segurança leia segredos somente em cofres cujos nomes começam com kv-prod:
- Função: Usuário de Segredos do Key Vault
- Escopo: Assinatura
- Condição:
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'kv-prod'
Comportamento:
- Permitido: acesso a
kv-prod-1. - Negado: Acesso a
test-kv.
Exemplo: restringir segredos recém-criados a um prefixo de nome
Permitir que uma entidade de segurança crie segredos somente quando o nome do segredo começar com app-. Como o segredo ainda não existe no momento da avaliação, use o atributo Request:
- Função: Oficial de Segredos do Key Vault
- Escopo: recurso do cofre de chaves
- Condição:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/setSecret/action'})
OR
(
@Request[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'app-'
)
)
Exemplo: combinar condições de nome de cofre e segredo
Restrinja uma entidade de segurança para ler somente os segredos que começam em api- cofres cujos nomes começam com kv-prod:
- Função: Usuário de Segredos do Key Vault
- Escopo: Assinatura
- Condição:
(
!(ActionMatches{'Microsoft.KeyVault/vaults/secrets/getSecret/action'})
OR
(
@Resource[Microsoft.KeyVault/vaults:name] StringStartsWith 'kv-prod'
AND
@Resource[Microsoft.KeyVault/vaults/secrets:name] StringStartsWith 'api-'
)
)
Conteúdo relacionado
- Adicionar condições de atribuição de função para Key Vault segredos usando CLI do Azure (versão prévia)
- Adicionar condições de atribuição de função para Key Vault segredos usando Azure PowerShell (versão prévia)
- O que é o ABAC do Azure (controle de acesso baseado em atributo do Azure)?
- Sintaxe e formato da condição de atribuição de função do Azure
- Fornecer acesso a chaves, certificados e segredos do Key Vault com o RBAC do Azure
- Solucionar problemas de condições de atribuição de função do Azure
- Solucionar problemas de acesso ao Key Vault
- Preparar para Key Vault API versão 2026-02-01 e posterior