Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Com o MSP (Metadata Security Protocol), você pode definir uma lista de permissões RBAC (controle de acesso baseado em função) personalizada para ajudar a proteger os pontos de extremidade do serviço de metadados. O conteúdo da lista de permissões vem de logs de auditoria. Um novo tipo de recurso na Galeria de Computação do Azure, InVMAccessControlProfile
, habilita a lista de permissões.
Para saber mais sobre o RBAC e o tipo de InVMAccessControlProfile
recurso, consulte Configuração avançada para MSP.
Estrutura de uma lista de permissões
Uma lista de permissões consiste em:
- Identidades: Processos na máquina.
- Privilégios: pontos de extremidade que as identidades acessam.
- Funções: Um agrupamento de privilégios.
- Atribuições de função: funções e a lista de identidades com acesso concedido para essas funções.
Recolher registos de auditoria
Se ativar o MSP no modo Audit
ou Enforce
, o Guest Proxy Agent (GPA) cria registos de auditoria nas pastas seguintes dentro da máquina virtual (VM):
Sistema operativo | Local do log de auditoria |
---|---|
Linux | /var/lib/azure-proxy-agent/ProxyAgent.Connection.log |
Windows | C:\WindowsAzure\ProxyAgent\Logs\ProxyAgent.Connection.log |
Converter logs em regras
Para criar uma lista de permissões, você pode usar um método automatizado ou um método manual.
Gerar uma lista de permissões automaticamente
Você pode usar uma ferramenta geradora de lista de permissões para gerar as regras de controle de acesso. A ferramenta ajuda a analisar os logs de auditoria e fornece uma interface do usuário para gerar as regras.
Faça o download e execute a ferramenta geradora de lista de permissões. Na página da versão mais recente, em Ativos, selecione
allowListTool.exe
.A ferramenta analisa os
ProxyAgentConnection
logs e exibe os privilégios e identidades atuais na VM.Crie funções e atribuições de função:
- Para criar uma função, selecione um agrupamento de privilégios e dê à função um nome descritivo.
- Para criar uma atribuição de função, selecione uma função e um agrupamento de identidades. Essas identidades podem acessar os privilégios agrupados nessa função. Dê à atribuição de função um nome descritivo.
Criar manualmente uma lista de permissões
Depois de habilitar uma VM com MSP no Audit
modo ou Enforce
, o agente proxy captura todas as solicitações que estão sendo feitas aos pontos de extremidade do host.
Nos logs de conexão, é possível analisar as aplicações que estão fazendo os pedidos para o Serviço de Metadados de Instância do Azure ou endpoints do WireServer.
O exemplo a seguir mostra o formato do JSON capturado.
No arquivo de log, você pode identificar os pontos de extremidade que deseja proteger. Estes endpoints aparecem em privileges
na última InVMAccessControlProfile
instância. Você também pode identificar as identidades (identities
) que devem ter acesso.
Um esquema de regras simples pode se parecer com o exemplo a seguir.
Criar uma instância do InVMAccessControlProfile usando um modelo ARM
Crie uma nova galeria privada na Galeria de Computação do Azure.
Crie uma
InVMAccessControlProfile
definição com parâmetros para:- Nome da galeria para armazenar (a partir da etapa 1)
- Nome do perfil
- Tipo de SO
- Tipo de ponto de extremidade do host (WireServer ou Instance Metadata Service)
Crie uma versão específica.
Aqui está um exemplo InVMAccessControlProfile
:
"properties": {
"mode": "Enforce",
"defaultAccess": "Allow",
"rules": {
"privileges": [
{
"name": "GoalState",
"path": "/machine",
"queryParameters": {
"comp": "goalstate"
}
}
],
"roles": [
{
"name": "Provisioning",
"privileges": [
"GoalState"
]
},
{
"name": "ManageGuestExtensions",
"privileges": [
"GoalState"
]
},
{
"name": "MonitoringAndSecret",
"privileges": [
"GoalState"
]
}
],
"identities": [
{
"name": "WinPA",
"userName": "SYSTEM",
"exePath": "C:\\Windows\\System32\\cscript.exe"
},
{
"name": "GuestAgent",
"userName": "SYSTEM",
"processName": "WindowsAzureGuestAgent.exe"
},
{
"name": "WaAppAgent",
"userName": "SYSTEM",
"processName": "WaAppAgent.exe"
},
{
"name": "CollectGuestLogs",
"userName": "SYSTEM",
"processName": "CollectGuestLogs.exe"
},
{
"name": "AzureProfileExtension",
"userName": "SYSTEM",
"processName": "AzureProfileExtension.exe"
},
{
"name": "AzurePerfCollectorExtension",
"userName": "SYSTEM",
"processName": "AzurePerfCollectorExtension.exe"
},
{
"name": "WaSecAgentProv",
"userName": "SYSTEM",
"processName": "WaSecAgentProv.exe"
}
],
"roleAssignments": [
{
"role": "Provisioning",
"identities": [
"WinPA"
]
},
{
"role": "ManageGuestExtensions",
"identities": [
"GuestAgent",
"WaAppAgent",
"CollectGuestLogs"
]
},
{
"role": "MonitoringAndSecret",
"identities": [
"AzureProfileExtension",
"AzurePerfCollectorExtension",
"WaSecAgentProv"
]
}
]
},