Citrix セキュア プライベート アクセス Terraform プロバイダー
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 Secure Private Access クラウド展開。
-
インフラストラクチャまたは構成管理に Terraform を使用しているお客様。
次の図は、Terraform プロバイダーのアーキテクチャを示しています。
Terraform プロバイダーのアーキテクチャを示す図(/en-us/citrix-secure-private-access/media/spa-terraform-provider.png)
主な利点
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プロバイダーを使用する前に、以下の前提条件が満たされていることを確認してください。
-
アクティブなCitrix Secure Private Accessサブスクリプションをお持ちであること。
-
CitrixテナントでSecure Private Accessリソースを管理する権限があること。
-
Terraformが環境にインストールされ、利用可能であること。
-
Citrix CloudのAPI資格情報または認証方法が構成されていること。
権限
Terraformが使用するサービスプリンシパル認証アカウントには、以下の権限が必要です。
-
Secure Private Accessリソースを作成、更新、および削除する。
-
状態の調整のために、既存のSecure Private Access構成を読み取る。
インストール
「TerraformのインストールとCitrix Terraformプロバイダーの構成」を参照してください。
Terraformの構成
Terraformプロバイダーを使用すると、Secure Private Accessの構成をCitrix UIの外部で管理できます。必要に応じてUIを引き続き使用できますが、Terraformは自動化された大規模な展開に推奨されるアプローチです。
Secure Private Access用のTerraformプロバイダーを使用するには、Terraform構成でプロバイダーを次のように定義する必要があります。
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の状態ファイルには機密性の高い構成データが含まれている可能性があるため、安全に保存する必要があります(例:リモートバックエンド)。
-
導入後は、Secure Private AccessリソースをTerraformのみを使用して管理することをお勧めします。
-
予期せぬ変更を避けるため、プロバイダーのバージョンを固定することを強くお勧めします。
-
変更を適用する前に、必ず
terraform plan出力を確認してください。