Permissionamento no Azure Files

A Microsoft liberou a 2 dias em Preview o permissionamento no Azure Files, para todas contas criadas após o dia 24 de setembro de 2018.

Para começarmos a utilizar, o primeiro passo é criar um Azure Domain Services, para criar você pode ver esse post.

Após criado o Azure Domain Service, vamos criar um storage do Zero para demonstrar.

Após finalizar a criação do Storage, selecionaremos a opção “Configuration” para habilitar o Azure Active Directory authentication for Azure Files (Preview).

 

Após configurada a opção vamos criar um compartilhamento que usaremos para demonstração

Depois de criado o compartilhamento devemos configurar os grupos de permissão, comparando com o compartilhamento de arquivo do Windows, precisamos criar os grupos, read-only, read-write, etc.

Para isso será necessário criar os arquivos JSON para criar os tipos de permissões de compartilhamento, irei colocar um exemplo completo, e outro somente leitura.

{
“Name”: “Acesso total – Onthecloud”,
“Id”: null,
“IsCustom”: true,
“Description”: “Acesso total para o compartilhamento”,
“Actions”: [
“*”
],
“NotActions”: [
“Microsoft.Authorization/*/Delete”,
“Microsoft.Authorization/*/Write”,
“Microsoft.Authorization/elevateAccess/Action”
],
“DataActions”: [
“*”
],
“AssignableScopes”: [
“/subscriptions/41855a99-59f3-4908-a9d4-53d130ecb5a1
]
}

 

{
“Name”: “Acesso Somente Leitura – Onthecloud”,
“Id”: null,
“IsCustom”: true,
“Description”: “Acesso somente leitura para o compartilhamento”,
“Actions”: [
“*/read”
],
“DataActions”: [
“*/read”
],
“AssignableScopes”: [
“/subscriptions/41855a99-59f3-4908-a9d4-53d130ecb5a1
]
}

A opção em vermelho deve ser substituída pelo ID de sua assinatura.

Depois de criados os arquivos,  vamos importa-los para o Azure. Para isso devemos nos conectar no Azure por PowerShell utilizando o módulo AZ, nesse artigo você encontra o passo a passo para conexão.

E utilizar o seguinte comando para importar

New-AzRoleDefinition -InputFile “caminho do arquivo”

Após criadas as roles (Grupos de Segurança) devemos aplica-las ao compartilhamento anteriormente criado, nesse artigo foi a pasta “dados”, daremos direito somente leitura ao usuário “user1”.

#Digitar o nome da role criada
$FileShareContributorRole = Get-AzRoleDefinition “Acesso Somente Leitura – Onthecloud”
#Inserir o scopo do Compartilhamento
$scope = “/subscriptions/41855a99-59f3-4908-a9d4-53d130ecb5a1/resourceGroups/onthecloud/providers/Microsoft.Storage/storageAccounts/onthecloud/fileServices/default/fileshare/dados”
#Adicionar permissão para o usuário
New-AzRoleAssignment -SignInName user1@labonthecloud.onmicrosoft.com -RoleDefinitionName $FileShareContributorRole.Name -Scope $scope

Agora daremos acesso total ao user2:

#Digitar o nome da role criada
$FileShareContributorRole = Get-AzRoleDefinition “Acesso total – Onthecloud”
#Inserir o scopo do Compartilhamento
$scope = “/subscriptions/41855a99-59f3-4908-a9d4-53d130ecb5a1/resourceGroups/onthecloud/providers/Microsoft.Storage/storageAccounts/onthecloud/fileServices/default/fileshare/dados”
#Adicionar permissão para o usuário
New-AzRoleAssignment -SignInName user2@labonthecloud.onmicrosoft.com -RoleDefinitionName $FileShareContributorRole.Name -Scope $scope

Pronto! Agora estamos com as permissões de compartilhamento concedidas, vamos testar o acesso e aplicar os controles de segurança nos arquivos.

IMPORTANTE, O SISTEMA OPERACIONAL DEVE ESTAR DO DOMÍNIO AZURE DS!

Para aplicar os controles de segurança, nesse momento em preview não é possível via Explorer, então a permissão deve ser aplicada por linha de comando.

Para mapearmos a unidade, precisamos primeiramente pegar as informações de conexão, que podem ser encontradas no seguinte local.

Mapeando a unidade:

Após mapeada, a unidade com os privilégios da chave de acesso ao storage, vamos definir as permissões

icacls Z: /grant user1@labonthecloud.onmicrosoft.com:(r)

icacls Z: /grant user2@labonthecloud.onmicrosoft.com:(f)

A opção R no user1 é para somente leitura, e a opção F para o user2 é de Full Access, nesse documento podemos ver todas as permissões para utilizar no comando.

Após executados os comandos, podemos validar as permissões no explorer

Agora podemos mapear logando com os usuários user1@labonthecloud.onmicrosoft.com e user2@labonthecloud.onmicrosoft.com utilizando o comando

net use Z: \\onthecloud.file.core.windows.net\dados

Pronto! Agora podemos utilizar os permissionamentos no Azure Files. Lembrando que o mesmo só funciona em VMs do Azure!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *