IBM Cloud Docs
在 Hyper Protect Virtual Server for VPC 上部署样本应用程序

在 Hyper Protect Virtual Server for VPC 上部署样本应用程序

本教程将指导您完成在 Hyper Protect Virtual Server for VPC 上部署样本应用程序的步骤,这将重点介绍保密计算如何帮助保护个人可标识信息 (PII)。

简介

保密计算是通过基于硬件的技术保护使用中的数据。 示例应用程序 "PayNow" 获取并处理金融交易的 PII 和信用卡信息。

您可以利用 IBM Secure Execution for Linux 在 IBM Cloud Virtual Private Cloud (VPC) 或内部部署上提供 Hyper Protect Virtual Servers 的优势。 在本教程中,我们将 Hyper Protect Virtual Servers 用于 VPC。

金融交易中的数据受 Hyper Protect Virtual Server for VPC 上的保密计算保护。
金融交易数据由 Hyper Protect Virtual Server for VPC 上的机密计算保护

准备工作

要完成本教程,您需要满足以下先决条件:

  1. 创建 IBM Cloud 帐户。
  2. 为您的用户身份 创建 API 密钥
  3. 安装 IBM Cloud CLI容器注册表 CLI 插件
  4. 使用 公共网关安全组 创建 VPC 和子网,其规则至少允许端口 8443 上的入站 IP 连接和所有出站 IP 连接。
  5. 在 IBM Cloud上创建 Log Analysis 实例。 记下摄入主机和摄入密钥。
  6. 安装 Git

估算时间

完成本教程大约需要 60 分钟。

步骤

步骤 1. 构建 PayNow 应用程序容器映像

  1. 使用 Git 克隆 存储库

  2. 为 linux/s390x 平台构建 PayNow 容器映像,并使用以下命令标记容器映像:

    docker buildx build --platform linux/s390x -t us.icr.io/hpvs-sample/paynow-website .
    
  3. 使用以下命令登录 IBM Cloud Container Registry:

    ibmcloud login
    
    ibmcloud target -r us-south
    
    ibmcloud cr login --client docker
    
  4. 通过运行以下命令创建名称空间并推送容器映像:

    ibmcloud cr namespace-add hpvs-sample
    
    docker push us.icr.io/hpvs-sample/paynow-website
    
  5. 显示容器映像摘要。 您可以在 容器注册表中查看和记下容器映像摘要,或者使用以下命令:

    docker inspect us.icr.io/hpvs-sample/paynow-website | grep -A 1 RepoDigests
    

步骤 2. 使用 Terraform 为 PayNow 应用程序创建合同

  1. 准备创建合同:

    1. 确保安装了 OpenSSL 二进制文件。 有关更多信息,请参阅 OpenSSL
    2. 使用 Terraform 文档为环境安装 Terraform CLI。
  2. 创建合同:

    1. 使用 Git 克隆 存储库
    2. 使用命令移至以下目录:
      cd linuxone-vsi-automation-samples\terraform-hpvs\create-contract-dynamic-registry
      
  3. 更新 compose 文件夹中的 docker-compose.yml 文件。 您需要指定容器映像摘要和公开的端口。 请参见以下 docker-compose.yml 文件示例:

    version: "3"
    services:
      paynow:
        image: ${REGISTRY}/hpvs-sample/paynow-website@sha256:<sha256>
        ports:
          - "8080:8080"
          - "8443:8443"
    
  4. 设置必需的 Terraform 变量。 为此,您需要将文件 my-settings.auto.tfvars-template 复制到 my-settings.auto.tfvars,编辑复制的文件,并调整变量值。 请参阅以下示例:

    registry="<your container registry, e.g. us.icr.io>"
    pull_username="iamapikey"
    pull_password="<your API key>"
    logdna_ingestion_key="<the ingestion key of your log instance>"
    logdna_ingestion_hostname="<the rsyslog endpoint of your log instance without theport, e.g. syslog-a.<log_region>.logging.cloud.ibm.com>"
    
  5. 要初始化 Terraform,请运行以下命令:

    terraform init
    
  6. 使用 Terraform 创建合同:

    terraform apply
    
  7. 通过运行以下命令显示使用 Terraform 脚本创建的合同:

    cat build/contract.yml
    

    复制显示的合同。 您需要在后续步骤中将复制的合同粘贴到输入字段中。

步骤 3. 使用 Hyper Protect Virtual Server for VPC 通过 IBM Cloud 启用保密计算

  1. 登录到 IBM Cloud
  2. 转至 IBM Cloud 目录上的 Hyper Protect Virtual Server for VPC 的 许可页面
  3. 命名虚拟服务器实例。
  4. 将创建的合同信息粘贴到 用户数据中。
  5. 联网下,选择 VPC 和子网。
  6. 单击创建虚拟服务器
  7. 在 " Log Analysis " 实例仪表板中查看日志。
  8. 将浮动 IP 地址分配给 Hyper Protect Virtual Server for VPC 实例,然后单击“保存”。
  9. 要打开 PayNow 网站,请复制并粘贴浮动 IP 地址,然后使用浏览器打开 URL https://<floatingip>:8443/index.html 下的 PayNow 网站。

现在,通过将“保密计算”与 IBM Cloud Hyper Protect Virtual Server for VPC 配合使用,可以确保您具有业内无与伦比的数据安全性级别。

后续步骤

查看演示保密计算通过两个服务器之间的比较提供的数据保护的 演示视频:

  • 一个 没有 保密计算的服务器,其中恶意 root 用户可以转储不受保护的服务器内存内容,以窃取 PII 和信用卡数据。
  • 一种 保密计算,即使是 root 用户也无法访问服务器内存,因为它受 Hyper Protect 平台保护。