Compartilhar via


Exemplo de condições de atribuição de função do Azure para 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 controle de acesso baseado em atributos (ABAC) do Azure está em disponibilidade geral (GA) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2 e às Filas do Azure usando os atributos request, resource, environment e principal nas camadas de desempenho das contas de armazenamento Standard e Premium. Atualmente, o atributo de solicitação de inclusão de blob de lista e atributo de solicitação de instantâneo para namespace hierárquico estão em VERSÃO PRÉVIA. Para saber mais sobre o status de recursos do ABAC para o Armazenamento do Azure, confira 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 Entidade de segurança Solicitação Recurso
Leitura de blobs com uma marca de índice de blob etiquetas
Novos blobs devem incluir uma marca de índice de blob etiquetas
Os blobs existentes devem ter chaves de marca de índice de blob etiquetas
Os blobs existentes devem ter chaves e valores de marca de índice de blob etiquetas
Ler, gravar ou excluir blobs em contêineres designados nome do contêiner
Ler blobs em contêineres nomeados com caminho definido nome do contêiner
caminho do blob
Ler ou listar blobs em contêineres específicos 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 metadados de contêiner
Gravar ou excluir blobs no contêiner com metadados específicos metadados de contêiner
Leitura de apenas versões atuais do blob éVersãoAtual
Leitura das versões atuais do blob e de uma versão específica do blob versionId isCurrentVersion
Excluir versões de blob antigas versionId
Leitura de versões atuais do blob e de quaisquer instantâneos de blob instantâneo éVersãoAtual
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
Ler somente 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 de criptografia
Ler ou gravar blobs com base em marcas de índice de blob e atributos de segurança personalizados ID etiquetas etiquetas
Leitura de blobs com base em marcas de índice de blob e atributos de segurança personalizados de vários valores ID etiquetas
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 etiquetas
Permitir o acesso a um contêiner somente de um ponto de extremidade privado específico Ponto de extremidade privado nome do contêiner
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 Ponto de extremidade privado ID etiquetas

Marcas de índice de blob

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

Importante

Embora a Read content from a blob with tag conditions suboperação atualmente tenha suporte para compatibilidade com condições implementadas durante a visualização de recursos do ABAC, ela foi considerada obsoleta e, portanto, a Microsoft recomenda usar a ação Read a blob.

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 Anotaçõ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 mostrando o acesso de leitura a 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 visual e a guia editor de código para ver os exemplos do editor de portal de sua preferência.

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

Condição nº 1 Configurações
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 mostrando a permissão de leitura a 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.

Há duas ações que permitem criar novos blobs, portanto, você deve direcionar ambos. Você deve adicionar essa condição a quaisquer atribuições de função que incluam uma das seguintes ações:

Ação Anotaçõ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.

O diagrama de condição que mostra novos blobs deve 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 visual e a guia editor de código para ver 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º 1 Configurações
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 novos blobs devem incluir uma tag de índice de blob.

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

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

Há duas ações que permitem atualizar tags em blobs existentes, portanto, você deve direcionar ambas. Você deve adicionar essa condição a quaisquer atribuições de função que incluam uma das seguintes ações:

Ação Anotaçõ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 condição que mostra que os blobs existentes devem 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 visual e a guia editor de código para ver 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º 1 Configurações
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.

Há duas ações que permitem atualizar tags em blobs existentes, portanto, você deve direcionar ambas. Você deve adicionar essa condição a quaisquer atribuições de função que incluam uma das ações a seguir.

Ação Anotaçõ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 condição mostrando que os blobs existentes devem ter uma chave de marca de índice de blob e 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 visual e a guia editor de código para ver 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º 1 Configurações
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 ParaQualquerDosValores:StringIgual
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 mostrando que os blobs existentes devem ter uma chave de marca de índice de blob e seus valores.

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 em 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 para leitura, gravação e exclusão de blobs existentes. Você deve adicionar essa condição a quaisquer atribuições de função que incluam uma das ações a seguir.

Ação Anotaçõ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 poderão ser habilitados no futuro.

As suboperações não são utilizadas nessa condição porque só são necessárias quando as condições são criadas com base em etiquetas.

Diagrama de condição mostrando a leitura, gravação ou exclusão de blobs em contêineres específicos.

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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Excluir um blob
Ler um blob
Gravar em um blob
Criar um blob, um instantâneo ou acrescentar dados
Todas as operações de dados para contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor {containerName}

Captura de tela do editor de condições no portal do Azure mostrando blobs de leitura, gravação ou exclusão 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 quaisquer atribuições de função que incluam as ações a seguir.

Ação Anotaçõ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 poderão ser habilitados no futuro.

Diagrama de condição mostrando o acesso de leitura a 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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Ler um blob
Todas as operações de dados para 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 mostrando o acesso de leitura a 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 condição nº 2 aplica-se aos blobs de lista. Essa condição é útil para compartilhar partes específicas de contêineres de armazenamento para acesso de leitura ou de listagem com outros usuários na assinatura.

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

Ação Anotaçõ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 poderão ser habilitados no futuro.

Diagrama de condições mostrando acesso de leitura e listagem a blobs em contêineres nomeados que possuem 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 visual e a guia editor de código para ver 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 prefixo='' para listar blobs do diretório raiz do contêiner. Depois que a condição for adicionada com a operação de listagem de blobs usando o prefixo StringStartsWith 'readonly/', os usuários específicos não poderão listar blobs do diretório raiz do contêiner no portal do Azure.

Condição nº 1 Configurações
Ações Ler um blob
Todas as operações de dados para 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º 2 Configurações
Ações Listar blobs
Todas as operações de dados para 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, utilizando o caminho 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 quaisquer atribuições de função que incluam as ações a seguir.

Ação Anotaçõ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 poderão ser habilitados no futuro.

Diagrama de condição mostrando o acesso de gravação a blobs em contêineres específicos 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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Gravar em um blob
Criar um blob, um instantâneo ou acrescentar dados
Todas as operações de dados para 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 mostrando o acesso de gravação aos blobs em contêineres nomeados que possuem 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 quaisquer atribuições de função que incluam a ação a seguir.

Ação Anotaçõ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 mostrando o acesso de leitura a blobs com uma marca de índice de blob e um caminho específico.

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 visual e a guia editor de código para ver 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º 1 Configurações
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 exibindo o acesso de leitura a blobs com uma marca de índice de blob e um caminho.

Condição nº 2 Configurações
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 mostrando o acesso de leitura a blobs com uma marca de índice de blob e um caminho.

Metadados do contêiner de blobs

Exemplo: ler blobs no contêiner 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 quaisquer atribuições de função que incluam a ação a seguir.

Ação Anotaçõ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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Ler um blob
Origem do atributo Recurso
Atributo Metadados de 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 no contêiner 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 quaisquer atribuições de função que incluam a ação a seguir.

Ação Anotaçõ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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Gravar em um blob
Excluir um blob
Origem do atributo Recurso
Atributo Metadados de contêiner
Operador StringEquals
Valor {containerName}

Captura de tela do editor de condições no portal do Azure mostrando o blob de gravação e exclusão no contêiner 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 do blob ou no snapshot.

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 de blobs.

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

Ação Anotaçõ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 somente à 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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Ler um blob
Todas as operações de dados para contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo É a versão atual
Operador BoolEquals
Valor Verdade

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 dos blobs, bem como leia blobs com uma ID de versão de 2022-06-01T23:38:32.8883645Z. O usuário não pode ler outras versões de blobs. O atributo ID de versão está disponível apenas para contas de armazenamento em que o namespace hierárquico não está habilitado.

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

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

Diagrama de condição mostrando o acesso de leitura 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 visual e a guia editor de código para ver 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º 1 Configurações
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 Verdade

Exemplo: excluir versões antigas do blob

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

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

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

Diagrama mostrando a exclusão de acesso a versões antigas de blobs.

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 visual e a guia editor de código para ver 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º 1 Configurações
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 ID de versão está disponível apenas 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 quaisquer atribuições de função que incluam a ação a seguir.

Ação Anotaçõ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 às versões atuais do blob e a quaisquer 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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Ler um blob
Todas as operações de dados para contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Solicitação
Atributo Instantâneo
Existe Verificado
Expressão 2
Operador Ou
Origem do atributo Recurso
Atributo É a versão atual
Operador BoolEquals
Valor Verdade

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 Incluir blob de lista 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 include parâmetro ao chamar a operação List Blobs. Os valores no include parâmetro são comparados com os valores especificados na condição usando operadores de comparação entre produtos. Se a comparação for avaliada como true, a solicitação List Blobs será permitida. Se a comparação for avaliada como false, a solicitação List Blobs será negada.

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

Ação Anotaçõ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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Listar blobs
Origem do atributo Solicitação
Atributo Incluir blobs de lista
Operador ForAllOfAnyValues:StringEqualsIgnoreCase
Valor {'metadados', 'instantâneos', 'versões'}

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

Essa condição restringe um usuário a listar blobs quando os metadados são incluídos na requisição. O atributo Incluir blob de lista 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 include parâmetro ao chamar a operação List Blobs. Os valores no include parâmetro são comparados com os valores especificados na condição usando operadores de comparação entre produtos. Se a comparação for avaliada como true, a solicitação List Blobs será permitida. Se a comparação for avaliada como false, a solicitação List Blobs será negada.

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

Ação Anotaçõ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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Listar blobs
Origem do atributo Solicitação
Atributo Incluir blobs de lista
Operador ForAllOfAllValues:StringNotEquals
Valor {'metadados'}

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

Namespace hierárquico

Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base em se o namespace hierárquico está 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 é aplicável somente no escopo do grupo de recursos ou superior.

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

Ação Anotaçõ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 a contas de armazenamento com 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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Ler um blob
Todas as operações de dados para contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Recurso
Atributo Está habilitado para namespace hierárquico
Operador BoolEquals
Valor Verdade

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 validScope1 de criptografia ou validScope2.

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

Ação Anotaçõ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 mostrando o acesso de leitura a blobs com 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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Ler um blob
Origem do atributo Recurso
Atributo Nome do escopo de criptografia
Operador ParaQualquerDosValores:StringIgual
Valor <scopeName>

Exemplo: Ler ou gravar blobs em uma conta de armazenamento nomeada com um 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 ScopeCustomKey1de criptografia. Se os blobs não forem criptografados ou descriptografados com ScopeCustomKey1, a solicitação retornará negada.

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

Ação Anotaçõ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 para contas de armazenamento diferentes podem ser diferentes, é recomendável usar o storageAccounts:name atributo com o encryptionScopes:name atributo para restringir o escopo de criptografia específico a ser permitido.

Diagrama de condição mostrando o acesso de leitura ou gravação a blobs na conta de armazenamento sampleaccount com 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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Ler um blob
Gravar em um blob
Criar um blob, um instantâneo ou acrescentar dados
Origem do atributo Recurso
Atributo Nome da conta
Operador StringEquals
Valor <nome da conta>
Expressão 2
Operador e
Origem do atributo Recurso
Atributo Nome do escopo de criptografia
Operador ParaQualquerDosValores:StringIgual
Valor <scopeName>

Atributos principais

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

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 etiqueta de índice de blob Project=Baker. Da mesma forma, Chandra só pode ler ou gravar blobs com Project=Cascade.

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

Ação Anotaçõ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 obter mais informações, veja Permitir acesso de leitura a blobs com base em marcadores e atributos de segurança personalizados.

Diagrama de condições mostrando o acesso de leitura ou gravação a blobs com base em marcas de índice de blob e 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 visual e a guia editor de código para ver 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º 1 Configurações
Ações Ler as condições de um blob
Origem do atributo Entidade de segurança
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º 2 Configurações
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 Entidade de segurança
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 quaisquer atribuições de função que incluam a ação a seguir.

Ação Anotaçõ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 obter mais informações, veja Permitir acesso de leitura a blobs com base em marcadores e atributos de segurança personalizados.

Diagrama de condição mostrando o acesso de leitura a blobs com base em marcas de índice de blob e atributos de segurança personalizados com múltiplos 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 visual e a guia editor de código para ver 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º 1 Configurações
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 ParaQualquerDosValores:StringIgual
Opção Atributo
Origem do atributo Entidade de segurança
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

Essa condição permite o acesso de leitura ao contêiner de blob container1 somente após as 13h do dia 1º de maio de 2023, no Horário Universal Coordenado (UTC).

Existem duas possíveis ações para ler blobs existentes. Para tornar essa condição eficaz para principais que têm várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluem qualquer uma das ações a seguir.

Ação Anotaçõ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 visual e a guia editor de código para ver os exemplos do editor de portal de sua preferência.

Adicionar ação

Selecione Adicionar ação e depois selecione apenas a suboperação Ler um blob, como mostrado na tabela a seguir.

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 suboperação, conforme mostrado na imagem a seguir:

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

Compilar expressão

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

Configurações 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 o acesso a blobs em contêineres específicos 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 Azure.

Há cinco ações possíveis para leitura, escrita, adição e exclusão de acesso a blobs existentes. Para tornar essa condição eficaz para principais que têm várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluem qualquer uma das ações a seguir.

Ação Anotaçõ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 visual e a guia editor de código para ver os exemplos do editor de portal de sua preferência.

Adicionar ação

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

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 suboperação individual, conforme mostrado na imagem a seguir:

Captura de tela do editor de condições no portal do Azure mostrando 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ções 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 - Função para comparar strings desconsiderando maiúsculas e minúsculas
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 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 ler blobs altamente confidenciais da Internet pública não serão permitidas. Os usuários podem ler blobs da Internet pública que têm sensibilidade definida como algum valor diferente de high.

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

Ação Sensibilidade 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

Existem duas possíveis ações para ler blobs existentes. Para tornar essa condição eficaz para principais que têm várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluem qualquer uma das ações a seguir.

Ação Anotaçõ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 visual e a guia editor de código para ver 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 visual no portal do Azure.

Adicionar ação

Selecione Adicionar ação e depois selecione apenas a suboperação Ler um blob, como mostrado na tabela a seguir.

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 apenas da operação de leitura.

Compilar expressão

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

Grupo Configurações Valor
Grupo nº 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 nº 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ções no portal do Azure mostrando o acesso de leitura que exige qualquer link privado para dados confidenciais.

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

Essa condição exige 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 por meio de um ponto de extremidade privado chamado privateendpoint1. Para todos os outros contêineres não nomeados container1, o acesso não precisa ser através do endpoint privado.

Há cinco ações potenciais para leitura, gravação e exclusão de blobs existentes. Para tornar essa condição eficaz para principais que têm várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluem qualquer uma das ações a seguir.

Ação Anotaçõ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 poderão ser habilitados no futuro.

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 visual e a guia editor de código para ver 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 visual no portal do Azure.

Adicionar ação

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

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 suboperação individual, conforme mostrado na imagem a seguir:

Captura de tela do editor de condições no portal do Azure mostrando 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ções Valor
Grupo nº 1
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Valor container1
Operador lógico 'AND'
Origem do atributo Ambiente
Atributo Endpoint privado
Operador StringEqualsIgnoreCase - Função para comparar strings desconsiderando maiúsculas e minúsculas
Valor /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/privateEndpoints/privateendpoint1
Fim do Grupo nº 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 somente de um endpoint privado específico e por usuários identificados 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.

Existem duas possíveis ações para ler blobs existentes. Para tornar essa condição eficaz para principais que têm várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluem qualquer uma das ações a seguir.

Ação Anotaçõ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 visual e a guia editor de código para ver 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 visual no portal do Azure.

Adicionar ação

Selecione Adicionar ação e depois selecione apenas a suboperação Ler um blob, como mostrado na tabela a seguir.

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 imagem a seguir:

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ções Valor
Grupo nº 1
Origem do atributo Entidade de segurança
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 Endpoint privado
Operador StringEqualsIgnoreCase - Função para comparar strings desconsiderando maiúsculas e minúsculas
Valor /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/privateEndpoints/privateendpoint1
Fim do Grupo nº 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ções no portal do Azure mostrando o acesso de leitura permitido sobre um endpoint privado específico para usuários etiquetados.

Próximas etapas