Exemplo de condições de atribuição de função do Azure para o Armazenamento de Blobs
Este artigo lista alguns exemplos de condições de atribuição de função para controlar o acesso ao Armazenamento de Blobs do Azure.
Importante
O ABAC (controle de acesso baseado em atributos) do Azure está em GA (disponibilidade geral) para controlar o acesso ao Armazenamento de Blobs do Azure, ao Azure Data Lake Storage Gen2 e às Filas do Azure usando atributos request
, resource
, environment
e principal
nas camadas de desempenho da conta de armazenamento Standard e Premium. No momento, o atributo do recurso de metadados de contêiner e o atributo de solicitação de inclusão de blob de lista estão em VERSÃO PRÉVIA. Para obter informações completas sobre o status do recurso do ABAC para o Armazenamento do Azure, consulte Status dos recursos de condição no Armazenamento do Azure.
Veja os Termos de Uso Complementares para Versões Prévias do Microsoft Azure para obter termos legais que se aplicam aos recursos do Azure que estão em versão beta, versão prévia ou que, de outra forma, ainda não foram lançados em disponibilidade geral.
Pré-requisitos
Para obter informações sobre os pré-requisitos para adicionar ou editar condições de atribuição de função, confira Pré-requisitos das condições.
Resumo de exemplos deste artigo
Use a seguinte tabela para localizar rapidamente um exemplo que encaixa em seu cenário ABAC. A tabela inclui uma breve descrição do cenário, além de uma lista de atributos usados no exemplo pela origem (ambiente, entidade de segurança, solicitação e recurso).
Marcas de índice de blob
Esta seção inclui exemplos que envolvem marcas de índice de blob.
Importante
Embora atualmente a suboperação Read content from a blob with tag conditions
tenha suporte para compatibilidade com condições implementadas durante a versão prévia dos recursos do ABAC, ela foi preterida e a Microsoft recomenda usar a ação Read a blob
no lugar dela.
Ao configurar as condições do ABAC no portal do Azure, você poderá ver PRETERIDO: ler conteúdo de um blob com condições de marca. A Microsoft recomenda remover a operação e substituí-la pela ação Read a blob
.
Se você estiver criando sua própria condição em que deseja restringir o acesso de leitura por condições de marca, veja Exemplo: ler blobs com uma marca de índice de blob.
Exemplo: ler blobs com uma marca de índice de blob
Essa condição permite que os usuários leiam blobs com uma chave de marca de índice de blob do Project e um valor de Cascade. Tentativas de acessar blobs sem essa marca de chave-valor não são permitidas.
Para que esta condição seja eficiente para uma entidade de segurança, você deve adicioná-la a todas as atribuições de função que incluam as seguintes ações:
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o editor do portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob |
Origem do atributo | Recurso |
Atributo | Marcas de índice de blob [Valores na chave] |
Chave | {keyName} |
Operador | StringEquals |
Valor | {keyValue} |
Exemplo: novos blobs devem incluir uma marca de índice de blob
Essa condição requer que todos os blobs novos incluam uma chave de marca de índice de blob do Project e um valor de Cascade.
Existem duas ações que possibilitam que você crie novos blobs. Portanto, você deve direcionar ambas. Você deve adicionar essa condição a todas as atribuições de função que incluam uma das ações a seguir:
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Gravar em um blob com marcas de índice de blob Gravar em um blob com marcas de índice de blob |
Origem do atributo | Solicitação |
Atributo | Marcas de índice de blob [Valores na chave] |
Chave | {keyName} |
Operador | StringEquals |
Valor | {keyValue} |
Exemplo: os blobs existentes devem ter chaves de marca de índice de blob
Essa condição requer que todos os blobs existentes sejam marcados com pelo menos uma das chaves de marca de índice de blob: Project ou Program. Essa condição é útil para adicionar governança aos blobs existentes.
Existem duas ações que possibilitam que você atualize marcas em blobs existentes. Portanto, você deve direcionar ambas. Você deve adicionar essa condição a todas as atribuições de função que incluam uma das ações a seguir:
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Gravar em um blob com marcas de índice de blob Gravar marcas de índice de blob |
Origem do atributo | Solicitação |
Atributo | Marcas de índice de blob [Chaves] |
Operador | ForAllOfAnyValues:StringEquals |
Valor | {keyName1} {keyName2} |
Exemplo: os blobs existentes devem ter chaves e valores de marca de índice de blob
Essa condição exige que todos os blobs existentes tenham uma chave de marca de índice de blob do Project e os valores de Cascade, Baker ou Skagit. Essa condição é útil para adicionar governança aos blobs existentes.
Existem duas ações que possibilitam que você atualize marcas em blobs existentes. Portanto, você deve direcionar ambas. Você deve adicionar essa condição a todas as atribuições de função que incluam uma das ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/tags/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Gravar em um blob com marcas de índice de blob Gravar marcas de índice de blob |
Origem do atributo | Solicitação |
Atributo | Marcas de índice de blob [Chaves] |
Operador | ForAnyOfAnyValues:StringEquals |
Valor | {keyName} |
Operador | E |
Expressão 2 | |
Origem do atributo | Solicitação |
Atributo | Marcas de índice de blob [Valores na chave] |
Chave | {keyName} |
Operador | ForAllOfAnyValues:StringEquals |
Valor | {keyValue1} {keyValue2} {keyValue3} |
Nomes ou caminhos de contêiner de blob
Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base no nome do contêiner ou no caminho do blob.
Exemplo: ler, gravar ou excluir blobs nos contêineres nomeados
Essa condição permite que os usuários leiam, gravem ou excluam blobs em contêineres de armazenamento chamados blobs-example-container. Essa condição é útil para compartilhar contêineres de armazenamento específicos com outros usuários em uma assinatura.
Há cinco ações de leitura, gravação e exclusão de blobs existentes. Você deve adicionar essa condição a todas as atribuições de função que incluam uma das ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente. |
As suboperações não são usadas nessa condição porque a suboperação é necessária somente quando as condições são criadas com base em marcas.
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Excluir um blob Ler um blob Gravar em um blob Criar um blob ou um instantâneo ou acrescentar dados Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável) |
Origem do atributo | Recurso |
Atributo | Nome do contêiner |
Operador | StringEquals |
Valor | {containerName} |
Exemplo: ler blobs em contêineres nomeados com um caminho
Essa condição permite acesso de leitura a contêineres de armazenamento chamados blobs-example-container com um caminho de blob de readonly/*. Essa condição é útil para compartilhar partes específicas de contêineres de armazenamento para acesso de leitura com outros usuários na assinatura.
Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável) |
Origem do atributo | Recurso |
Atributo | Nome do contêiner |
Operador | StringEquals |
Valor | {containerName} |
Expressão 2 | |
Operador | E |
Origem do atributo | Recurso |
Atributo | Caminho do Blob |
Operador | StringLike |
Valor | {pathString} |
Exemplo: ler ou listar blobs em contêineres nomeados com um caminho
Essa condição permite acesso de leitura e também lista o acesso a contêineres de armazenamento chamados blobs-example-container com um caminho de blob de readonly/*. A primeira condição aplica-se a ações de leitura, exceto listar blobs. A segunda condição aplica-se a listar blobs. Essa condição é útil para compartilhar partes específicas de contêineres de armazenamento para acesso de leitura ou de lista com outros usuários na assinatura.
Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Observação
O portal do Azure usa prefix='' para listar blobs do diretório raiz do contêiner. Depois que a condição for adicionada com a operação de lista de blobs usando o prefixo StringStartsWith 'readonly/', os usuários de destino não poderão listar blobs do diretório raiz do contêiner no portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável) |
Origem do atributo | Recurso |
Atributo | Nome do contêiner |
Operador | StringEquals |
Valor | {containerName} |
Expressão 2 | |
Operador | E |
Origem do atributo | Recurso |
Atributo | Caminho do Blob |
Operador | StringStartsWith |
Valor | {pathString} |
Condição número 2 | Configuração |
---|---|
Ações | Listar blobs Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável) |
Origem do atributo | Recurso |
Atributo | Nome do contêiner |
Operador | StringEquals |
Valor | {containerName} |
Expressão 2 | |
Operador | E |
Origem do atributo | Solicitação |
Atributo | Prefixo do blob |
Operador | StringStartsWith |
Valor | {pathString} |
Exemplo: gravar blobs em contêineres nomeados com um caminho
Essa condição permite que um parceiro (um usuário convidado do Microsoft Entra) solte arquivos em contêineres de armazenamento chamados Contosocorp com um caminho de uploads/contoso/*. Essa condição é útil para permitir que outros usuários coloquem dados em contêineres de armazenamento.
Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Gravar em um blob Criar um blob ou um instantâneo ou acrescentar dados Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável) |
Origem do atributo | Recurso |
Atributo | Nome do contêiner |
Operador | StringEquals |
Valor | {containerName} |
Expressão 2 | |
Operador | E |
Origem do atributo | Recurso |
Atributo | Caminho do Blob |
Operador | StringLike |
Valor | {pathString} |
Exemplo: ler blobs com uma marca de índice de blob e um caminho
Essa condição permite que um usuário leia blobs com uma chave de marca de índice de blob do Program, um valor de Alpine e um caminho de blob de logs*. O caminho de blob de logs* também inclui o nome do blob.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob |
Origem do atributo | Recurso |
Atributo | Marcas de índice de blob [Valores na chave] |
Chave | {keyName} |
Operador | StringEquals |
Valor | {keyValue} |
Condição número 2 | Configuração |
---|---|
Ações | Ler um blob |
Origem do atributo | Recurso |
Atributo | Caminho do Blob |
Operador | StringLike |
Valor | {pathString} |
Metadados do contêiner de blobs
Exemplo: ler blobs em contêineres com metadados específicos
Essa condição permite que os usuários leiam blobs em contêineres de blobs com um par chave/valor de metadados específico.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob |
Origem do atributo | Recurso |
Atributo | Metadados do contêiner |
Operador | StringEquals |
Valor | {containerName} |
Exemplo: gravar ou excluir blobs em contêineres com metadados específicos
Essa condição permite que os usuários gravem ou excluam blobs em contêineres de blob com um par chave/valor de metadados específico.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Gravar em um blob Excluir um blob |
Origem do atributo | Recurso |
Atributo | Metadados do contêiner |
Operador | StringEquals |
Valor | {containerName} |
Versões ou instantâneos de blob
Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base na versão ou instantâneo do blob.
Exemplo: ler apenas versões atuais do blob
Essa condição permite que um usuário leia apenas as versões atuais do blob. O usuário não pode ler outras versões do blob.
Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável) |
Origem do atributo | Recurso |
Atributo | É a versão atual |
Operador | BoolEquals |
Valor | Verdadeiro |
Exemplo: ler as versões atuais do blob e uma versão específica do blob
Essa condição permite que um usuário leia as versões atuais do blob, bem como os blobs com ID de versão de 2022-06-01T23:38:32.8883645Z. O usuário não pode ler outras versões do blob. O atributo Version ID só está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob |
Origem do atributo | Solicitação |
Atributo | ID da Versão |
Operador | DateTimeEquals |
Valor | <blobVersionId> |
Expressão 2 | |
Operador | Ou |
Origem do atributo | Recurso |
Atributo | É a versão atual |
Operador | BoolEquals |
Valor | Verdadeiro |
Exemplo: excluir versões antigas do blob
Essa condição permite que um usuário exclua versões de um blob anteriores a 06/01/2022 para executar a limpeza. O atributo Version ID só está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado.
Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/deleteBlobVersion/action |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Excluir um blob Excluir uma versão de um blob |
Origem do atributo | Solicitação |
Atributo | ID da Versão |
Operador | DateTimeLessThan |
Valor | <blobVersionId> |
Exemplo: ler versões atuais do blob e quaisquer instantâneos de blob
Essa condição permite que um usuário leia as versões atuais do blob e quaisquer instantâneos de blob. O atributo Version ID só está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado. O atributo Snapshot está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado e atualmente em versão prévia para contas de armazenamento em que o namespace hierárquico está habilitado.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável) |
Origem do atributo | Solicitação |
Atributo | Instantâneo |
Exists | Verificado |
Expressão 2 | |
Operador | Ou |
Origem do atributo | Recurso |
Atributo | É a versão atual |
Operador | BoolEquals |
Valor | Verdadeiro |
Exemplo: permitir que a operação de blob de lista inclua metadados, instantâneos ou versões de blob
Essa condição permite que um usuário liste blobs em um contêiner e inclua metadados, instantâneos e informações de versão. O atributo List blobs include está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado.
Observação
List blobs include é um atributo de solicitação e funciona permitindo ou restringindo valores no parâmetro include
ao chamar a operação List Blobs. Os valores no parâmetro include
são comparados com os valores especificados na condição usando operadores de comparação de produtos cruzados. Se a comparação for avaliada como verdadeira, a solicitação List Blobs
será permitida. Se a comparação for avaliada como falsa, a solicitação List Blobs
será negada.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Listar blobs |
Origem do atributo | Solicitação |
Atributo | List blobs include |
Operador | ForAllOfAnyValues:StringEqualsIgnoreCase |
Valor | {'metadata', 'snapshots', 'versions'} |
Exemplo: restringir a operação de blob de lista para não incluir metadados de blob
Esta condição impede que um usuário liste blobs quando os metadados estão incluídos na solicitação. O atributo List blobs include está disponível para contas de armazenamento em que o namespace hierárquico não está habilitado.
Observação
List blobs include é um atributo de solicitação e funciona permitindo ou restringindo valores no parâmetro include
ao chamar a operação List Blobs. Os valores no parâmetro include
são comparados com os valores especificados na condição usando operadores de comparação de produtos cruzados. Se a comparação for avaliada como verdadeira, a solicitação List Blobs
será permitida. Se a comparação for avaliada como falsa, a solicitação List Blobs
será negada.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Listar blobs |
Origem do atributo | Solicitação |
Atributo | List blobs include |
Operador | ForAllOfAllValues:StringNotEquals |
Valor | {'metadata'} |
Namespace hierárquico
Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base no fato de o namespace hierárquico estar habilitado para uma conta de armazenamento.
Exemplo: ler somente contas de armazenamento com namespace hierárquico habilitado
Essa condição permite que um usuário leia apenas blobs em contas de armazenamento com namespace hierárquico habilitado. Essa condição se aplica somente no escopo de grupo de recursos ou acima.
Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob Todas as operações de dados das contas com namespace hierárquico habilitado (se aplicável) |
Origem do atributo | Recurso |
Atributo | Está habilitado para namespace hierárquico |
Operador | BoolEquals |
Valor | Verdadeiro |
Escopo de criptografia
Esta seção inclui exemplos que mostram como restringir o acesso a objetos com um escopo de criptografia aprovado.
Exemplo: ler blobs com escopos específicos de criptografia
Essa condição permite que um usuário leia blobs criptografados com escopo de criptografia validScope1
ou validScope2
.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob |
Origem do atributo | Recurso |
Atributo | Nome do escopo de criptografia |
Operador | ForAnyOfAnyValues:StringEquals |
Valor | <scopeName> |
Exemplo: ler ou gravar blobs na conta de armazenamento nomeada com escopo específico de criptografia
Essa condição permite que um usuário leia ou grave blobs em uma conta de armazenamento nomeada sampleaccount
e criptografada com escopo de criptografia ScopeCustomKey1
. Se os blobs não forem criptografados ou descriptografados com ScopeCustomKey1
, a solicitação retornará proibida.
Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
Observação
Como os escopos de criptografia de contas de armazenamento diferentes podem ser diferentes, é recomendável usar o atributo storageAccounts:name
com o atributo encryptionScopes:name
para restringir o escopo de criptografia específico a ser permitido.
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler um blob Gravar em um blob Criar um blob ou um instantâneo ou acrescentar dados |
Origem do atributo | Recurso |
Atributo | Nome da Conta |
Operador | StringEquals |
Valor | <accountName> |
Expressão 2 | |
Operador | E |
Origem do atributo | Recurso |
Atributo | Nome do escopo de criptografia |
Operador | ForAnyOfAnyValues:StringEquals |
Valor | <scopeName> |
Atributos principais
Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base em uma entidade de segurança personalizada.
Exemplo: ler ou gravar blobs com base em marcas de índice de blob e atributos de segurança personalizados
Essa condição permite acesso de leitura e gravação aos blobs se o usuário tiver um atributo de segurança personalizado que corresponda à marca de índice de blob.
Por exemplo, se Brenda tiver o atributo Project=Baker
, ela só poderá ler ou gravar blobs com a marca de índice de blob Project=Baker
. Da mesma forma, Chandra só poderá ler e gravar blobs com Project=Cascade
.
Você deve adicionar essa condição a todas as atribuições de função que incluam as ações a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
Para mais informações, acesse Permitir acesso de leitura a blobs com base em marcas e atributos de segurança personalizados.
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler as condições de um blob |
Origem do atributo | Principal |
Atributo | <attributeset>_<key> |
Operador | StringEquals |
Opção | Atributo |
Origem do atributo | Recurso |
Atributo | Marcas de índice de blob [Valores na chave] |
Chave | <chave> |
Condição número 2 | Configuração |
---|---|
Ações | Gravar em um blob com marcas de índice de blob Gravar em um blob com marcas de índice de blob |
Origem do atributo | Principal |
Atributo | <attributeset>_<key> |
Operador | StringEquals |
Opção | Atributo |
Origem do atributo | Solicitação |
Atributo | Marcas de índice de blob [Valores na chave] |
Chave | <chave> |
Exemplo: ler blobs com base em marcas de índice de blob e atributos de segurança personalizados de vários valores
Essa condição permite acesso de leitura aos blobs se o usuário tiver um atributo de segurança personalizado com quaisquer valores que correspondam à marca de índice de blob.
Por exemplo, se a Project tem o atributo Project com os valores Padeiro e Cascata, ela só poderá ler blobs com a marca de índice Project=Baker
ou Project=Cascade
do blob.
Você deve adicionar essa condição a todas as atribuições de função que incluam a ação a seguir.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
Para mais informações, acesse Permitir acesso de leitura a blobs com base em marcas e atributos de segurança personalizados.
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure.
Condição número 1 | Configuração |
---|---|
Ações | Ler as condições de um blob |
Origem do atributo | Recurso |
Atributo | Marcas de índice de blob [Valores na chave] |
Chave | <chave> |
Operador | ForAnyOfAnyValues:StringEquals |
Opção | Atributo |
Origem do atributo | Principal |
Atributo | <attributeset>_<key> |
Atributos de ambiente
Esta seção inclui exemplos que mostram como restringir o acesso a objetos com base no ambiente de rede ou na data e hora atuais.
Exemplo: permitir acesso de leitura dos blobs após uma data e hora específicas
Esta condição permite o acesso de leitura ao contêiner container1
de blob somente após 13 horas do dia 1º de maio de 2023, Tempo Universal Coordenado (UTC).
Há duas ações possíveis para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Adicionar ação
Selecione Adicionar ação e depois selecione somente a sub-operação Leitura de um blob conforme mostrado na seguinte tabela.
Ação | Suboperação |
---|---|
Todas as operações de leitura | Ler um blob |
Não selecione a ação Todas as operações de leitura de nível superior ou qualquer outra sub-operação conforme mostrado na seguinte imagem:
Compilar expressão
Use os valores na seguinte tabela para compilar a parte da expressão da condição:
Configuração Valor Origem do atributo Recurso Atributo Nome do contêiner Operador StringEquals Valor container1
Operador lógico 'AND' Origem do atributo Ambiente Atributo UtcNow Operador DateTimeGreaterThan Valor 2023-05-01T13:00:00.000Z
A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.
Exemplo: permitir acesso a blobs em contêineres específicos a partir de uma sub-rede específica
Esta condição permite acesso de leitura, gravação, adição e exclusão a blobs container1
apenas a partir da sub-rede default
na rede virtual virtualnetwork1
. Para usar o atributo sub-rede neste exemplo, a sub-rede deve ter pontos de extremidade de serviço habilitados para o Armazenamento do Microsoft Azure.
Há cinco ações possíveis para acesso de leitura, gravação, adição e exclusão de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Adicionar ação
Selecione Adicionar ação e depois selecione apenas as ações de nível superior mostradas na seguinte tabela.
Ação | Suboperação |
---|---|
Todas as operações de leitura | n/a |
Gravar em um blob | n/a |
Criar um blob ou um instantâneo ou acrescentar dados | n/a |
Excluir um blob | n/a |
Não selecione nenhuma sub-operação individual conforme mostrado na seguinte imagem:
Compilar expressão
Use os valores na seguinte tabela para compilar a parte da expressão da condição:
Configuração Valor Origem do atributo Recurso Atributo Nome do contêiner Operador StringEquals Valor container1
Operador lógico 'AND' Origem do atributo Ambiente Atributo Sub-rede Operador StringEqualsIgnoreCase Valor /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/virtualNetworks/virtualnetwork1/subnets/default
A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.
Exemplo: exigir acesso de link privado para leitura de blobs com alta confidencialidade
Esta condição exige que as solicitações de leitura de blobs em que a confidencialidade da marca de índice de blob tenha um valor de high
para estar em um link privado (qualquer link privado). Isso significa que todas as tentativas de leitura de blobs altamente confidenciais da Internet pública não serão permitidas. Os usuários podem ler blobs da Internet pública que tenham confidencialidade definida para algum valor diferente de high
.
Segue uma tabela de verdade para esta condição de amostra do ABAC:
Ação | Confidencialidade | Link privado | Acesso |
---|---|---|---|
Ler um blob | high | Sim | Permitido |
Ler um blob | high | Não | Não Permitido |
Ler um blob | NÃO alta | Sim | Permitido |
Ler um blob | NÃO alta | Não | Permitido |
Há duas ações possíveis para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.
Ação Observações Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o editor de condição de visual no portal do Azure.
Adicionar ação
Selecione Adicionar ação e depois selecione somente a sub-operação Leitura de um blob conforme mostrado na seguinte tabela.
Ação | Suboperação |
---|---|
Todas as operações de leitura | Ler um blob |
Não selecione a ação Todas as operações de leitura de nível superior de qualquer outra sub-operação conforme mostrado na seguinte imagem:
Compilar expressão
Use os valores na seguinte tabela para compilar a parte da expressão da condição:
Grupo Configuração Valor Grupo #1 Origem do atributo Recurso Atributo Marcas de índice de blob [Valores na chave] Chave sensitivity
Operador StringEquals Valor high
Operador lógico 'AND' Origem do atributo Ambiente Atributo É um link privado Operador BoolEquals Valor True
Fim do Grupo #1 Operador lógico 'OR' Origem do atributo Recurso Atributo Marcas de índice de blob [Valores na chave] Chave sensitivity
Operador StringNotEquals Valor high
A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.
Exemplo: permitir acesso a um contêiner somente a partir de um ponto de extremidade privado específico
Esta condição requer que todas as operações de leitura, gravação, adição e exclusão para blobs em um contêiner de armazenamento nomeado container1
sejam feitas através de um ponto de extremidade privado nomeado privateendpoint1
. Para todos os outros contêineres não nomeados container1
, o acesso não precisa ser feito através do ponto de extremidade privado.
Há cinco potenciais ações de leitura, gravação e exclusão de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.
Ação | Observações |
---|---|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/add/action |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete |
|
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action |
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento. Adicione se as contas de armazenamento incluídas nessa condição tiverem o namespace hierárquico habilitado ou que possa ser habilitado futuramente. |
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o editor de condição de visual no portal do Azure.
Adicionar ação
Selecione Adicionar ação e depois selecione apenas as ações de nível superior mostradas na seguinte tabela.
Ação | Suboperação |
---|---|
Todas as operações de leitura | n/a |
Gravar em um blob | n/a |
Criar um blob ou um instantâneo ou acrescentar dados | n/a |
Excluir um blob | n/a |
Não selecione nenhuma sub-operação individual conforme mostrado na seguinte imagem:
Compilar expressão
Use os valores na seguinte tabela para compilar a parte da expressão da condição:
Grupo Configuração Valor Grupo #1 Origem do atributo Recurso Atributo Nome do contêiner Operador StringEquals Valor container1
Operador lógico 'AND' Origem do atributo Ambiente Atributo Ponto de extremidade privado Operador StringEqualsIgnoreCase Valor /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/privateEndpoints/privateendpoint1
Fim do Grupo #1 Operador lógico 'OR' Origem do atributo Recurso Atributo Nome do contêiner Operador StringNotEquals Valor container1
A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.
Exemplo: permitir acesso de leitura a dados de blob altamente confidenciais apenas a partir de um ponto de extremidade privado específico e por usuários marcados para acesso
Esta condição exige que blobs com confidencialidade de marca de índice definida como high
possam ser lidos somente por usuários que tenham um valor correspondente para o atributo de segurança de confidencialidade. Além disso, eles devem ser acessados por meio de um ponto de extremidade privado nomeado privateendpoint1
. Os blobs que têm um valor diferente para a marca de confidencialidade podem ser acessados por outros pontos de extremidade ou pela Internet.
Há duas ações possíveis para a leitura de blobs existentes. Para tornar essa condição efetiva para entidades de segurança que tenham várias atribuições de função, você deve adicionar essa condição a todas as atribuições de função que incluam qualquer uma das seguintes ações.
Ação Observações Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read
Microsoft.Storage/storageAccounts/blobServices/containers/blobs/runAsSuperUser/action
Adicione se a definição de função incluir essa ação, como Proprietário de Dados do Blob de Armazenamento.
A condição pode ser adicionada a uma atribuição de função usando o portal do Azure ou o Azure PowerShell. O portal tem duas ferramentas para compilar condições no ABAC - o editor de visual e o editor de código. Você pode alternar entre os dois editores no portal do Azure para ver suas condições em diferentes exibições. Alterne entre a guia Editor de visual e as guias do Editor de código para exibir os exemplos do editor de portal de sua preferência.
Aqui estão as configurações para adicionar essa condição usando o editor de condição de visual no portal do Azure.
Adicionar ação
Selecione Adicionar ação e depois selecione somente a sub-operação Leitura de um blob conforme mostrado na seguinte tabela.
Ação | Suboperação |
---|---|
Todas as operações de leitura | Ler um blob |
Não selecione a ação de nível superior, conforme mostrado na seguinte imagem:
Compilar expressão
Use os valores na seguinte tabela para compilar a parte da expressão da condição:
Grupo | Configuração | Valor |
---|---|---|
Grupo #1 | ||
Origem do atributo | Principal | |
Atributo | <attributeset>_<key> | |
Operador | StringEquals | |
Opção | Atributo | |
Operador lógico | 'AND' | |
Origem do atributo | Recurso | |
Atributo | Marcas de índice de blob [Valores na chave] | |
Chave | <chave> | |
Operador lógico | 'AND' | |
Origem do atributo | Ambiente | |
Atributo | Ponto de extremidade privado | |
Operador | StringEqualsIgnoreCase | |
Valor | /subscriptions/<your subscription id>/resourceGroups/<resource group name>/providers/Microsoft.Network/privateEndpoints/privateendpoint1 |
|
Fim do Grupo #1 | ||
Operador lógico | 'OR' | |
Origem do atributo | Recurso | |
Atributo | Marcas de índice de blob [Valores na chave] | |
Chave | sensitivity |
|
Operador | StringNotEquals | |
Valor | high |
A seguinte imagem mostra a condição após as configurações serem inseridas no portal do Azure. Você deve agrupar as expressões para garantir a avaliação correta.
Próximas etapas
- 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 das condições de atribuição de função do Azure para o Armazenamento de Blobs do Azure
- Sintaxe e formato da condição de atribuição de função do Azure
- Solucionar problemas de condições de atribuição de função do Azure