Logs e Grupos de Logs

Use o Oracle Cloud Infrastructure Logging para gerenciar logs e grupos de logs.

Os logs contêm informações de diagnóstico crítico que informam como seus recursos estão sendo executados e acessados. Você pode ativar o registro em log em recursos suportados. Para ver uma lista de recursos suportados agrupados por serviço, consulte Serviços Suportados.

Grupos de logs são contêineres lógicos para organizar logs. Os logs sempre devem estar dentro dos grupos de logs. Você deve criar um grupo de logs para ativar um log.

Use grupos de logs para limitar o acesso a logs confidenciais com política do serviço IAM. Com grupos de logs, você não precisa depender de hierarquias de compartimento complexas para proteger seus logs. Por exemplo, digamos que o grupo de logs padrão em um único compartimento seja onde você armazena logs para toda a tenancy. Você concede acesso ao compartimento para administradores de log com a política do serviço IAM como normalmente faria. No entanto, digamos que alguns projetos contenham informações de identificação pessoal (PII) e esses logs só podem ser exibidos por um grupo seleto de administradores de logs. Os grupos de log permitem que você coloque logs que contenham PII em um grupo de logs separado e, em seguida, use a política do serviço IAM para restringir o acesso de modo que apenas um conjunto selecionado de administradores de log tenha o acesso elevado.

Política do serviço IAM para grupos de logs

Política Obrigatória do Serviço IAM

Para usar o Oracle Cloud Infrastructure, você deve receber acesso de segurança em uma política  por um administrador. Esse acesso será necessário se você estiver usando a Console ou a API REST com um SDK, uma CLI ou outra ferramenta. Caso receba uma mensagem de que você não tem permissão ou de que não está autorizado, verifique com o administrador o tipo de acesso que você tem e em qual compartimento  deve trabalhar.

Administradores: para ver amostras de política específicas de logs e grupos de logs, consulte Permissões Obrigatórias para Trabalhar com Logs e Grupos de Logs.

Se você não conhece as políticas, consulte Conceitos Básicos de Políticas e Políticas Comuns. Se você quiser saber mais sobre a gravação de políticas para Registro em Log, consulte Detalhes de Registro em Log,.

Permissões Obrigatórias para Trabalhar com Logs e Grupos de Logs

Para ativar logs de serviço em um recurso, um usuário deve receber acesso manage no grupo de logs e acesso ao recurso. Em geral, o acesso de inspeção no recurso é suficiente, mas verifique se há recursos específicos. O acesso de inspeção fornece permissão para atualizar o recurso e permissão para o grupo de logs que contém o log.

Os logs e grupos de logs usam o tipo de recurso log-group, mas para pesquisar o conteúdo de logs, você deve usar outro tipo de recurso.

Gerenciando grupos de logs e objetos de log

Para gerenciar grupos ou objetos, use verbos para grupos de logs:

Allow group A to use log-groups in compartment C
Allow group B to manage log-groups in compartment C
Allow group D to read log-groups in compartment C

Isso permite que os usuários do grupo A criem, atualizem ou excluam grupos de logs e objetos de log no compartimento C.

Para provisionar configurações do agente

São necessários três diferentes tipos de acesso:

  1. Acesso para operar em configurações.
  2. Acesso para operar em grupos de logs.
  3. Recursos de inspeção em grupos ou grupos dinâmicos.
Para ter acesso às configurações, a política deve ser:
Allow group B to use unified-configuration in compartment X
Para criar, atualizar ou excluir logs personalizados usados como destino em uma configuração

Essa política permite que os usuários do compartimento B criem, atualizem ou excluam configurações no compartimento X.

Para fornecer um destino para os logs recebidos da configuração, você precisa do acesso log-groups:
Allow group B to use log-groups in compartment X
Para designar uma configuração a um conjunto de instâncias
Para designar uma configuração a um conjunto de instâncias, você precisa de acesso de inspeção ao grupo ou grupo dinâmico que identifica as instâncias:
Allow group B {IDENTITY_DYNAMIC_GROUP_INSPECT} in tenancy  / Allow group B {IDENTITY_GROUP_INSPECT} in tenancy
Permitir que instâncias enviem logs para o serviço Logging
Para permitir que as instâncias enviem logs, as instâncias precisam ter acesso para obter uma configuração e enviar os logs. log-content controla essa permissão (em que X corresponde ao compartimento no qual as configurações estão localizadas):
Allow dynamic-group production-fleet to use log-content in compartment X
Para exibir logs
Para exibir logs na Console (Pesquisar), é necessário o seguinte:
Allow group Searchers to read log-content in compartment X
Exemplo de política de pesquisa de log

Para permitir que um grupo leia o conteúdo de logs indexados:

allow group GroupA to read log-groups in tenancy
allow group GroupA to read log-content in tenancy
Exemplos de políticas para logs e grupos de logs

Nesses exemplos, as instruções de política usam GroupA como o nome do grupo.

Para permitir que um grupo exiba os grupos de logs na tenancy (ou em um compartimento), é necessário o acesso inspect:

allow group GroupA to inspect log-groups in tenancy

Para permitir que um grupo leia metadados para logs ou grupos de logs, é necessário o acesso read:

allow group GroupA to read log-groups in tenancy

Para permitir que um grupo atualize grupos de logs ou os logs neles, é necessário o acesso use:

allow group GroupA to use log-groups in tenancy

Para ativar um log em um recurso (ou criar e excluir grupos de logs e os logs neles), é necessário o acesso manage:

allow group GroupA to manage log-groups in tenancy

Para permitir o uso de um grupo ou grupos de logs específicos, use uma cláusula where com a variável target.loggroup.id. Por exemplo:

Allow group GroupA to manage loggroups in tenancy where 
target.loggroup.id='ocid1.loggroup.oc1.phx.<uniqueID>'

Para especificar vários grupos de logs:

Allow group GroupA to manage log-groups in tenancy where any {target.loggroup.id='ocid1.loggroup'}
Logs personalizados

Para logs personalizados, é necessário o seguinte. Esta política é necessária para permitir que o usuário pesquise logs por meio da página Pesquisar na Console:

allow group userGroup1 to read log-content in compartment c
Observação

Embora essa política seja descrita para uso com logs personalizados, a política também é verdadeira para todos os logs. LOG_CONTENT_READ permite a leitura de logs personalizados e do serviço OCI. É idêntico em comportamento a esta política:
allow group GroupA to read log-content in tenancy

É necessário o seguinte para o agente que usa o controlador de instâncias na máquina virtual para enviar logs:

allow dynamic-group dynamicgroup1 to use log-content in compartment c
Observação

Se um grupo de usuários estiver sendo usado em vez de um grupo dinâmico para enviar logs personalizados, substitua o nome do grupo dinâmico pelo nome do grupo de usuários nessas políticas.

Para logs personalizados, se você usar allow dynamic-group dynamicGroup1 to use log-content in compartment c, as instâncias desse grupo dinâmico terão permissão para fazer download da configuração, enviar logs e pesquisar logs.

Requisitos de Política do Serviço IAM para Recursos

Além das permissões para trabalhar com o grupo de logs, para adicionar logs de serviço a um recurso, você deve ter a permissão de atualização para o recurso. Para muitos recursos, a permissão de atualização é concedida com o verbo use. Por exemplo, os usuários que podem utilizar o verbo use (usar) buckets no CompartmentA também podem ativar o log em um bucket no CompartmentA.

No entanto, alguns recursos não incluem permissão para atualizar um recurso com o verbo use. Por exemplo, para atualizar uma regra para o serviço Events, você deve ter a permissão manage completa. Para ativar um log em uma regra do serviço Events (ou qualquer outro recurso que não inclua a permissão de atualização com o verbo use), você deve ter a permissão manage.

Para permitir que um grupo ative o registro em log desses recursos, sem conceder as permissões completas de manage, você pode adicionar uma instrução de política para conceder somente a permissão <RESOURCE>_UPDATE (ou, no caso do serviço Events, <RESOURCE>_MODIFY) do verbo manage. Por exemplo, para permitir que um grupo EventUsers ative logs em regras do serviço Events em CompartmentA, você pode gravar uma política como a seguinte:

Allow group EventUsers to read cloudevents-rules in compartment CompartmentA
Allow group EventUsers to manage cloudevents-rules in compartment CompartmentA 
 where request.permission='EVENTRULE_MODIFY'

Para obter informações sobre permissões de recursos, consulte Referência de Políticas.

Política do Serviço IAM de Logs de Fluxo da VCN

Além de Permissões Obrigatórias para Trabalhar com Logs e Grupos de Logs, as permissões de leitura e atualização de sub-rede são necessárias para gerenciar Logs de Fluxo da VCN.

Para fornecer permissões de sub-rede, use uma das seguintes políticas, listadas para permitir privilégios mais amplos a privilégios limitados:

Allow group FlowLogsEnablers to manage virtual-network-family in tenancy 

Ou:

Allow group FlowLogsEnablers to manage subnets in tenancy

Ou:

Allow group FlowLogsEnablers to {SUBNET_READ, SUBNET_UPDATE} in tenancy

Este grupo é semelhante ao descrito para EventUsers em Requisitos de Política do IAM para Recursos.

Exemplo de Cenário

Sua empresa tem um departamento de Operações. Dentro do departamento de Operações há vários centros de custos. Você deseja marcar recursos que pertencem ao departamento de Operações com o centro de custo apropriado.

  1. Crie um grupo de logs chamado "confidencial". Evite digitar informações confidenciais.
  2. Adicione logs com dados confidenciais ao grupo de logs "confidencial".

Uma funcionária chamada Alice já pertence ao grupo BucketManagers. Alice pode gerenciar buckets em CompartmentA. Você deseja que Alice e outros membros do grupo BucketManagers consigam ativar logs em buckets em CompartmentA.

Para conceder ao grupo BucketManagers acesso ao grupo de log de dados confidenciais (e apenas ao grupo de log de dados confidenciais), adicione as seguintes instruções à política de BucketManagers:

Allow group BucketManagers to manage log-groups in compartment CompartmentA where 
target.loggroups.id='ocid1.lumloggroup.oc1.phx.<uniqueID>'

Agora, Alice pode ativar logs para recursos de bucket no CompartmentA.

Nomes de Logs e Grupos de Logs

Para nomes de grupos de logs, o primeiro caractere deve começar com uma letra. Caso contrário, as seguintes diretrizes se aplicam aos nomes de log e grupo de logs:

  • Use de 1 a 256 caracteres.
  • Os caracteres válidos são letras (maiúsculas ou minúsculas), números, hifens, sublinhados e pontos.
  • Os nomes dos grupos de logs e de logs diferenciam maiúsculas de minúsculas. O registro em log trata write-log e WRITE-log como logs separados.
  • Evite digitar informações confidenciais.