Configurar conjuntos de dados do Storage Insights

Neste documento, mostramos como configurar conjuntos de dados do Storage Insights.

Antes de começar

Antes de configurar um conjunto de dados, siga estas etapas.

Ter os papéis necessários

Para receber as permissões necessárias para configurar conjuntos de dados, peça ao administrador para conceder a você os seguintes papéis do IAM nos projetos de origem:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Esses papéis predefinidos contêm as permissões necessárias para configurar conjuntos de dados. Para acessar as permissões exatas necessárias, expanda a seção Permissões necessárias:

Permissões necessárias

As seguintes permissões são necessárias para configurar conjuntos de dados:

  • Configurar um conjunto de dados:
    • storageinsights.datasetConfigs.create
    • storage.buckets.getObjectInsights
  • Link para o conjunto de dados do BigQuery: storageinsights.datasetConfigs.linkDataset

Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.

Ativar a API Storage Insights

Console

Ative a API storageinsights.googleapis.com

Linha de comando

Para ativar a API Storage Insights no projeto atual, execute o comando gcloud services enable:

gcloud services enable storageinsights.googleapis.com

Para mais informações sobre como ativar serviços em um projeto do Google Cloud , consulte Como ativar e desativar serviços.

Configurar o Storage Intelligence

Verifique se o Storage Intelligence está configurado para o projeto, a pasta ou a organização que você quer analisar com conjuntos de dados.

Criar uma configuração de conjunto de dados

Para criar uma configuração de conjunto de dados, siga estas etapas. Para mais informações sobre os campos que podem ser especificados na configuração do conjunto de dados, consulte Propriedades de configuração do conjunto de dados.

Console

  1. No console do Google Cloud , acesse a página Storage Insights do Cloud Storage.

    Acessar o Storage Insights

  2. Clique em Configurar conjunto de dados.

  3. Na seção Nomeie seu conjunto de dados, insira um nome para ele. Opcionalmente, insira uma descrição para o conjunto de dados. Os nomes identificam as configurações do conjunto de dados e são imutáveis. O nome pode ter até 128 caracteres, incluindo letras, números e sublinhados, e precisa começar com uma letra.

  4. Na seção Definir escopo do conjunto de dados, faça o seguinte:

    • Selecione uma das seguintes opções:

      • Para receber metadados de armazenamento de todos os projetos na organização atual, selecione Incluir a organização.

      • Para receber metadados de armazenamento de todos os projetos nas pastas selecionadas, escolha Incluir pastas (suborganização/departamentos). Para informações sobre como conseguir IDs de pastas, consulte Como visualizar ou listar pastas e projetos. Para adicionar pastas:

        1. No campo Pasta 1, insira o ID da pasta.
        2. Se quiser adicionar vários IDs de pastas, clique em + Adicionar outra pasta.
      • Para receber metadados de armazenamento dos projetos selecionados, escolha Incluir projetos fornecendo números de projetos. Para saber como encontrar os números do projeto, consulte Encontrar o nome, o número e o ID do projeto. Para adicionar projetos, faça o seguinte:

        1. No campo Projeto 1, digite o número do projeto.
        2. Se quiser adicionar vários números de projeto, clique em + Adicionar outro projeto.
      • Para adicionar projetos ou pastas em massa, selecione Fazer o upload de um arquivo CSV com uma lista de projetos e pastas. O arquivo CSV precisa conter os números de projeto ou IDs de pastas a serem incluídos no conjunto de dados. É possível especificar até 10.000 projetos ou pastas em uma configuração de conjunto de dados.

    • Especifique se os buckets futuros serão incluídos automaticamente no recurso selecionado.

    • Se quiser especificar filtros em buckets com base em regiões e prefixos de buckets, expanda a seção Filtros (opcional). Os filtros são aplicados de forma aditiva aos agrupamentos.

      É possível incluir ou excluir buckets de regiões específicas. Por exemplo, é possível excluir buckets nas regiões me-central1 e me-central2. Você também pode incluir ou excluir buckets por prefixo. Por exemplo, para excluir buckets que começam com my-bucket, insira o prefixo my-bucket*.

  5. Clique em Continuar.

  6. Na seção Selecionar período de retenção, escolha um período de retenção para os dados no conjunto de dados.

  7. Os dados de atividade são incluídos no conjunto de dados por padrão e herdam o período de retenção dele. Para substituir o período de armazenamento do conjunto de dados, selecione Especifique um período de armazenamento para dados de atividade e escolha o número de dias em que os dados de atividade serão mantidos. Para desativar os dados de atividade, defina o período de armazenamento como 0 dias.

  8. Na seção Selecione o local para armazenar o conjunto de dados configurado, escolha um local para armazenar o conjunto de dados. Por exemplo, us-central1.

  9. Na seção Selecionar tipo de conta de serviço, escolha um tipo de agente de serviço para seu conjunto de dados. Escolha um agente de serviço com escopo de configuração ou de projeto para seu conjunto de dados.

  10. Clique em Configurar.

Linha de comando

  1. Para criar uma configuração de conjunto de dados, execute o comando gcloud storage insights dataset-configs create com as flags necessárias:

    gcloud storage insights dataset-configs create DATASET_CONFIG_ID \
      --location=LOCATION \
      --organization=SOURCE_ORG_NUMBER \
      --retention-period-days=DATASET_RETENTION_PERIOD_DAYS \
      (SCOPE_FLAG)
    

    Substitua:

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados. Os nomes identificam as configurações do conjunto de dados e são imutáveis. O nome pode ter até 128 caracteres, incluindo letras, números e sublinhados, e precisa começar com uma letra.

    • LOCATION com o local para armazenar o conjunto de dados. Por exemplo, us-central1.

    • SOURCE_ORG_NUMBER com o ID da organização a que os projetos de origem pertencem. Para encontrar o ID da sua organização, consulte Como ter acesso ao ID do recurso da organização.

    • DATASET_RETENTION_PERIOD_DAYS com o período de armazenamento dos dados no conjunto de dados.

    • SCOPE_FLAG com uma das seguintes flags que definem o escopo dos dados a serem coletados:

      • --enable-organization-scope: permite que o conjunto de dados colete insights de todos os buckets da organização.
      • --source-folders=[SOURCE_FOLDER_NUMBERS,...]: especifica uma lista de números de pastas a serem incluídos no conjunto de dados. Para saber como encontrar um número de pasta, consulte Listar todos os projetos e pastas na sua hierarquia.
      • --source-folders-file=FILE_PATH: especifica vários números de pastas fazendo upload de um arquivo CSV para um bucket.
      • --source-projects=[SOURCE_PROJECT_NUMBERS,...]: especifica uma lista de números de projetos a serem incluídos no conjunto de dados. Por exemplo, 464036093014. Para encontrar o número do projeto, consulte Encontrar o nome, o número e o ID do projeto.
      • --source-projects-file=FILE_PATH: especifica vários números de projeto ao fazer upload de um arquivo CSV para um bucket.

    Se quiser, use as seguintes flags adicionais para configurar o conjunto de dados:

    • Use --include-buckets=BUCKET_NAMES_OR_REGEX para incluir buckets específicos por nome ou expressão regular. Não é possível usar essa flag com --exclude-buckets.

    • Use --exclude-buckets=BUCKET_NAMES_OR_REGEX para excluir buckets específicos por nome ou expressão regular. Não é possível usar essa flag com --include-buckets.

    • Use o --project=DESTINATION_PROJECT_ID para especificar um projeto para armazenar a configuração do conjunto de dados e o conjunto gerado. Se você não usar essa flag, o projeto de destino será seu projeto ativo. Para mais informações sobre IDs de projetos, consulte Como criar e gerenciar projetos.

    • Use --auto-add-new-buckets para incluir automaticamente todos os buckets adicionados aos projetos de origem no futuro.

    • Use --skip-verification para pular verificações e falhas do processo de verificação, que inclui verificações de permissões do IAM obrigatórias. Se você usar essa flag, alguns ou todos os agrupamentos poderão ser excluídos do conjunto de dados.

    • Use --identity=IDENTITY_TYPE para especificar o escopo do agente de serviço criado com a configuração do conjunto de dados. Os valores são IDENTITY_TYPE_PER_CONFIG ou IDENTITY_TYPE_PER_PROJECT. Se não for especificado, o padrão será IDENTITY_TYPE_PER_CONFIG. Para detalhes, consulte Tipo de agente de serviço.

    • Use --description=DESCRIPTION para adicionar uma descrição à configuração do conjunto de dados.

    • Use --activity-data-retention-period-days=ACTIVITY_RETENTION_PERIOD_DAYS para especificar o período de armazenamento dos dados de atividade no conjunto de dados. Por padrão, os dados de atividade são incluídos no conjunto de dados e herdam o período de retenção dele. Para substituir o período de armazenamento do conjunto de dados, especifique o número de dias em que os dados de atividade serão mantidos. Para excluir dados de atividade, defina ACTIVITY_RETENTION_PERIOD_DAYS como 0.

    O exemplo a seguir cria uma configuração de conjunto de dados chamada my-dataset na região us-central1 para a organização com o ID 123456789, um período de armazenamento de 30 dias e um escopo limitado aos projetos 987654321 e 123123123:

    gcloud storage insights dataset-configs create my-dataset \
    --location=us-central1 \
    --organization=123456789 \
    --retention-period-days=30 \
    --source-projects=987654321,123123123
    

API JSON

  1. Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho Authorization.

  2. Crie um arquivo JSON com as informações a seguir:

    {
      "sourceProjects": {
        "project_numbers": ["PROJECT_NUMBERS", ...]
      },
      "retentionPeriodDays": "RETENTION_PERIOD_DAYS",
      "activityDataRetentionPeriodDays": "ACTIVITY_DATA_RETENTION_PERIOD_DAYS",
      "identity": {
        "type": "IDENTITY_TYPE"
      }
    }

    Substitua:

    • PROJECT_NUMBERS com os números dos projetos que você quer incluir no conjunto de dados. É possível especificar um ou vários projetos. Os projetos precisam ser especificados como uma lista de strings.

      Você também pode adicionar uma organização ou uma ou várias pastas que contêm buckets e objetos para os quais você quer atualizar os metadados. Para incluir pastas ou organizações, use os campos sourceFolders ou organizationScope. Para mais informações, consulte a referência DatasetConfig.

    • RETENTION_PERIOD_DAYS com o número de dias de dados a serem capturados no snapshot do conjunto de dados. Por exemplo, 90.

    • ACTIVITY_DATA_RETENTION_PERIOD_DAYS com o número de dias de dados de atividade a serem capturados no snapshot do conjunto de dados. Por padrão, os dados de atividade são incluídos no conjunto de dados e herdam o período de retenção dele. Para substituir o período de armazenamento do conjunto de dados, especifique o número de dias em que os dados de atividade serão mantidos. Para excluir dados de atividade, defina ACTIVITY_RETENTION_PERIOD_DAYS como 0.

    • IDENTITY_TYPE com o tipo de conta de serviço criada junto com a configuração do conjunto de dados. Os valores são IDENTITY_TYPE_PER_CONFIG ou IDENTITY_TYPE_PER_PROJECT. Para detalhes, consulte Tipo de agente de serviço.

  3. Para criar a configuração do conjunto de dados, use cURL para chamar a API JSON com uma solicitação Create DatasetConfig:

    curl -X POST --data-binary @JSON_FILE_NAME \
    "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigs?datasetConfigId=DATASET_CONFIG_ID" \
      --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \
      --header "Accept: application/json" \
      --header "Content-Type: application/json"

    Substitua:

    • JSON_FILE_NAME pelo caminho para o arquivo JSON criado na etapa anterior. Como alternativa, você pode transmitir uma instância de DatasetConfig no corpo da solicitação.

    • PROJECT_ID com o ID do projeto a que a configuração e o conjunto de dados vão pertencer.

    • LOCATION com o local em que o conjunto de dados e a configuração dele vão residir. Por exemplo, us-central1.

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados. Os nomes identificam as configurações do conjunto de dados e são imutáveis. O nome pode ter até 128 caracteres, incluindo letras, números e sublinhados, e precisa começar com uma letra.

    • SERVICE_ACCOUNT com a conta de serviço. Por exemplo, test-service-account@test-project.iam.gserviceaccount.com.

Para resolver erros de processamento de snapshots registrados em error_attributes_view, consulte Erros do conjunto de dados do Storage Insights.

Conceda as permissões necessárias ao agente de serviço

Google Cloud cria um agente de serviço com escopo de configuração ou projeto ao criar uma configuração de conjunto de dados. O agente de serviço segue o formato de nomenclatura service-PROJECT_NUMBER@gcp-sa-storageinsights.iam.gserviceaccount.com e aparece na página do IAM no console do Google Cloud quando você seleciona a caixa de seleção Incluir concessões de funções fornecidas pelo Google. Também é possível encontrar o nome do agente de serviço visualizando o recurso DatasetConfig usando a API JSON.

Para permitir que o Storage Insights gere e grave conjuntos de dados, peça ao administrador para conceder ao agente de serviço o papel de serviço de coletor do Storage Insights (roles/storage.insightsCollectorService) na organização que contém os projetos de origem. É necessário conceder essa função a cada agente de serviço no escopo da configuração criado para cada configuração de conjunto de dados de que você quer dados. Se você usar um agente de serviço no escopo do projeto, conceda essa função apenas uma vez no agente para ler e gravar conjuntos de dados para todas as configurações de conjunto de dados no projeto.

Para instruções sobre como conceder papéis a projetos, consulte Gerenciar acesso.

Para vincular um conjunto de dados ao BigQuery, siga estas etapas:

  1. No console do Google Cloud , acesse a página Storage Insights do Cloud Storage.

    Acessar o Storage Insights

  2. Clique no nome da configuração do conjunto de dados que gerou o conjunto de dados que você quer vincular.

  3. Na seção Conjunto de dados vinculado do BigQuery, clique em Vincular conjunto de dados.

  1. Para vincular um conjunto de dados ao BigQuery, execute o comando gcloud storage insights dataset-configs create-link:

    gcloud storage insights dataset-configs create-link DATASET_CONFIG_ID --location=LOCATION

    Substitua:

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados que gerou o conjunto de dados a ser vinculado.

    • LOCATION com o local do conjunto de dados. Por exemplo, us-central1.

    Também é possível especificar um caminho completo de configuração do conjunto de dados. Exemplo:

    gcloud storage insights dataset-configs create-link projects/DESTINATION_PROJECT_ID/locations/LOCATION/datasetConfigs/DATASET_CONFIG_ID

    Substitua:

    • DESTINATION_PROJECT_ID com o ID do projeto que contém a configuração do conjunto de dados. Para mais informações sobre IDs de projetos, consulte Como criar e gerenciar projetos.

    • DATASET_CONFIG_ID com o nome da configuração do conjunto de dados que gerou o conjunto de dados a ser vinculado.

    • LOCATION com o local do conjunto de dados e da configuração dele. Por exemplo, us-central1.

  1. Ter CLI gcloud instalada e inicializada, o que permite gerar um token de acesso para o cabeçalho Authorization.

  2. Use cURL para chamar a API JSON com uma solicitação linkDataset DatasetConfig:

    curl -X POST \
      "https://storageinsights.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/datasetConfigsDATASET_CONFIG_ID:linkDataset?" \
        --header "Authorization: Bearer $(gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT)" \
        --header "Accept: application/json" \
        --header "Content-Type: application/json"
    

    Substitua:

    • JSON_FILE_NAME com o caminho para o arquivo JSON criado.

    • PROJECT_ID com o ID do projeto a que a configuração do conjunto de dados pertence.

    • LOCATION com o local onde o conjunto de dados e a configuração dele estão. Por exemplo, us-central1.

    • DATASET_CONFIG_ID com o nome da configuração de conjunto de dados que gerou o conjunto de dados a ser vinculado.

    • SERVICE_ACCOUNT com a conta de serviço. Por exemplo, test-service-account@test-project.iam.gserviceaccount.com.

A seguir