在 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。
准备工作
要完成本教程,您需要满足以下先决条件:
- 创建 IBM Cloud 帐户。
- 为您的用户身份 创建 API 密钥。
- 安装 IBM Cloud CLI 和 容器注册表 CLI 插件。
- 使用 公共网关 和 安全组 创建 VPC 和子网,其规则至少允许端口 8443 上的入站 IP 连接和所有出站 IP 连接。
- 在 IBM Cloud上创建 Log Analysis 实例。 记下摄入主机和摄入密钥。
- 安装 Git。
估算时间
完成本教程大约需要 60 分钟。
步骤
步骤 1. 构建 PayNow 应用程序容器映像
-
使用 Git 克隆 存储库。
-
为 linux/s390x 平台构建 PayNow 容器映像,并使用以下命令标记容器映像:
docker buildx build --platform linux/s390x -t us.icr.io/hpvs-sample/paynow-website .
-
使用以下命令登录 IBM Cloud Container Registry:
ibmcloud login
ibmcloud target -r us-south
ibmcloud cr login --client docker
-
通过运行以下命令创建名称空间并推送容器映像:
ibmcloud cr namespace-add hpvs-sample
docker push us.icr.io/hpvs-sample/paynow-website
-
显示容器映像摘要。 您可以在 容器注册表中查看和记下容器映像摘要,或者使用以下命令:
docker inspect us.icr.io/hpvs-sample/paynow-website | grep -A 1 RepoDigests
步骤 2. 使用 Terraform 为 PayNow 应用程序创建合同
-
准备创建合同:
- 确保安装了 OpenSSL 二进制文件。 有关更多信息,请参阅 OpenSSL。
- 使用 Terraform 文档为环境安装 Terraform CLI。
-
创建合同:
- 使用 Git 克隆 存储库。
- 使用命令移至以下目录:
cd linuxone-vsi-automation-samples\terraform-hpvs\create-contract-dynamic-registry
-
更新 compose 文件夹中的 docker-compose.yml 文件。 您需要指定容器映像摘要和公开的端口。 请参见以下 docker-compose.yml 文件示例:
version: "3" services: paynow: image: ${REGISTRY}/hpvs-sample/paynow-website@sha256:<sha256> ports: - "8080:8080" - "8443:8443"
-
设置必需的 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>"
-
要初始化 Terraform,请运行以下命令:
terraform init
-
使用 Terraform 创建合同:
terraform apply
-
通过运行以下命令显示使用 Terraform 脚本创建的合同:
cat build/contract.yml
复制显示的合同。 您需要在后续步骤中将复制的合同粘贴到输入字段中。
步骤 3. 使用 Hyper Protect Virtual Server for VPC 通过 IBM Cloud 启用保密计算
- 登录到 IBM Cloud。
- 转至 IBM Cloud 目录上的 Hyper Protect Virtual Server for VPC 的 许可页面。
- 命名虚拟服务器实例。
- 将创建的合同信息粘贴到 用户数据中。
- 在 联网下,选择 VPC 和子网。
- 单击创建虚拟服务器。
- 在 " Log Analysis " 实例仪表板中查看日志。
- 将浮动 IP 地址分配给 Hyper Protect Virtual Server for VPC 实例,然后单击“保存”。
- 要打开 PayNow 网站,请复制并粘贴浮动 IP 地址,然后使用浏览器打开 URL
https://<floatingip>:8443/index.html
下的 PayNow 网站。
现在,通过将“保密计算”与 IBM Cloud Hyper Protect Virtual Server for VPC 配合使用,可以确保您具有业内无与伦比的数据安全性级别。
后续步骤
查看演示保密计算通过两个服务器之间的比较提供的数据保护的 演示视频:
- 一个 没有 保密计算的服务器,其中恶意 root 用户可以转储不受保护的服务器内存内容,以窃取 PII 和信用卡数据。
- 一种 与 保密计算,即使是 root 用户也无法访问服务器内存,因为它受 Hyper Protect 平台保护。