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
, environment
e 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).
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. |
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} |
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. |
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} |
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. |
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} |
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. |
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} |
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.
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 Ler um blob 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} |
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. |
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} |
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. |
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. |
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} |
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. |
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} |
Condição #2 | Definição |
---|---|
Ações | Ler um blob |
Origem do atributo | Recurso |
Atributo | Caminho do blob |
Operador | StringLike |
Value | {pathString} |
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} |
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} |
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. |
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 |
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 |
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. |
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'} |
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'} |
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. |
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. |
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 ScopeCustomKey1
de 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.
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.
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.
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:
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.
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 virtualnetwork1
virtual. 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:
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.
Exemplo: Exigir acesso de link privado para ler blobs com alta sensibilidade
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:
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.
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:
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.
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:
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.
Próximos passos
- Tutorial: Adicionar uma condição de atribuição de função para restringir o acesso a blobs usando o portal do Azure
- Ações e atributos para condições de atribuição de função do Azure para o Armazenamento de Blobs do Azure
- Formato e sintaxe das condições de atribuição de funções do Azure
- Solucionar problemas de condições de atribuição de função do Azure