Exemplo de condições de atribuição de função do Azure para o Armazenamento de Blobs

Este artigo lista alguns exemplos de condições de atribuição de função para controlar o acesso ao Armazenamento de Blobs do Azure.

Importante

O ABAC (controle de acesso baseado em atributos) do Azure está em GA (disponibilidade geral) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2 e às Filas do Azure usando atributos request, resource, environment e principal nas camadas de desempenho da conta de armazenamento Standard e Premium. No momento, o atributo do recurso de metadados de contêiner e o atributo de solicitação de inclusão de blob de lista estão em VERSÃO PRÉVIA. Para obter informações completas sobre o status do recurso do ABAC para o Armazenamento do Azure, consulte Status dos recursos de condição no Armazenamento do Azure.

Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.

Pré-requisitos

Para obter informações sobre os pré-requisitos para adicionar ou editar condições de atribuição de função, confira Pré-requisitos das condições.

Resumo de exemplos deste artigo

Use a seguinte tabela para localizar rapidamente um exemplo que encaixa em seu cenário ABAC. A tabela inclui uma breve descrição do cenário, além de uma lista de atributos usados no exemplo pela origem (ambiente, entidade de segurança, solicitação e recurso).

Exemplo Ambiente Principal Solicitação Recurso
Leitura de blobs com uma marca de índice de blob marcas
Novos blobs devem incluir uma marca de índice de blob marcas
Os blobs existentes devem ter chaves de marca de índice de blob marcas
Os blobs existentes devem ter chaves e valores de marca de índice de blob marcas
Ler, gravar ou excluir blobs nos contêineres nomeados nome do contêiner
Leitura de blobs em contêineres nomeados com um caminho nome-do contêiner
caminho do blob
Leitura ou lista de blobs em contêineres nomeados com um caminho prefixo do blob nome-do contêiner
caminho do blob
Gravar blobs em contêineres nomeados com um caminho nome-do contêiner
caminho do blob
Leitura de blobs com uma marca de índice de blob e um caminho marcas
caminho do blob
Ler blobs em contêineres com metadados específicos container metadata
Gravar ou excluir blobs em contêineres com metadados específicos container metadata
Leitura de apenas versões atuais do blob isCurrentVersion
Leitura das versões atuais do blob e de uma versão específica do blob versionId isCurrentVersion
Excluir versões antigas do blob versionId
Leitura de versões atuais do blob e de quaisquer instantâneos de blob instantâneo isCurrentVersion
Permitir que a operação de blob de lista inclua metadados, instantâneos ou versões de blob list blob include
Restringir a operação de blob de lista para não incluir metadados de blob list blob include
Leitura de apenas contas de armazenamento com namespace hierárquico habilitado isHnsEnabled
Leitura de blobs com escopos específicos de criptografia Nome do escopo de criptografia
Ler ou gravar blobs na conta de armazenamento nomeada com escopo específico de criptografia Nome da conta de armazenamento
Nome do escopo da criptografia
Ler ou gravar blobs com base em marcas de índice de blob e atributos de segurança personalizados ID tags tags
Leitura de blobs com base em marcas de índice de blob e atributos de segurança personalizados de vários valores ID marcas
Permitir o acesso de leitura dos blobs após uma data e hora específicas UtcNow nome do contêiner
Permitir acesso a blobs em contêineres específicos de uma sub-rede específica Sub-rede nome do contêiner
Exigir acesso ao link privado para leitura de blobs com alta confidencialidade isPrivateLink marcas
Permitir acesso a um contêiner apenas a partir de um ponto de extremidade privado específico Ponto de extremidade privado nome do contêiner
Permitir acesso de leitura a dados de blob altamente confidenciais apenas a partir de um ponto de extremidade privado específico e por usuários marcados para acesso Ponto de extremidade privado ID marcas

Marcas de índice de blob

Esta seção inclui exemplos que envolvem marcas de índice de blob.

Importante

Embora atualmente a suboperação Read content from a blob with tag conditions tenha suporte para compatibilidade com condições implementadas durante a versão prévia dos recursos do ABAC, ela foi preterida e a Microsoft recomenda usar a ação Read a blobno lugar dela.

Ao configurar as condições do ABAC no portal do Azure, você poderá ver PRETERIDO: ler conteúdo de um blob com condições de marca. A Microsoft recomenda remover a operação e substituí-la pela ação Read a blob.

Se você estiver criando sua própria condição em que deseja restringir o acesso de leitura por condições de marca, veja Exemplo: ler blobs com uma marca de índice de blob.

Exemplo: ler blobs com uma marca de índice de blob

Essa condição permite que os usuários leiam blobs com uma chave de marca de índice de blob do Project e um valor de Cascade. Tentativas de acessar blobs sem essa marca de chave-valor não são permitidas.

Para que esta condição seja eficiente para uma entidade de segurança, você deve adicioná-la a todas as atribuições de função que incluam as seguintes ações:

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de condição que mostra o acesso de leitura aos blobs com uma marca de índice de blob.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o editor do portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Origem do atributo Recurso
Atributo Marcas de índice de blob [Valores na chave]
Chave {keyName}
Operador StringEquals
Valor {keyValue}

Captura de tela do editor de condições no portal do Azure que mostra o acesso de leitura aos blobs com uma marca de índice de blob.

Exemplo: novos blobs devem incluir uma marca de índice de blob

Essa condição requer que todos os blobs novos incluam uma chave de marca de índice de blob do Project e um valor de Cascade.

Existem duas ações que possibilitam que você crie novos blobs. Portanto, você deve direcionar ambas. Você deve adicionar essa condição a todas as atribuições de função que incluam uma das ações a seguir:

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de uma condição que mostra que os novos blobs precisam incluir uma marca de índice de blob.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Gravar em um blob com marcas de índice de blob
Gravar em um blob com marcas de índice de blob
Origem do atributo Solicitação
Atributo Marcas de índice de blob [Valores na chave]
Chave {keyName}
Operador StringEquals
Valor {keyValue}

Captura de tela do editor de condições no portal do Azure que mostra que os novos blobs precisam incluir uma marca de índice de blob.

Exemplo: os blobs existentes devem ter chaves de marca de índice de blob

Essa condição requer que todos os blobs existentes sejam marcados com pelo menos uma das chaves de marca de índice de blob: Project ou Program. Essa condição é útil para adicionar governança aos blobs existentes.

Existem duas ações que possibilitam que você atualize marcas em blobs existentes. Portanto, você deve direcionar ambas. Você deve adicionar essa condição a todas as atribuições de função que incluam uma das ações a seguir:

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de uma condição que mostra que os blobs existentes precisam ter chaves de marca de índice de blob.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Gravar em um blob com marcas de índice de blob
Gravar marcas de índice de blob
Origem do atributo Solicitação
Atributo Marcas de índice de blob [Chaves]
Operador ForAllOfAnyValues:StringEquals
Valor {keyName1}
{keyName2}

Captura de tela do editor de condições no portal do Azure que mostra que os blobs existentes precisam ter chaves de marca de índice de blob.

Exemplo: os blobs existentes devem ter chaves e valores de marca de índice de blob

Essa condição exige que todos os blobs existentes tenham uma chave de marca de índice de blob do Project e os valores de Cascade, Baker ou Skagit. Essa condição é útil para adicionar governança aos blobs existentes.

Existem duas ações que possibilitam que você atualize marcas em blobs existentes. Portanto, você deve direcionar ambas. Você deve adicionar essa condição a todas as atribuições de função que incluam uma das ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de uma condição que mostra que os blobs existentes precisam ter valores e uma chave de marca de índice de blob.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Gravar em um blob com marcas de índice de blob
Gravar marcas de índice de blob
Origem do atributo Solicitação
Atributo Marcas de índice de blob [Chaves]
Operador ForAnyOfAnyValues:StringEquals
Valor {keyName}
Operador E
Expressão 2
Origem do atributo Solicitação
Atributo Marcas de índice de blob [Valores na chave]
Chave {keyName}
Operador ForAllOfAnyValues:StringEquals
Valor {keyValue1}
{keyValue2}
{keyValue3}

Captura de tela do editor de condições no portal do Azure que mostra que os blobs existentes precisam ter valores e uma chave de marca de índice de blob.

Nomes ou caminhos de contêiner de blob

Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base no nome do contêiner ou no caminho do blob.

Exemplo: ler, gravar ou excluir blobs nos contêineres nomeados

Essa condição permite que os usuários leiam, gravem ou excluam blobs em contêineres de armazenamento chamados blobs-example-container. Essa condição é útil para compartilhar contêineres de armazenamento específicos com outros usuários em uma assinatura.

Há cinco ações de leitura, gravação e exclusão de blobs existentes. Você deve adicionar essa condição a todas as atribuições de função que incluam uma das ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente.

As suboperações não são usadas nessa condição porque a suboperação é necessária somente quando as condições são criadas com base em marcas.

Diagrama de uma condição que mostra a leitura, a gravação ou a exclusão de blobs em contêineres nomeados.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Captura de tela do editor de condições no portal do Azure que mostra a leitura, a gravação ou a exclusão de blobs em contêineres nomeados.

Exemplo: ler blobs em contêineres nomeados com um caminho

Essa condição permite acesso de leitura a contêineres de armazenamento chamados blobs-example-container com um caminho de blob de readonly/*. Essa condição é útil para compartilhar partes específicas de contêineres de armazenamento para acesso de leitura com outros usuários na assinatura.

Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente.

Diagrama de uma condição que mostra o acesso de leitura aos blobs em contêineres nomeados com um caminho.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor {containerName}
Expressão 2
Operador E
Origem do atributo Recurso
Atributo Caminho do Blob
Operador StringLike
Valor {pathString}

Captura de tela do editor de condições no portal do Azure que mostra o acesso de leitura aos blobs em contêineres nomeados com um caminho.

Exemplo: ler ou listar blobs em contêineres nomeados com um caminho

Essa condição permite acesso de leitura e também lista o acesso a contêineres de armazenamento chamados blobs-example-container com um caminho de blob de readonly/*. A primeira condição aplica-se a ações de leitura, exceto listar blobs. A segunda condição aplica-se a listar blobs. Essa condição é útil para compartilhar partes específicas de contêineres de armazenamento para acesso de leitura ou de lista com outros usuários na assinatura.

Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente.

Diagrama de uma condição que mostra o acesso de leitura e listagem aos blobs em contêineres nomeados com um caminho.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Observação

O portal do Azure usa prefix='' para listar blobs do diretório raiz do contêiner. Depois que a condição for adicionada com a operação de lista de blobs usando o prefixo StringStartsWith 'readonly/', os usuários de destino não poderão listar blobs do diretório raiz do contêiner no portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor {containerName}
Expressão 2
Operador E
Origem do atributo Recurso
Atributo Caminho do Blob
Operador StringStartsWith
Valor {pathString}
Condição número 2 Configuração
Ações Listar blobs
Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor {containerName}
Expressão 2
Operador E
Origem do atributo Solicitação
Atributo Prefixo do blob
Operador StringStartsWith
Valor {pathString}

Exemplo: gravar blobs em contêineres nomeados com um caminho

Essa condição permite que um parceiro (um usuário convidado do Microsoft Entra) solte arquivos em contêineres de armazenamento chamados Contosocorp com um caminho de uploads/contoso/*. Essa condição é útil para permitir que outros usuários coloquem dados em contêineres de armazenamento.

Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente.

Diagrama de uma condição que mostra o acesso de gravação aos blobs em contêineres nomeados com um caminho.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Gravar em um blob
Criar um blob ou um instantâneo ou acrescentar dados
Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor {containerName}
Expressão 2
Operador E
Origem do atributo Recurso
Atributo Caminho do Blob
Operador StringLike
Valor {pathString}

Captura de tela do editor de condições no portal do Azure que mostra o acesso de gravação aos blobs em contêineres nomeados com um caminho.

Exemplo: ler blobs com uma marca de índice de blob e um caminho

Essa condição permite que um usuário leia blobs com uma chave de marca de índice de blob do Program, um valor de Alpine e um caminho de blob de logs*. O caminho de blob de logs* também inclui o nome do blob.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de condição que mostra o acesso de leitura aos blobs com uma marca de índice de blob e um caminho.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Origem do atributo Recurso
Atributo Marcas de índice de blob [Valores na chave]
Chave {keyName}
Operador StringEquals
Valor {keyValue}

Captura de tela do editor da condição 1 no portal do Azure que mostra o acesso de leitura aos blobs com uma marca de índice de blob e um caminho.

Condição número 2 Configuração
Ações Ler um blob
Origem do atributo Recurso
Atributo Caminho do Blob
Operador StringLike
Valor {pathString}

Captura de tela do editor da condição 2 no portal do Azure que mostra o acesso de leitura aos blobs com uma marca de índice de blob e um caminho.

Metadados do contêiner de blobs

Exemplo: ler blobs em contêineres com metadados específicos

Essa condição permite que os usuários leiam blobs em contêineres de blobs com um par chave/valor de metadados específico.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Origem do atributo Recurso
Atributo Metadados do contêiner
Operador StringEquals
Valor {containerName}

Captura de tela do editor de condições no portal do Azure mostrando o blob de leitura no contêiner com metadados específicos.

Exemplo: gravar ou excluir blobs em contêineres com metadados específicos

Essa condição permite que os usuários gravem ou excluam blobs em contêineres de blob com um par chave/valor de metadados específico.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Gravar em um blob
Excluir um blob
Origem do atributo Recurso
Atributo Metadados do contêiner
Operador StringEquals
Valor {containerName}

Captura de tela do editor de condições no portal do Azure mostrando a gravação e exclusão de blobs em contêineres com metadados específicos.

Versões ou instantâneos de blob

Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base na versão ou instantâneo do blob.

Exemplo: ler apenas versões atuais do blob

Essa condição permite que um usuário leia apenas as versões atuais do blob. O usuário não pode ler outras versões do blob.

Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de uma condição que mostra o acesso de leitura apenas à versão atual do blob.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo É a versão atual
Operador BoolEquals
Valor Verdadeiro

Exemplo: ler as versões atuais do blob e uma versão específica do blob

Essa condição permite que um usuário leia as versões atuais do blob, bem como os blobs com ID de versão de 2022-06-01T23:38:32.8883645Z. O usuário não pode ler outras versões do blob. O atributo Version ID só está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read

Diagrama de uma condição que mostra o acesso de leitura apenas a uma versão específica do blob.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Origem do atributo Solicitação
Atributo ID da Versão
Operador DateTimeEquals
Valor <blobVersionId>
Expressão 2
Operador Ou
Origem do atributo Recurso
Atributo É a versão atual
Operador BoolEquals
Valor Verdadeiro

Exemplo: excluir versões antigas do blob

Essa condição permite que um usuário exclua versões de um blob anteriores a 06/01/2022 para executar a limpeza. O atributo Version ID só está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado.

Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/deleteBlobVersion/action

Diagrama de uma condição que mostra o acesso de exclusão às versões antigas do blob.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Excluir um blob
Excluir uma versão de um blob
Origem do atributo Solicitação
Atributo ID da Versão
Operador DateTimeLessThan
Valor <blobVersionId>

Exemplo: ler versões atuais do blob e quaisquer instantâneos de blob

Essa condição permite que um usuário leia as versões atuais do blob e quaisquer instantâneos de blob. O atributo Version ID só está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado. O atributo Snapshot está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado e atualmente em versão prévia para contas de armazenamento em que o namespace hierárquico está habilitado.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de uma condição que mostra o acesso de leitura às versões atuais do blob e os instantâneos de blob.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Solicitação
Atributo Instantâneo
Exists Verificado
Expressão 2
Operador Ou
Origem do atributo Recurso
Atributo É a versão atual
Operador BoolEquals
Valor Verdadeiro

Exemplo: permitir que a operação de blob de lista inclua metadados, instantâneos ou versões de blob

Essa condição permite que um usuário liste blobs em um contêiner e inclua metadados, instantâneos e informações de versão. O atributo List blobs include está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado.

Observação

List blobs include é um atributo de solicitação e funciona permitindo ou restringindo valores no parâmetro include ao chamar a operação List Blobs. Os valores no parâmetro include são comparados com os valores especificados na condição usando operadores de comparação de produtos cruzados. Se a comparação for avaliada como verdadeira, a solicitação List Blobs será permitida. Se a comparação for avaliada como falsa, a solicitação List Blobs será negada.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Listar blobs
Origem do atributo Solicitação
Atributo List blobs include
Operador ForAllOfAnyValues:StringEqualsIgnoreCase
Valor {'metadata', 'snapshots', 'versions'}

Captura de tela do editor de condições no portal do Azure mostrando uma condição para permitir que um usuário liste blobs em um contêiner e inclua metadados, instantâneos e informações de versão.

Exemplo: restringir a operação de blob de lista para não incluir metadados de blob

Esta condição impede que um usuário liste blobs quando os metadados estão incluídos na solicitação. O atributo List blobs include está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado.

Observação

List blobs include é um atributo de solicitação e funciona permitindo ou restringindo valores no parâmetro include ao chamar a operação List Blobs. Os valores no parâmetro include são comparados com os valores especificados na condição usando operadores de comparação de produtos cruzados. Se a comparação for avaliada como verdadeira, a solicitação List Blobs será permitida. Se a comparação for avaliada como falsa, a solicitação List Blobs será negada.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Listar blobs
Origem do atributo Solicitação
Atributo List blobs include
Operador ForAllOfAllValues:StringNotEquals
Valor {'metadata'}

Captura de tela do editor de condições no portal do Azure mostrando uma condição para evitar que um usuário liste blobs quando os metadados estão incluídos na solicitação.

Namespace hierárquico

Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base no fato de o namespace hierárquico estar habilitado para uma conta de armazenamento.

Exemplo: ler somente contas de armazenamento com namespace hierárquico habilitado

Essa condição permite que um usuário leia apenas blobs em contas de armazenamento com namespace hierárquico habilitado. Essa condição se aplica somente no escopo de grupo de recursos ou acima.

Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de uma condição que mostra o acesso de leitura às contas de armazenamento com o namespace hierárquico habilitado.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo Está habilitado para namespace hierárquico
Operador BoolEquals
Valor Verdadeiro

Escopo de criptografia

Esta seção inclui exemplos que mostram como restringir o acesso a objetos com um escopo de criptografia aprovado.

Exemplo: ler blobs com escopos específicos de criptografia

Essa condição permite que um usuário leia blobs criptografados com escopo de criptografia validScope1 ou validScope2.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Diagrama de uma condição que mostra o acesso de leitura aos blobs com o escopo de criptografia validScope1 ou validScope2.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Origem do atributo Recurso
Atributo Nome do escopo de criptografia
Operador ForAnyOfAnyValues:StringEquals
Valor <scopeName>

Exemplo: ler ou gravar blobs na conta de armazenamento nomeada com escopo específico de criptografia

Essa condição permite que um usuário leia ou grave blobs em uma conta de armazenamento nomeada sampleaccount e criptografada com escopo de criptografia ScopeCustomKey1. Se os blobs não forem criptografados ou descriptografados com ScopeCustomKey1, a solicitação retornará proibida.

Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Observação

Como os escopos de criptografia de contas de armazenamento diferentes podem ser diferentes, é recomendável usar o atributo storageAccounts:name com o atributo encryptionScopes:name para restringir o escopo de criptografia específico a ser permitido.

Diagrama de uma condição que mostra o acesso de leitura ou de gravação aos blobs na conta de armazenamento de exemplo com o escopo de criptografia ScopeCustomKey1.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler um blob
Gravar em um blob
Criar um blob ou um instantâneo ou acrescentar dados
Origem do atributo Recurso
Atributo Nome da Conta
Operador StringEquals
Valor <accountName>
Expressão 2
Operador E
Origem do atributo Recurso
Atributo Nome do escopo de criptografia
Operador ForAnyOfAnyValues:StringEquals
Valor <scopeName>

Atributos principais

Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base em uma entidade de segurança personalizada.

Exemplo: ler ou gravar blobs com base em marcas de índice de blob e atributos de segurança personalizados

Essa condição permite acesso de leitura e gravação aos blobs se o usuário tiver um atributo de segurança personalizado que corresponda à marca de índice de blob.

Por exemplo, se Brenda tiver o atributo Project=Baker, ela só poderá ler ou gravar blobs com a marca de índice de blob Project=Baker. Da mesma forma, Chandra só poderá ler e gravar blobs com Project=Cascade.

Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Para mais informações, acesse Permitir acesso de leitura a blobs com base em marcas e atributos de segurança personalizados.

Diagrama de uma condição que mostra o acesso de leitura ou de gravação aos blobs com base nas marcas de índice de blob e nos atributos de segurança personalizados.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler as condições de um blob
Origem do atributo Principal
Atributo <attributeset>_<key>
Operador StringEquals
Opção Atributo
Origem do atributo Recurso
Atributo Marcas de índice de blob [Valores na chave]
Chave <chave>
Condição número 2 Configuração
Ações Gravar em um blob com marcas de índice de blob
Gravar em um blob com marcas de índice de blob
Origem do atributo Principal
Atributo <attributeset>_<key>
Operador StringEquals
Opção Atributo
Origem do atributo Solicitação
Atributo Marcas de índice de blob [Valores na chave]
Chave <chave>

Exemplo: ler blobs com base em marcas de índice de blob e atributos de segurança personalizados de vários valores

Essa condição permite acesso de leitura aos blobs se o usuário tiver um atributo de segurança personalizado com quaisquer valores que correspondam à marca de índice de blob.

Por exemplo, se a Project tem o atributo Project com os valores Padeiro e Cascata, ela só poderá ler blobs com a marca de índice Project=Baker ou Project=Cascade do blob.

Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

Para mais informações, acesse Permitir acesso de leitura a blobs com base em marcas e atributos de segurança personalizados.

Diagrama de uma condição que mostra o acesso de leitura aos blobs com base nas marcas de índice de blob e nos atributos de segurança personalizados de vários valores.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o portal do Azure.

Condição número 1 Configuração
Ações Ler as condições de um blob
Origem do atributo Recurso
Atributo Marcas de índice de blob [Valores na chave]
Chave <chave>
Operador ForAnyOfAnyValues:StringEquals
Opção Atributo
Origem do atributo Principal
Atributo <attributeset>_<key>

Atributos de ambiente

Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base no ambiente de rede ou na data e hora atuais.

Exemplo: permitir acesso de leitura dos blobs após uma data e hora específicas

Esta condição permite o acesso de leitura ao contêiner container1 de blob somente após 13 horas do dia 1º de maio de 2023, Tempo Universal Coordenado (UTC).

Há duas ações possíveis para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Adicionar ação

Selecione Adicionar ação e depois selecione somente a sub-operação Leitura de um blob conforme mostrado na seguinte tabela.

Ação Suboperação
Todas as operações de leitura Ler um blob

Não selecione a ação Todas as operações de leitura de nível superior ou qualquer outra sub-operação conforme mostrado na seguinte imagem:

Captura de tela do editor de condições no portal do Azure mostrando a seleção da operação somente leitura.

Compilar expressão

Use os valores na seguinte tabela para compilar a parte da expressão da condição:

Configuração Valor
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor container1
Operador lógico 'AND'
Origem do atributo Ambiente
Atributo UtcNow
Operador DateTimeGreaterThan
Valor 2023-05-01T13:00:00.000Z

A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.

Captura de tela do editor de condições no portal do Azure mostrando o acesso de leitura permitido após uma data e hora específicas.

Exemplo: permitir acesso a blobs em contêineres específicos a partir de uma sub-rede específica

Esta condição permite acesso de leitura, gravação, adição e exclusão a blobs container1apenas a partir da sub-rede default na rede virtual virtualnetwork1. Para usar o atributo sub-rede neste exemplo, a sub-rede deve ter pontos de extremidade de serviço habilitados para o Armazenamento do Microsoft Azure.

Há cinco ações possíveis para acesso de leitura, gravação, adição e exclusão de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Adicionar ação

Selecione Adicionar ação e depois selecione apenas as ações de nível superior mostradas na seguinte tabela.

Ação Suboperação
Todas as operações de leitura n/a
Gravar em um blob n/a
Criar um blob ou um instantâneo ou acrescentar dados n/a
Excluir um blob n/a

Não selecione nenhuma sub-operação individual conforme mostrado na seguinte imagem:

Captura de tela do editor de condições no portal do Azure com a seleção de operações de leitura, gravação, adição e exclusão.

Compilar expressão

Use os valores na seguinte tabela para compilar a parte da expressão da condição:

Configuração Valor
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor container1
Operador lógico 'AND'
Origem do atributo Ambiente
Atributo Sub-rede
Operador StringEqualsIgnoreCase
Valor /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworks/virtualnetwork1/subnets/default

A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.

Captura de tela do editor de condições no portal do Azure mostrando o acesso de leitura a contêineres específicos permitidos a partir de uma sub-rede específica.

Esta condição exige que as solicitações de leitura de blobs em que a confidencialidade da marca de índice de blob tenha um valor de high para estar em um link privado (qualquer link privado). Isso significa que todas as tentativas de leitura de blobs altamente confidenciais da Internet pública não serão permitidas. Os usuários podem ler blobs da Internet pública que tenham confidencialidade definida para algum valor diferente de high.

Segue uma tabela de verdade para esta condição de amostra do ABAC:

Ação Confidencialidade Link privado Acesso
Ler um blob high Sim Permitido
Ler um blob high Não Não Permitido
Ler um blob NÃO alta Sim Permitido
Ler um blob NÃO alta Não Permitido

Há duas ações possíveis para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o editor de condição de visual no portal do Azure.

Adicionar ação

Selecione Adicionar ação e depois selecione somente a sub-operação Leitura de um blob conforme mostrado na seguinte tabela.

Ação Suboperação
Todas as operações de leitura Ler um blob

Não selecione a ação Todas as operações de leitura de nível superior de qualquer outra sub-operação conforme mostrado na seguinte imagem:

Captura de tela do editor de condições no portal do Azure mostrando a seleção da operação somente leitura.

Compilar expressão

Use os valores na seguinte tabela para compilar a parte da expressão da condição:

Grupo Configuração Valor
Grupo #1
Origem do atributo Recurso
Atributo Marcas de índice de blob [Valores na chave]
Chave sensitivity
Operador StringEquals
Valor high
Operador lógico 'AND'
Origem do atributo Ambiente
Atributo É um link privado
Operador BoolEquals
Valor True
Fim do Grupo #1
Operador lógico 'OR'
Origem do atributo Recurso
Atributo Marcas de índice de blob [Valores na chave]
Chave sensitivity
Operador StringNotEquals
Valor high

A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.

Captura de tela do editor de condição no portal do Azure mostrando o acesso de leitura que requer qualquer link privado para dados confidenciais.

Exemplo: permitir acesso a um contêiner somente a partir de um ponto de extremidade privado específico

Esta condição requer que todas as operações de leitura, gravação, adição e exclusão para blobs em um contêiner de armazenamento nomeado container1 sejam feitas através de um ponto de extremidade privado nomeado privateendpoint1. Para todos os outros contêineres não nomeados container1, o acesso não precisa ser feito através do ponto de extremidade privado.

Há cinco potenciais ações de leitura, gravação e exclusão de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o editor de condição de visual no portal do Azure.

Adicionar ação

Selecione Adicionar ação e depois selecione apenas as ações de nível superior mostradas na seguinte tabela.

Ação Suboperação
Todas as operações de leitura n/a
Gravar em um blob n/a
Criar um blob ou um instantâneo ou acrescentar dados n/a
Excluir um blob n/a

Não selecione nenhuma sub-operação individual conforme mostrado na seguinte imagem:

Captura de tela do editor de condições no portal do Azure com a seleção de operações de leitura, gravação, adição e exclusão.

Compilar expressão

Use os valores na seguinte tabela para compilar a parte da expressão da condição:

Grupo Configuração Valor
Grupo #1
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor container1
Operador lógico 'AND'
Origem do atributo Ambiente
Atributo Ponto de extremidade privado
Operador StringEqualsIgnoreCase
Valor /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/privateEndpoints/privateendpoint1
Fim do Grupo #1
Operador lógico 'OR'
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringNotEquals
Valor container1

A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.

Captura de tela do editor de condições no portal do Azure com a seleção de operações de leitura, gravação ou exclusão de blobs em contêineres nomeados com ponto de extremidade privado.

Exemplo: permitir acesso de leitura a dados de blob altamente confidenciais apenas a partir de um ponto de extremidade privado específico e por usuários marcados para acesso

Esta condição exige que blobs com confidencialidade de marca de índice definida como high possam ser lidos somente por usuários que tenham um valor correspondente para o atributo de segurança de confidencialidade. Além disso, eles devem ser acessados por meio de um ponto de extremidade privado nomeado privateendpoint1. Os blobs que têm um valor diferente para a marca de confidencialidade podem ser acessados por outros pontos de extremidade ou pela Internet.

Há duas ações possíveis para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.

Ação Observações
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.

A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.

Aqui estão as configurações para adicionar essa condição usando o editor de condição de visual no portal do Azure.

Adicionar ação

Selecione Adicionar ação e depois selecione somente a sub-operação Leitura de um blob conforme mostrado na seguinte tabela.

Ação Suboperação
Todas as operações de leitura Ler um blob

Não selecione a ação de nível superior, conforme mostrado na seguinte imagem:

Captura de tela do editor de condições no portal do Azure mostrando a seleção da operação de leitura de um blob.

Compilar expressão

Use os valores na seguinte tabela para compilar a parte da expressão da condição:

Grupo Configuração Valor
Grupo #1
Origem do atributo Principal
Atributo <attributeset>_<key>
Operador StringEquals
Opção Atributo
Operador lógico 'AND'
Origem do atributo Recurso
Atributo Marcas de índice de blob [Valores na chave]
Chave <chave>
Operador lógico 'AND'
Origem do atributo Ambiente
Atributo Ponto de extremidade privado
Operador StringEqualsIgnoreCase
Valor /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/privateEndpoints/privateendpoint1
Fim do Grupo #1
Operador lógico 'OR'
Origem do atributo Recurso
Atributo Marcas de índice de blob [Valores na chave]
Chave sensitivity
Operador StringNotEquals
Valor high

A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.

Captura de tela do editor de condição no portal do Azure mostrando o acesso de leitura permitido em um ponto de extremidade privado específico para usuários marcados.

Próximas etapas