Schematics オブジェクトを保護するためのベスト・プラクティス

IBM Cloud® Schematics は、Terraform、 Ansible、 Red Hat OpenShift on IBM Cloud、Operators、 Helm を含むオープンソースプロジェクトを使用しており、マネージドサービスとして提供されます。 各オープン・ソース・プロジェクトをローカル・システムにインストールして、API または CLI を学習するのではなく、 IBM Cloud® で実行するタスクを宣言し、 Schematics がこれらのタスクを実行するのを監視できます。

クラウドインフラストラクチャ内のすべての本番、ステージング、テスト用サーバーのセキュリティリスクを低減するために、推奨されるプラクティスを時間をかけて確認してください。 このリストは、クラウド・インフラストラクチャーのセキュリティーを強化するための優れた開始点です。

Git リポジトリーで Terraform テンプレートまたはモジュールを作成するためのベスト・プラクティス

Terraformテンプレートを開発し、 Git リポジトリに公開する際に守らなければならないベストプラクティスは何ですか?

Terraformテンプレートを開発し、 Git リポジトリで公開する際には、以下のプラクティスに従ってください。

  • Terraform version1.4 以上および現行の IBM Cloud プロバイダー を使用して Terraform テンプレートを作成します。
  • すべての認証情報に対して環境変数を作成する。
  • ご使用のコードが Terraform 標準を満たしているかどうかを検査するためにコミット前フックが実行されているかどうかを確認します。 コミット前フックが含まれているサンプル・リポジトリー を参照してください。
  • リポジトリーが Terratest フレームワークを使用して Terraform リソースとプロビジョンするデータ・ソースを検証するかどうかを確認します。 Terratest を実行するには、 サンプルの検証済み Terraform リポジトリー を参照してください。
  • Git によってトラッキングされていないファイルの gitignore がリポジトリーに含まれているかどうかを確認します。
  • テンプレートのライセンスファイルを追加します。
  • 構成ファイルで機密変数をデフォルトとして設定しないでください。
  • 機密性の高い保護された変数または出力を確認してください。
  • テンプレートがリソースのプロビジョニングまたは構成に null resources を使用している場合、スクリプトの実行に 60 minutes を超える時間がかからないことを確認します。
  • リポジトリーでは、 許可されたリスト・ファイル拡張子 のみを使用してください。

IBM Cloud® プロバイダー・テンプレートを使って tfvars ファイルを作成できますか?

tfvars ファイルはローカル変数ファイルで、Terraformを使うときに IBM Cloud APIキーやクラシック・インフラストラクチャーユーザー名などの機密情報を保存するのに使います。 ただし、変数データを保護するために、Schematicsで tfvars ファイルを提供することはできません。

Terraform の開発者は、ログ・ファイルに機密データが漏洩しないようにするにはどうすればよいですか?

開発者は、変数や出力パラメータがセンシティブかどうかをチェックし、データがログファイルに漏れないようにする必要がある。

Schematics Workspaces の管理のベスト・プラクティス

Terraformテンプレート用のワークスペースを作成する際に従わなければならないベストプラクティスは何ですか?

Terraformテンプレート用のワークスペースを作成する際には、以下のプラクティスに従ってください。

  • ワークスペースを作成するための 権限 があるかどうかを確認します。
  • Schematics ワークスペースを作成または更新するときに、locationurl エンドポイントが同じリージョンを指しているかどうかを確認します。 ロケーションとエンドポイントについて詳しくは、 情報の保管場所 を参照してください。
  • 関連付けられているクラウド・リソースを 削除 して 破棄 するか、またはその両方を行うかにチェック・マークを付けます。 このジョブを元に戻すことはできません。 ワークスペースを削除してクラウド・リソースを残す場合は、リソース・リストまたはCLIでリソースを管理する必要がある。
  • 1 つのワークスペースでステージング環境全体または実稼働環境全体を管理しないでください。 すべてのクラウド・リソースを単一のワークスペースにデプロイすると、さまざまなチームがこれらのリソースの更新を調整したり、アクセスを管理したりするのが難しくなります。

Terraformオートメーションが使用する機密データがログやアウトプットに漏れないようにするには?

ログまたは出力でデータが漏洩しないようにするには、変数または出力パラメーターを機密として設定する必要があります。

ワークスペースとそのデータへのアクセスを保護するには?

アカウント所有者または許可されたアカウント管理者は、IBM Cloud® Identity and Access Management (IAM) サービス・アクセス役割をユーザーに割り当てることができます。 IAM サービスのアクセス・ロールは、ワークスペースやアクションなど、 IBM Cloud Schematics リソースに設定できるアクションを決定します。 個々のユーザーにアクセス・ポリシーを割り当てることを避けるために、IAM アクセス・グループを作成することを検討してください。

ワークスペースおよびアクションのデータ・ストアは、ワークスペースまたはアクションを作成する場所によって異なります。 詳細については、 Schematics におけるデータのセキュリティを 参照してください。

Schematics、Terraformのステートファイルやログファイルを通してワークスペースのデータをどのように保護するのでしょうか?

Terraform 状態ファイルまたはログ・ファイルを使用してワークスペース・データを保護するには、以下のプラクティスに従ってください。

  • Schematics ワークスペースと関連するクラウド・リソースへのアクセスを制御するには、 Cloud Identity and Access Management を使用します。
  • ご使用の Terraform テンプレートのアクセス制御、セキュリティー設定、コラボレーション、バージョン管理など、ソース・リポジトリーを保護します。
  • リソースの提供によって提供されるセキュリティ機能を使用して、作成したクラウド・リソースを保護します。
  • クラウド・リソースの提供ツールを使用して、リソースにセキュリティ修正、アクセス制御、暗号化を適用します。

状態ファイルを制御するユーザーに 役割と許可 を指定する必要があります。 Schematicsサービスアクセスの役割と権限の詳細については、 ワークスペースの権限KMSの権限 を参照してください

Schematics アクションの管理のベスト・プラクティス

Ansible テンプレートのアクションを作成する際に従わなければならないベストプラクティスは何ですか?

Ansible テンプレートの Schematics アクションを作成する際には、以下のプラクティスに従ってください。

  • Schematics ワークスペースを作成または更新するときに、locationurl エンドポイントが同じリージョンを指しているかどうかを確認します。 ロケーションとエンドポイントについて詳しくは、 情報の保管場所 を参照してください。
  • Schematics アクションを実行中のジョブは削除または停止できません。 ジョブが完了するのを待って、設定を変更し、 Check action または Run actionを再度クリックする。
  • アカウント所有者または許可されたアカウント管理者は、IAM サービス・アクセス役割をユーザーに割り当てることができます。 IAM サービスのアクセス・ロールは、ワークスペースやアクションなど、 IBM Cloud Schematics リソースに設定できるアクションを決定します。 個々のユーザーにアクセス・ポリシーを割り当てることを避けるために、IAM アクセス・グループを作成することを検討してください。

アクションとそのデータへのアクセスをどのように保護するか?

アカウント所有者または許可されたアカウント管理者は、IAM サービス・アクセス役割をユーザーに割り当てることができます。 IAM サービスのアクセス・ロールは、ワークスペースやアクションなど、 IBM Cloud Schematics リソースに設定できるアクションを決定します。 個々のユーザーにアクセス・ポリシーを割り当てることを避けるために、IAM アクセス・グループを作成することを検討してください。

ワークスペースおよびアクションのデータ・ストアは、ワークスペースまたはアクションを作成する場所によって異なります。 詳細については、 Schematics におけるデータのセキュリティを 参照してください。

Schematics、入力クレデンシャル・ステートファイルやログファイルを通じて、どのようにアクションデータを保護するのか?

入力クレデンシャル、ステートファイル、またはログファイルを通してワークスペースのデータを保護するために、以下のプラクティスに従ってください。

  • Schematics アクションへのアクセスを制御するには Cloud Identity and Access Management を使用する。
  • アクセス制御、セキュリティー設定、コラボレーション、バージョン管理など、Terraform テンプレートのソース・リポジトリーを保護します。
  • クラウド・リソースの提供ツールを使用して、リソースにセキュリティ修正、アクセス制御、暗号化を適用します。
  • 状態ファイルを制御するユーザーに 役割と許可 を指定する必要があります。 の Schematics サービスアクセスの役割と権限の詳細については、次のとおりです
  • アクションの権限
  • KMS の権限

Schematics のデータの保護

以下は、 Schematics データを保護するさまざまな方法である。

  • Cloud Identity and Access Management を利用したアクセス保護。
  • Activity Tracker。
  • 鍵管理システム(KMS)を使用したデータ保護。

ID およびアクセス管理を使用したアクセス保護

ユーザーの IAM アクセス・グループを作成し、ユーザーに処理させるリソースとサービス・アクセス・ポリシーを IBM Cloud Schematics に割り当てます。 IAMユーザーはアクセス・グループにアタッチされる。 詳しくは、 ユーザーのアクセス権限のセットアップ を参照してください。

Activity Tracker の使用による否認防止

IBM Cloud® Activity Tracker を使用して、ユーザーおよびアプリケーションが IBM Cloud Schematicsとどのように対話しているかを追跡および監査できます。 Schematics ワークスペース インスタンスのイベント、アクセス、イベント、およびアクセス監査ログの監査証 跡を生成して維持できます。 詳しくは、監査イベントを参照してください。

KMS を使用したデータ保護

以下により、Schematics の破損、セキュリティー侵害、または損失から情報を保護し、暗号化することができます。

次のステップ

Schematics のユース・ケースをチェックアウトします。