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

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 do Azure (Azure ABAC) está geralmente disponível (GA) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2 e às Filas do Azure usando request, resource, environmente principal atributos nas camadas de desempenho da conta de armazenamento padrão e premium. Atualmente, o atributo de recurso de metadados de contêiner e o atributo de solicitação de inclusão de blob de lista estão em VISUALIZAÇÃO. Para obter informações completas sobre o status do recurso do ABAC para Armazenamento do Azure, consulte Status dos recursos de condição no Armazenamento do Azure.

Veja Termos de Utilização Complementares da Pré-visualizações do Microsoft Azure para obter os termos legais que se aplicam às funcionalidades do Azure que estão na versão beta, na pré-visualização ou que ainda não foram lançadas para disponibilidade geral.

Pré-requisitos

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

Resumo dos exemplos neste artigo

Use a tabela a seguir para localizar rapidamente um exemplo que se adapte ao seu cenário ABAC. A tabela inclui uma breve descrição do cenário, além de uma lista de atributos usados no exemplo por fonte (ambiente, principal, solicitação e recurso).

Exemplo Environment Principal Pedir Recurso
Ler blobs com uma tag de índice de blob etiquetas
Novos blobs devem incluir uma tag de índice de blob etiquetas
Os blobs existentes devem ter chaves de tag de índice de blob etiquetas
Os blobs existentes devem ter uma chave e valores de marca de índice de blob etiquetas
Ler, gravar ou excluir blobs em contêineres nomeados nome do contêiner
Ler blobs em contêineres nomeados com um caminho caminho do blob do nome
do contêiner
Ler ou listar blobs em contêineres nomeados com um caminho prefixo blob caminho do blob do nome
do contêiner
Escrever blobs em contêineres nomeados com um caminho caminho do blob do nome
do contêiner
Ler blobs com uma tag de índice de blob e um caminho tags
caminho blob
Ler blobs no contêiner com metadados específicos metadados do contêiner
Gravar ou excluir blobs no contêiner com metadados específicos metadados do contêiner
Somente leitura versões atuais do blob isCurrentVersion
Leia as versões atuais do blob e uma versão específica do blob versionId isCurrentVersion
Excluir versões antigas do blob versionId
Leia as versões atuais do blob e 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 blob lista incluir
Restringir a operação de blob de lista para não incluir metadados de blob blob lista incluir
Contas de armazenamento somente leitura com namespace hierárquico habilitado isHnsEnabled
Ler blobs com escopos de criptografia específicos Nome do escopo de criptografia
Ler ou gravar blobs na conta de armazenamento nomeada com escopo de criptografia específico Nome
da conta de armazenamento Nome do escopo de criptografia
Ler ou escrever blobs com base em tags de índice de blob e atributos de segurança personalizados ID etiquetas etiquetas
Ler blobs com base em tags de índice de blob e atributos de segurança personalizados de vários valores ID etiquetas
Permitir acesso de leitura a 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 de link privado para ler blobs com alta sensibilidade isPrivateLink etiquetas
Permitir acesso a um contêiner somente de um ponto de extremidade privado específico Ponto final privado nome do contêiner
Exemplo: Permitir acesso de leitura a dados de blob altamente confidenciais somente de um ponto de extremidade privado específico e por usuários marcados para acesso Ponto final privado ID etiquetas

Tags de índice de Blob

Esta seção inclui exemplos envolvendo tags de índice de blob.

Importante

Embora a Read content from a blob with tag conditions suboperação seja atualmente suportada para compatibilidade com condições implementadas durante a visualização do recurso ABAC, ela foi preterida e a Microsoft recomenda o uso da Read a blob ação.

Ao configurar as condições do ABAC no portal do Azure, você pode ver DEPRECATED: Read content from a blob with tag conditions. A Microsoft recomenda remover a operação e substituí-la pela Read a blob ação.

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

Exemplo: Ler blobs com uma tag de índice de blob

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

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

Ação Notas
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 de Blob de Armazenamento.

Diagrama de condição mostrando acesso de leitura a blobs com uma tag 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler um blob
Origem do atributo Recurso
Atributo Tags de índice de blob [Valores na chave]
Chave {nomedachave}
Operador StringEquals
Value {keyValue}

Captura de ecrã do editor de condições no portal do Azure a mostrar o acesso de leitura a blobs com uma etiqueta de índice de blob.

Exemplo: Novos blobs devem incluir uma tag de índice de blob

Essa condição requer que todos os novos blobs devem incluir 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 todas as atribuições de função que incluam uma das seguintes ações:

Ação Notas
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 de Blob de Armazenamento.

O diagrama de condição mostrando novos blobs deve incluir uma tag 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Gravar em um blob com tags de índice de blob
Gravar em um blob com tags de índice de blob
Origem do atributo Pedir
Atributo Tags de índice de blob [Valores na chave]
Chave {nomedachave}
Operador StringEquals
Value {keyValue}

A captura de tela do editor de condições no portal do Azure mostrando novos blobs deve incluir uma marca de índice de blob.

Exemplo: blobs existentes devem ter chaves de tag de índice de blob

Essa condição requer que todos os blobs existentes sejam marcados com pelo menos uma das chaves de tag 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 todas as atribuições de função que incluam uma das seguintes ações:

Ação Notas
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 de Blob de Armazenamento.

O diagrama de condição mostrando blobs existentes deve ter chaves de tag 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Gravar em um blob com tags de índice de blob
Escrever tags de índice de blob
Origem do atributo Pedir
Atributo Tags de índice de Blob [Chaves]
Operador ForAllOfAnyValues:StringEquals
Value {nomedachave1}
{nomedachave2}

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

Exemplo: os blobs existentes devem ter uma chave e valores de tag de índice de blob

Essa condição requer que todos os blobs existentes tenham uma chave de tag de índice de blob de Project e 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 todas as atribuições de função que incluam uma das seguintes ações.

Ação Notas
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 de Blob de Armazenamento.

O diagrama de condição mostrando blobs existentes deve ter uma chave e valores de tag 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Gravar em um blob com tags de índice de blob
Escrever tags de índice de blob
Origem do atributo Pedir
Atributo Tags de índice de Blob [Chaves]
Operador ForAnyOfAnyValues:StringEquals
Value {nomedachave}
Operador And
Expression 2
Origem do atributo Pedir
Atributo Tags de índice de blob [Valores na chave]
Chave {nomedachave}
Operador ForAllOfAnyValues:StringEquals
Value {keyValue1}
{keyValue2}
{keyValue3}

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

Nomes ou caminhos de contêineres 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 de 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 todas as atribuições de função que incluam uma das seguintes ações.

Ação Notas
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 de Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem namespace hierárquico habilitado ou poderão ser habilitadas no futuro.

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 tags.

Diagrama de condição mostrando leitura, gravação ou 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Captura de ecrã do editor de condições no portal do Azure a mostrar a leitura, escrita ou eliminação de blobs em contentores 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 seguintes ações.

Ação Notas
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 de Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem namespace hierárquico habilitado ou poderão ser habilitadas no futuro.

Diagrama de condição mostrando 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
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
Value {containerName}
Expression 2
Operador And
Origem do atributo Recurso
Atributo Caminho do blob
Operador StringLike
Value {pathString}

Captura de ecrã do editor de condições no portal do Azure a mostrar o acesso de leitura a blobs em contentores 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 acesso de lista a contêineres de armazenamento chamados blobs-example-container com um caminho de blob somente leitura/*. A condição #1 aplica-se a ações de leitura excluindo blobs de lista. A condição #2 aplica-se a blobs de lista. Essa condição é útil para compartilhar partes específicas de contêineres de armazenamento para acesso de leitura ou lista com outros usuários na assinatura.

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

Ação Notas
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 de Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem namespace hierárquico habilitado ou poderão ser habilitadas no futuro.

Diagrama de condição mostrando acesso de leitura e lista 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Nota

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 blobs de lista usando o prefixo StringStartsWith 'readonly/', os usuários direcionados não poderão listar blobs do diretório raiz do contêiner no portal do Azure.

Condição #1 Definição
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
Value {containerName}
Expression 2
Operador And
Origem do atributo Recurso
Atributo Caminho do blob
Operador StringStartsCom
Value {pathString}
Condição #2 Definição
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
Value {containerName}
Expression 2
Operador And
Origem do atributo Pedir
Atributo Prefixo do blob
Operador StringStartsCom
Value {pathString}

Exemplo: Escrever 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 seguintes ações.

Ação Notas
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 de Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem namespace hierárquico habilitado ou poderão ser habilitadas no futuro.

Diagrama de condição mostrando acesso de gravação 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Escreva para um blob
Criar um blob ou 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
Value {containerName}
Expression 2
Operador And
Origem do atributo Recurso
Atributo Caminho do blob
Operador StringLike
Value {pathString}

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

Exemplo: Ler blobs com uma tag de índice de blob e um caminho

Essa condição permite que um usuário leia blobs com uma chave de tag de índice de blob de 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 Notas
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 de Blob de Armazenamento.

Diagrama de condição mostrando acesso de leitura a blobs com uma tag 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler um blob
Origem do atributo Recurso
Atributo Tags de índice de blob [Valores na chave]
Chave {nomedachave}
Operador StringEquals
Value {keyValue}

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

Condição #2 Definição
Ações Ler um blob
Origem do atributo Recurso
Atributo Caminho do blob
Operador StringLike
Value {pathString}

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

Metadados do contêiner de Blob

Exemplo: Ler blobs no contêiner com metadados específicos

Essa condição permite que os usuários leiam 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 Notas
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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler um blob
Origem do atributo Recurso
Atributo Metadados do contêiner
Operador StringEquals
Value {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 escrevam 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 Notas
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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Escreva para um blob
Excluir um blob
Origem do atributo Recurso
Atributo Metadados do contêiner
Operador StringEquals
Value {containerName}

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

Versões de blob 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 instantâneo.

Exemplo: Somente leitura das 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 blob.

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

Ação Notas
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 de Blob de Armazenamento.

Diagrama de condição mostrando 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
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
Value True

Exemplo: Leia 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 leia blobs com um ID de versão de 2022-06-01T23:38:32.8883645Z. O usuário não pode ler outras versões de blob. O atributo Version ID está disponível apenas para contas de armazenamento onde 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 Notas
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read

Diagrama de condição mostrando acesso de leitura a uma versão de blob específica.

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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler um blob
Origem do atributo Pedir
Atributo ID da versão
Operador DateTimeEquals
Value <blobVersionId>
Expression 2
Operador Ou
Origem do atributo Recurso
Atributo É a versão atual
Operador BoolEquals
Value True

Exemplo: Excluir versões antigas de blob

Essa condição permite que um usuário exclua versões de um blob anteriores a 01/06/2022 para executar a limpeza. O atributo Version ID está disponível apenas para contas de armazenamento onde 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 seguintes ações.

Ação Notas
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/deleteBlobVersion/action

Diagrama de condição mostrando excluir acesso a versões antigas 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Excluir um blob
Excluir uma versão de um blob
Origem do atributo Pedir
Atributo ID da versão
Operador DateTimeLessThan
Value <blobVersionId>

Exemplo: Leia as 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 do blob. O atributo Version ID está disponível apenas para contas de armazenamento onde o namespace hierárquico não está habilitado. O atributo Snapshot está disponível para contas de armazenamento onde o namespace hierárquico não está habilitado e atualmente em visualização para contas de armazenamento onde 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 Notas
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 de Blob de Armazenamento.

Diagrama de condição mostrando acesso de leitura às versões atuais do blob e quaisquer instantâneos 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler um blob
Todas as operações de dados para contas com namespace hierárquico habilitado (se aplicável)
Origem do atributo Pedir
Atributo Instantâneo
Exists Verificada
Expression 2
Operador Ou
Origem do atributo Recurso
Atributo É a versão atual
Operador BoolEquals
Value True

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 onde o namespace hierárquico não está habilitado.

Nota

List blobs include é um atributo request 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 verdadeira, a List Blobs solicitação será permitida. Se a comparação for avaliada como falsa, a List Blobs solicitação 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 Notas
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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Listar blobs
Origem do atributo Pedir
Atributo Os blobs da lista incluem
Operador ForAllOfAnyValues:StringEqualsIgnoreCase
Value {'metadados', 'snapshots', '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âneo 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 de listar blobs quando metadados são incluídos na solicitação. O atributo List blobs include está disponível para contas de armazenamento onde o namespace hierárquico não está habilitado.

Nota

List blobs include é um atributo request 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 verdadeira, a List Blobs solicitação será permitida. Se a comparação for avaliada como falsa, a List Blobs solicitação 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 Notas
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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Listar blobs
Origem do atributo Pedir
Atributo Os blobs da lista incluem
Operador ForAllOfAllValues:StringNotEquals
Value {'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 metadados são incluídos na solicitação.

Espaço de nomes 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: contas de armazenamento somente leitura 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. Esta condição é aplicável apenas no âmbito do grupo de recursos ou superior.

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

Ação Notas
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 de Blob de Armazenamento.

Diagrama de condição mostrando 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
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 O namespace hierárquico está habilitado
Operador BoolEquals
Value True

Âmbito da encriptação

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

Exemplo: Ler blobs com escopos de criptografia específicos

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 todas as atribuições de função que incluam a ação a seguir.

Ação Notas
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 de Blob de Armazenamento.

Diagrama de condição mostrando 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler um blob
Origem do atributo Recurso
Atributo Nome do escopo de criptografia
Operador ForAnyOfAnyValues:StringEquals
Value <nome_do-escopo>

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

Essa condição permite que um usuário leia ou escreva 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á proibida.

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

Ação Notas
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 de Blob de Armazenamento.

Nota

Como os escopos de criptografia para diferentes contas de armazenamento 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 acesso de leitura ou gravação a blobs na conta de armazenamento de conta de exemplo 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler um blob
Escreva para um blob
Criar um blob ou instantâneo ou acrescentar dados
Origem do atributo Recurso
Atributo Nome da conta
Operador StringEquals
Value <nomedaconta;>
Expression 2
Operador And
Origem do atributo Recurso
Atributo Nome do escopo de criptografia
Operador ForAnyOfAnyValues:StringEquals
Value <nome_do-escopo>

Principais atributos

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

Exemplo: Ler ou escrever blobs com base em tags de índice de blob e atributos de segurança personalizados

Essa condição permite acesso de leitura ou gravação a 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 escrever blobs com a Project=Baker tag de índice de blob. Da mesma forma, Chandra só pode ler ou escrever bolhas com Project=Cascade.

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

Ação Notas
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 de Blob de Armazenamento.

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

Diagrama de condição mostrando acesso de leitura ou gravação a blobs com base em tags 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler as condições de um blob
Origem do atributo Mandante
Atributo <atributoset>_<chave>
Operador StringEquals
Opção Atributo
Origem do atributo Recurso
Atributo Tags de índice de blob [Valores na chave]
Chave <key>
Condição #2 Definição
Ações Gravar em um blob com tags de índice de blob
Gravar em um blob com tags de índice de blob
Origem do atributo Mandante
Atributo <atributoset>_<chave>
Operador StringEquals
Opção Atributo
Origem do atributo Pedir
Atributo Tags de índice de blob [Valores na chave]
Chave <key>

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

Essa condição permite acesso de leitura a 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 Chandra tiver o atributo Project com os valores Baker e Cascade, ela só poderá ler blobs com a Project=Baker tag de índice ou Project=Cascade blob.

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

Ação Notas
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 de Blob de Armazenamento.

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

Diagrama de condição mostrando acesso de leitura a blobs com base em tags de índice de blob e 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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

Condição #1 Definição
Ações Ler as condições de um blob
Origem do atributo Recurso
Atributo Tags de índice de blob [Valores na chave]
Chave <key>
Operador ForAnyOfAnyValues:StringEquals
Opção Atributo
Origem do atributo Mandante
Atributo <atributoset>_<chave>

Atributos do 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 a 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 as 13h do dia 1º de maio de 2023 (UTC).

Há duas ações potenciais para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades que têm várias atribuições de função, você deve adicioná-la a todas as atribuições de função que incluam qualquer uma das ações a seguir.

Ação Notas
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 de 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

Adicionar ação

Selecione Adicionar ação e, em seguida, selecione apenas a suboperação Ler um blob, conforme 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 quaisquer outras suboperações, conforme mostrado na imagem a seguir:

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

Criar expressão

Use os valores na tabela a seguir para criar a parte de expressão da condição:

Definição Value
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Value container1
Operador lógico «E»
Origem do atributo Ambiente
Atributo UtcNow
Operador DateTimeGreaterThan
Value 2023-05-01T13:00:00.000Z

A imagem a seguir mostra a condição depois que as configurações são inseridas no portal do Azure. Você deve agrupar expressões para garantir uma avaliação correta.

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

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

Esta condição permite ler, escrever, adicionar e excluir acesso a blobs somente container1 da sub-rede default na rede virtualnetwork1virtual. Para usar o atributo Subnet neste exemplo, a sub-rede deve ter pontos de extremidade de serviço habilitados para o Armazenamento do Azure.

Há cinco ações potenciais para ler, gravar, adicionar e excluir acesso a blobs existentes. Para tornar essa condição efetiva para entidades que têm várias atribuições de função, você deve adicioná-la a todas as atribuições de função que incluam qualquer uma das ações a seguir.

Ação Notas
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 de 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

Adicionar ação

Selecione Adicionar ação e, em seguida, 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
Escreva para um blob n/a
Criar um blob ou instantâneo ou acrescentar dados n/a
Eliminar um blob n/a

Não selecione nenhuma suboperação individual, conforme mostrado na imagem a seguir:

Captura de ecrã do editor de condições no portal do Azure a mostrar a seleção de operações de leitura, escrita, adição e eliminação.

Criar expressão

Use os valores na tabela a seguir para criar a parte de expressão da condição:

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

A imagem a seguir mostra a condição depois que as configurações são inseridas no portal do Azure. Você deve agrupar expressões para garantir uma avaliação correta.

Captura de ecrã do editor de condições no portal do Azure a mostrar o acesso de leitura a contentores específicos permitidos a partir de uma sub-rede específica.

Essa condição requer solicitações para ler blobs em que a sensibilidade da tag de índice de blob tem um valor de high estar em um link privado (qualquer link privado). Isso significa que todas as tentativas de ler blobs altamente sensíveis da internet pública não serão permitidas. Os usuários podem ler blobs da Internet pública que tenham sensibilidade definida para algum valor diferente de high.

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

Ação Sensibilidade Link privado Acesso
Ler um blob alto Sim Permitido
Ler um blob alto Não Não permitido
Ler um blob NÃO é alto Sim Permitido
Ler um blob NÃO é alto Não Permitido

Há duas ações potenciais para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades que têm várias atribuições de função, você deve adicioná-la a todas as atribuições de função que incluam qualquer uma das ações a seguir.

Ação Notas
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 de 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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, em seguida, selecione apenas a suboperação Ler um blob, conforme 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 Todas as operações de leitura de quaisquer outras suboperações, conforme mostrado na imagem a seguir:

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

Criar expressão

Use os valores na tabela a seguir para criar a parte de expressão da condição:

Grupo Definição Value
Grupo #1
Origem do atributo Recurso
Atributo Tags de índice de blob [Valores na chave]
Chave sensitivity
Operador StringEquals
Value high
Operador lógico «E»
Origem do atributo Ambiente
Atributo É link privado
Operador BoolEquals
Value True
Fim do Grupo #1
Operador lógico «OU»
Origem do atributo Recurso
Atributo Tags de índice de blob [Valores na chave]
Chave sensitivity
Operador StringNotEquals
Value high

A imagem a seguir mostra a condição depois que as configurações são inseridas no portal do Azure. Você deve agrupar expressões para garantir uma avaliação correta.

Captura de tela do editor de condições 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 de um ponto de extremidade privado específico

Essa condição requer que todas as operações de leitura, gravação, adição e exclusão de blobs em um contêiner de armazenamento chamado 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 feito por meio do ponto de extremidade privado.

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

Ação Notas
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 de Blob de Armazenamento.
Adicione se as contas de armazenamento incluídas nessa condição tiverem namespace hierárquico habilitado ou poderão ser habilitadas 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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, em seguida, 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
Escreva para um blob n/a
Criar um blob ou instantâneo ou acrescentar dados n/a
Eliminar um blob n/a

Não selecione nenhuma suboperação individual, conforme mostrado na imagem a seguir:

Captura de ecrã do editor de condições no portal do Azure a mostrar a seleção de operações de leitura, escrita, adição e eliminação.

Criar expressão

Use os valores na tabela a seguir para criar a parte de expressão da condição:

Grupo Definição Value
Grupo #1
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringEquals
Value container1
Operador lógico «E»
Origem do atributo Ambiente
Atributo Ponto final privado
Operador StringEqualsIgnoreCase
Value /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/privateEndpoints/privateendpoint1
Fim do Grupo #1
Operador lógico «OU»
Origem do atributo Recurso
Atributo Nome do contêiner
Operador StringNotEquals
Value container1

A imagem a seguir mostra a condição depois que as configurações são inseridas no portal do Azure. Você deve agrupar expressões para garantir uma avaliação correta.

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

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

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

Há duas ações potenciais para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades que têm várias atribuições de função, você deve adicioná-la a todas as atribuições de função que incluam qualquer uma das ações a seguir.

Ação Notas
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 de 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 construir condições ABAC - o editor visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em modos de exibição diferentes. Alterne entre a guia Editor visual e as guias Editor de código para exibir os exemplos para seu editor de portal preferido.

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, em seguida, selecione apenas a suboperação Ler um blob, conforme 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 de ler uma operação de blob.

Criar expressão

Use os valores na tabela a seguir para criar a parte de expressão da condição:

Grupo Definição Value
Grupo #1
Origem do atributo Mandante
Atributo <atributoset>_<chave>
Operador StringEquals
Opção Atributo
Operador lógico «E»
Origem do atributo Recurso
Atributo Tags de índice de blob [Valores na chave]
Chave <key>
Operador lógico «E»
Origem do atributo Ambiente
Atributo Ponto final privado
Operador StringEqualsIgnoreCase
Value /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/privateEndpoints/privateendpoint1
Fim do Grupo #1
Operador lógico «OU»
Origem do atributo Recurso
Atributo Tags de índice de blob [Valores na chave]
Chave sensitivity
Operador StringNotEquals
Value high

A imagem a seguir mostra a condição depois que as configurações são inseridas no portal do Azure. Você deve agrupar expressões para garantir uma avaliação correta.

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

Próximos passos