Migração das regras de proteção de dados
Use chamadas de API ou cpd-cli comandos para exportar e importar regras de proteção de dados dentro de um cluster do IBM Software Hub ou entre diferentes clusters.
É possível exportar e importar regras de proteção de dados por meio de APIs. Como alternativa, você pode usar a interface de linha de comando integrada (cpd-cli) para exportar regras de proteção de dados de qualquer sistema e importá-las para o mesmo sistema ou para um sistema diferente. São mantidos links para itens do glossário, catálogos, recursos e usuários. Essa tarefa também é útil para fazer backup e restaurar suas regras de proteção de dados no mesmo sistema ou em outro.
Escolha entre a API ou cpd-cli os comandos:
Pré-requisitos
Permissão Necessária
Para concluir esta tarefa, você deve ser administrador do projeto (espaço de nomes) no qual implantou o serviço IBM Knowledge Catalog.
Antes de iniciar
Todos os artefatos, usuários, grupos de usuários, funções de usuário e ativos utilizados nas regras devem ser importados corretamente para o sistema de destino antes que as regras exportadas sejam importadas.
Para evitar erros e alterações no comportamento da aplicação, é necessário verificar se as configurações de gerenciamento de regras entre os sistemas de origem e de destino estão definidas da mesma forma.
Antes de importar uma regra, verifique se há predicados personalizados nas regras exportadas. Nesse caso, você deve criar esses predicados personalizados no sistema de destino antes de poder importar.
Limitações
Os dados originais não encriptados podem permanecer no armazenamento temporário nos seguintes casos:
- Um conjunto de dados a ser exibido na seção “Dados de exemplo” quando uma regra de proteção de dados é criada ou editada.
- Uma cópia com dados ocultos do arquivo Cloud Object Storage para facilitar a recuperação desses dados.
- Um perfil de dados pode não armazenar todos os dados, mas sim uma agregação dos dados, que pode incluir valores encontrados nos dados.
Migração de regras de proteção de dados por meio de API
Exportar
Para exportar de uma instalação para outra, defina external_export como true executando a seguinte API:
curl -k -X GET -H 'Content-Type: application/json' -H "Authorization:Bearer $token" '$url/v3/enforcement/rules/export?external_export=true'
É gerado um exported_file.json arquivo que pode ser usado para importação.
Importar
- Antes de importar entre instalações diferentes, gere um relatório com todas as regras que tiveram sucesso ou falharam na correspondência entre nomes e IDs no sistema de destino. Ao executar a seguinte API que define o
commitparâmetro comofalse:
curl -k -X POST -H 'Content-Type: application/octet-stream' -H "Authorization:Bearer $token" '$url/v3/enforcement/rules/import?external_import=true&commit=false' -d "@./exported_file.json"
Antes de aplicar as regras, use o relatório a seguir para identificar quaisquer regras que não correspondam aos IDs no sistema de destino. Quando você executa a importação com external_import definido como true, nenhuma regra é criada e confirmada quando o commit parâmetro está definido como false:
{
"failedList": [
{
"name": "export name4",
"index": 4,
"ruleGuidInRequest": "abcd123e-123b-1ab2-a123-ab123456c7d1",
"reason": "WDPPS9040E: Import rules failed to match export component ids: [id=123a4b56-1a23-1234-a1bc-12a3b45cd6ef_123a4b56-1a23-1a23-1a23-12ab345cd67e]"
}
],
"matchedList": [
{
"name": "export name1",
"index": 1,
"ruleGuidInRequest": "12abc456-1234-12a3-a1bc-a1abc2345abc"
},
{
"name": "export name2",
"index": 2,
"ruleGuidInRequest": "123456a7-1abc-1a2b-a1bc-ab1cd234ef56"
},
{
"name": "export name3",
"index": 3,
"ruleGuidInRequest": "a123bcd4-a1b2-1234-1234-a1234567b123"
}
]
}
- Execute a seguinte API para definir o
commitparâmetro comotrue, de modo que todas as regras ou nenhuma delas possam ser confirmadas. Se uma das regras falhar, toda a importação falhará:
curl -k -X POST -H 'Content-Type: application/octet-stream' -H "Authorization:Bearer $token" '$url/v3/enforcement/rules/import?external_import=true&commit=true' -d "@./exported_file.json"
Exemplo de resposta quando a importação do pacote de exportação (exported_file.json arquivo) é bem-sucedida:
SUCCEEDED
{
"importedList": [
{
"name": "export name1",
"index": 1,
"guid": "a1b2cd3e-4567-8f90-gh12-345i6jklm78n",
"ruleGuidInRequest": "12abc345-6789-01d2-e3fg-h4ijk5678lmn"
},
{
"name": "export name2",
"index": 2,
"guid": "12a234b5-c678-90d1-ef2g-34567h8i9012",
"ruleGuidInRequest": "123456a7-8bcd-9e0f-g1hi-jk2lm345no67"
},
{
"name": "export name3",
"index": 3,
"guid": "1a234b5c-d6e7-89f0-1234-5g6hi7j8901k",
"ruleGuidInRequest": "aa123bcd4-e5f6-7890-1234-g5678901h234"
},
{
"name": "export name4",
"index": 4,
"guid": "12a345bc-6789-0d12-3ef4-g5h6ijk789lm",
"ruleGuidInRequest": "abcd123e-456f-7gh8-i901-jk234567l8m9"
}
]
}
Um exemplo de resposta quando a importação do pacote de exportação (exported_file.json arquivo) falha:
FAILED
{
"trace": "a1bc2d3e4fg5h6ijklmn7o9pq",
"errors": [
{
"code": "WDPPS9043E",
"message": "WDPPS9043E: Import rules failed: {\"failedList\":[{\"name\":\"export name4\",\"index\":4,\"ruleGuidInRequest\":\"abcd123e-123b-1ab2-a123-ab123456c7d1\",\"reason\":\"WDPPS9040E: Import rules failed to match export component ids: [id=123a4b56-7c89-0123-d4ef-56g7h89ij0kl_123m4n56-7o89-0p12-3q45-67rs890tu12v]\"}]}"
}
]
}
Migração de regras de proteção de dados usando cpd-cli comandos
Antes de iniciar
- A interface
cpd-clide linha de comando e os módulos relacionados devem estar instalados. Consulte Instalação da interface de linha de comando do ` Cloud Pak for Data ` (cpd-cli). - Verifique se você criou um
cpd-cliperfil na sua estação de trabalho. Consulte “Criação de um perfil” para usar os comandos de gerenciamento do cpd-cli. - Depois de obter a chave da API, conclua a configuração do perfil executando os seguintes comandos:
cpd-cli config users set admin --username <username> --apikey <apikey>
cpd-cli config profiles set default --user admin --url <url>
Exportar
Para exportar regras de proteção de dados do serviço IBM Knowledge Catalog, siga estas etapas:
- Prepare um arquivo YAML com as especificações de exportação. Crie um
export.yamlarquivo com os seguintes parâmetros:
- parâmetro:
EX PORT_HOSTvalor: O nome do host do cluster do qual você deseja exportar dados. - parâmetro:
EX TERNAL_EXPORTvalor:trueoufalse. Esse parâmetro é obrigatório. Para exportar entre sistemas diferentes, defina este parâmetro detrueforma que os IDs nas regras do sistema de origem sejam convertidos em nomes durante a exportação. - parâmetro:
AUT H_STRINGvalor: O token de acesso do sistema de origem. Você pode especificar um token de portador ouZenApiKeyum token. Para obter mais informações sobre como gerar umZenApiKeytoken, consulte Gerando um token de autorização da API. Para obter mais informações sobre como gerar um token de portador, consulte Gerando um token de portador.
Certifique-se de que a chave e o recuo estejam conforme o exemplo a seguir:
policy-api-aux:
EXPORT_HOST: <hostname>
EXTERNAL_EXPORT: true
AUTH_STRING: Bearer <token> | ZenApiKey <token>
Se o export.yaml arquivo não for fornecido, os seguintes valores padrão serão utilizados durante a exportação:
EXPORT_HOST: <hostname>- anfitrião atualEXTERNAL_EXPORT: trueAUTH_STRING:- O token é obtido pelocpd-clipara o usuário definido nos perfis especificados pelo parâmetro--profilerequerido.
- Vá até o diretório onde a interface
cpd-clide linha de comando está instalada e execute o comando export:
cpd-cli export-import export create -c <component_name> --namespace <namespace> <export_name> -f <export_yaml_file> --log-level=debug --verbose --profile=default
Substitua os valores a seguir:
- Substitua component_name pelo valor
policy-api. - Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
- Substitua export_name pelo nome da tarefa de exportação.
- Substitua export_yaml_file pelo caminho para o arquivo YAML que contém as especificações de exportação.
Exemplo:
cpd-cli export-import export create -c policy-api --namespace wkc export1 -f /root/export.yaml --log-level=debug --verbose --profile=default
Um arquivo .json exportado é criado no diretório ../data/export.json do pacote de exportação.
- Aguarde a exportação ser concluída. Você pode verificar o status da exportação executando o seguinte comando:
cpd-cli export-import export status --namespace <namespace> <export_name> --profile=default
Substitua os valores a seguir:
- Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
- Substitua export_name pelo nome da tarefa de exportação.
Exemplo de valores substituídos:
cpd-cli export-import export status --namespace wkc export1 --profile=default
Dica: O status indica apenas a SUCCEEDED conclusão da tarefa de exportação. Se nenhum dado foi exportado, apesar da mensagem de sucesso, verifique os arquivos de log. A exportação pode ter falhado, por exemplo, devido a erros de permissão.
- Baixe o resultado da exportação:
cpd-cli export-import export download --namespace <namespace> <export_name> --profile=default
Substitua os valores a seguir:
- Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
- Substitua export_name pelo nome da tarefa de exportação.
Exemplo de valores substituídos:
cpd-cli export-import export download --namespace wkc export1 --profile=default
O nome do pacote de exportação tem o seguinte formato: cpd-exports-<export_name>-<timestamp>-data.tar
- (Opcional) A qualquer momento, você pode baixar o arquivo de log de um trabalho de exportação específico usando o seguinte comando:
cpd-cli export-import export logs --namespace <namespace> <export_name> --profile=default
Substitua os valores a seguir:
- Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
- Substitua export_name pelo nome da tarefa de exportação.
Exemplo de valores substituídos:
cpd-cli export-import export logs --namespace wkc export1 --profile=default
Importar
Para importar regras de proteção de dados para o serviço IBM Knowledge Catalog, siga as etapas a seguir. Se você deseja importar a partir de uma exportação criada em um cluster diferente, faça login no cluster remoto antes de seguir as etapas:
- Prepare um arquivo YAML com as especificações de importação. Crie um
import.yamlarquivo com os seguintes parâmetros:
- parâmetro:
IMPORT _HOSTvalor: O nome do host do cluster do qual você deseja importar dados. - parâmetro:
EX TERNAL_IMPORTvalor:trueoufalse. Esse parâmetro é obrigatório. Para importar entre dois sistemas diferentes, defina este parâmetro detrueforma que os nomes nas regras sejam convertidos em IDs no sistema de destino durante a importação. - parâmetro:
IMPORT _COMMITvalor:trueoufalse. Esse parâmetro é obrigatório. Para ativar esteIMPORT_COMMITparâmetro, você deve definir oEXTERNAL_IMPORTparâmetro comotrue. Para importações externas, defina este parâmetro comotruepara aplicar as regras durante a importação. Se uma regra não for confirmada, toda a importação falhará. Para obter um relatório das regras que conseguem associar nomes a IDs durante a importação sem aplicar as regras, defina este parâmetro comofalse. - parâmetro:
AUT H_STRINGvalor: O token de acesso para o sistema de destino. Você pode especificar um token de portador ouZenApiKeyum token. Para obter mais informações sobre como gerar umZenApiKeytoken, consulte Gerando um token de autorização da API. Para obter mais informações sobre como gerar um token de portador, consulte Gerando um token de portador.
Certifique-se de que a chave e o recuo estejam conforme o exemplo a seguir:
policy-api-aux:
IMPORT_HOST: <hostname>
EXTERNAL_IMPORT: true
IMPORT_COMMIT: true
AUTH_STRING: Bearer <token> | ZenApiKey <token>
Se o import.yaml arquivo não for fornecido, os seguintes valores padrão serão utilizados durante a importação:
IMPORT_HOST: <hostname>- anfitrião atualEXTERNAL_IMPORT: trueIMPORT_COMMIT: trueAUTH_STRING:- O token é obtido pelocpd-clipara o usuário definido nos perfis especificados pelo parâmetro obrigatório ` --profile `.
- Vá até o diretório onde a interface
cpd-clide linha de comando está instalada. Carregue o arquivo.tar baixado do pacote de exportação executando o seguinte comando:
cpd-cli export-import export upload --namespace <namespace> -f <file_data.tar> --profile=default
Substitua os valores a seguir:
- Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
- Substitua file_data.tar pelo nome do seu pacote de exportação.
Exemplo de valores substituídos:
cpd-cli export-import export upload --namespace wkc -f cpd-exports-export1-20231128142513-data.tar --profile=default
- (Opcional) Execute o seguinte comando para verificar o upload:
cpd-cli export-import export list --namespace <namespace> --log-level=debug --verbose --profile=default
Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
Exemplo de valores substituídos:
cpd-cli export-import export list --namespace wkc --log-level=debug --verbose --profile=default
- Execute o seguinte comando para importar os dados para o serviço IBM Knowledge Catalog :
cpd-cli export-import import create --from-export <export_name> --namespace <namespace> <import_name> --log-level=debug --verbose -f <import_yaml_file> --profile=default
Substitua os valores a seguir:
- Substitua export_name pelo nome da tarefa de exportação.
- Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
- Substitua import_name pelo nome da tarefa de importação.
- Substitua import_yaml_file pelo caminho para o arquivo YAML que contém a especificação de importação.
Exemplo de valores substituídos:
cpd-cli export-import import create --from-export export1 --namespace wkc import1 --log-level=debug --verbose -f /root/import.yaml --profile=default
- Aguarde a importação ser concluída. Você pode verificar o status da importação executando o seguinte comando:
cpd-cli export-import import status --namespace <namespace> <import_name> --profile=default
Substitua os valores a seguir:
- Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
- Substitua import_name pelo nome da tarefa de importação.
Exemplo de valores substituídos:
cpd-cli export-import import status --namespace wkc import1 --profile=default
Dica: O status indica apenas a SUCCEEDED conclusão da tarefa de importação. Se nenhum dado foi importado, apesar da mensagem de sucesso, verifique os arquivos de log. A importação pode ter falhado, por exemplo, devido a erros de permissão.
- (Opcional) Baixe um arquivo de log executando os seguintes comandos:
cpd-cli export-import import logs --namespace <namespace> <import name> --profile=default
Substitua os valores a seguir:
- Substitua o namespace pelo namespace em que o serviço IBM Knowledge Catalog está implantado.
- Substitua import_name pelo nome da tarefa de importação.
Exemplo de valores substituídos:
cpd-cli export-import import logs --namespace wkc import1 --profile=default