Citrix 安全私有访问 Terraform 提供程序

Last published : Oct 24, 2026
通过 UI 手动管理 Secure Private Access™ 配置耗时、易出错,并且难以在不同环境中扩展。采用基础设施即代码实践的客户需要一种方法来自动化 Secure Private Access 配置、强制保持一致性,并将 Secure Private Access 更改集成到 CI/CD 管道中。
Citrix Secure Private Access Terraform 提供程序使客户能够使用 Terraform 以编程方式预配、配置和管理 Secure Private Access 资源。它允许作为基础设施即代码工作流的一部分,以一致、可重复和可扩展的方式管理 Secure Private Access 环境。
Citrix Secure Private Access Terraform 提供程序适用于:
  • Citrix 安全私有访问云部署。
  • 使用 Terraform 进行基础设施或配置管理的客户。
下图显示了 Terraform 提供程序架构:
Terraform 提供程序架构

主要优势

Citrix Secure Private Access Terraform 提供程序将 Secure Private Access 资源公开为 Terraform 管理的对象。客户可以声明性地定义 Secure Private Access 配置,将其与应用程序基础设施一起进行版本控制,并以可预测的方式应用更改。
使用此解决方案的主要优势包括:
  • Secure Private Access 的基础设施即代码管理。
  • 跨环境(开发、测试、生产)的一致配置。
  • 减少手动工作量和配置漂移。
  • 易于与 CI/CD 管道和 GitOps 工作流集成。
  • 更快的入门和可重复的部署。

用例

您可以将 Citrix Secure Private Access Terraform 提供程序用于以下用例:
  • 实现新应用程序和策略在 Secure Private Access 中的自动化载入。
  • 跨多个环境标准化 Secure Private Access 配置。
  • 使用版本化的 Terraform 状态重新创建或恢复 Secure Private Access 环境。
  • 将 Secure Private Access 配置更改集成到现有 Terraform 工作流中。
  • 使 DevOps 团队能够与基础架构一起管理访问策略。
  • 将 Secure Private Access 配置从试用租户迁移到生产租户。
  • 合并 2 个客户的 Secure Private Access 配置以应对收购场景。

系统要求

确保满足以下系统要求:
  • Terraform v1.3 或更高版本。
  • 获取对 Citrix Secure Private Access 租户的访问权限。
  • 与 Citrix Cloud™ API 的网络连接。

先决条件

在使用 Citrix Secure Private Access Terraform Provider 之前,请确保满足以下先决条件:
  • 您拥有有效的 Citrix Secure Private Access 订阅。
  • 您拥有在 Citrix 租户中管理 Secure Private Access 资源的权限。
  • Terraform 已安装并在您的环境中可用。
  • 用于 Citrix Cloud 的 API 凭据或身份验证方法已配置。

权限

Terraform 使用的服务主体身份验证帐户必须拥有以下权限:
  • 创建、更新和删除 Secure Private Access 资源。
  • 读取现有的 Secure Private Access 配置以进行状态协调。

安装

Terraform 配置

借助 Terraform Provider,可以在 Citrix UI 之外管理 Secure Private Access 配置。客户可以根据需要继续使用 UI,但 Terraform 是用于自动化和大规模部署的推荐方法。
要将 Terraform Provider 用于 Secure Private Access,您必须在您的 Terraform 配置中定义该 Provider,如下所示:
terraform {
  required_providers {
    citrixspa = {
      source = "citrix/citrixspa"
      version = `<version>`
    }
  }
}

provider "citrixspa" {
  base_url      = "<https://api.cloud.com/accessSecurity>"  # for commercial deployment
  customer_id   = "xxxxxxxxxxxxx" # the CC customer id
  client_id     = "xxxxxxxxxxxxx" # client id of service principal
  client_secret = "xxxxxxxxxxxxx" # client secret of service principal
}
一旦配置了提供程序,您就可以使用 Terraform 资源块定义 Secure Private Access 资源,并使用标准 Terraform 命令(例如:)应用它们。
  • terraform plan
  • terraform apply
注意:
Terraform 提供程序在 Terraform 配置中声明并初始化后,默认启用。

故障排除

  • terraform apply 操作因身份验证错误而失败。
    原因: Citrix Cloud 凭据无效或缺失。
    解决方案: 验证提供程序身份验证配置和权限。
  • 在 terraform plan 中检测到意外更改。
    原因: 由于手动 UI 更改导致配置漂移。
    解决方案: 通过 Terraform 对齐更改,并在需要时刷新状态。

限制

  • 并非所有 Secure Private Access 功能都可能在提供程序的初始版本中可用。
  • 直接在 UI 中进行的更改可能会导致 Terraform 状态漂移。
  • terraform destroy 操作可能不会自动删除所有依赖资源。

重要注意事项

  • Terraform 状态文件可能包含敏感配置数据,必须安全存储(例如,远程后端)。
  • 我们建议您在采用后,仅使用 Terraform 管理 Secure Private Access 资源。
  • 我们强烈建议固定提供程序版本,以避免意外更改。
  • 在应用更改之前,请务必查看 terraform plan 输出。

参考