DevSecOps Solution for Apps Stack の導入準備
このデプロイ可能なアーキテクチャは、 IBM Cloud® プロジェクトを通じて、 Node サンプルアプリケーションの完全自動デプロイを紹介するように設計されており、 IBM Cloud® 上で独自のアプリケーションをデプロイするための柔軟でカスタマイズ可能な基盤を提供します。 このアーキテクチャは、デフォルトでサンプル・アプリケーションをデプロイするが、独自のアプリケーションを導入するようにカスタマイズすることもできる。
このアーキテクチャを活用することで、デプロイメントを保護し、独自のビジネスニーズや企業目標に合わせてカスタマイズすることができます。
アーキテクチャーをデプロイすると、次のことが可能になる:
-
セキュリティを実装する :このアーキテクチャは、 IBM Key Protect と IBM Secrets Manager を配備することで、セキュリティを確保している。
-
規制コンプライアンスの達成 : DevSecOps、継続的インテグレーション(CI)、継続的デプロイメント(CD)、継続的コンプライアンス(CC)ツールチェーンを実装し、 IBM Security and Compliance Center、セキュアなアプリケーションライフサイクル管理を実現することで、規制コンプライアンスを確保する。
デプロイする前に
DevSecOps Solution for Apps Stack をデプロイする前に、次の前提条件が必要です。
-
Pay-As-You-GoまたはSubscription IBM Cloud® アカウント。
持っていない? ひとつ作ろう。 トライアルまたはライトアカウントをお持ちですか? アカウントをアップグレードする。
-
アカウント内のリソースを展開および管理するために必要なアクセスレベル。
-
十分な権限を持つ、対象アカウントの IBM Cloud API Key。 APIキーの値は、後で設定するために必ず保存しておいてください。
- 評価環境 :評価環境: 評価に使用する環境の場合、管理者ロールを以下のサービスに付与する。 IAM Identity Service 評価環境:評価環境として使用する場合は、 すべての Identity and Access サービス、 Activity Tracker Event Routing、およびすべての Account Management サービスに Administrator ロールを付与します。
- 本番環境 :本番環境: 環境が本番リソースに使用される場合は、配置可能なアーキテクチャ・カタログ・エントリの詳細ページの [ 権限] タブに示されている最小権限レベルにアクセスを制限します。
詳細については、 「Secrets Manager を使用して API キーを使用し、アーキテクチャーをデプロイするプロジェクトを承認する 」を参照してください。
-
オプション:
ibmcloud plugin install project
コマンドを実行して、 IBM Cloud® CLI Project プラグインをインストールします。 詳細については、 プロジェクトCLIリファレンスを 参照してください。 -
オプション: カスタマイズ オプションをよく理解してください。
IBM Cloud® Projectsで、新しいバージョンのコンフィギュレーションが利用可能になったという通知が表示されるかもしれません。 これらのメッセージはスタックのデプロイを妨げるものではないので、無視してよい。 特別な行動は必要ない。 私たちは基礎となるコンポーネントの開発を急速に反復しているため、これらの通知は予想されるものである。 スタックの新しいバージョンが利用可能になると、基礎となるコンポーネントのバージョンも更新される。
必須の入力変数
名前 | 説明 | タイプ | デフォルト |
---|---|---|---|
region |
SCCと Event Notifications を除くすべてのリソースが配置されている地域。 これらのリソースは個別に設定する必要があり、デフォルトではus-southに設定されている。 | string |
us-south |
en-region |
イベント通知インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
scc-region |
Security and Compliance Center インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
app_repo_existing_url |
URL を提供することで、既存のアプリケーションリポジトリを持ち込むことができます。 これは、デフォルトのサンプルをクローンする代わりに、アプリケーション・リポジトリの統合を作成します。 異なる組織に存在するリポジトリは、 Git トークンを使用する必要があります。 オプション変数の app_repo_git_token_secret_name を参照。 | string |
`` |
オプションの入力変数
名前 | 説明 | タイプ | デフォルト |
---|---|---|---|
prefix |
この変数に設定された値は、作成されるさまざまなリソースのプレフィックスとして機能する。 プレフィックスとリソース名の間には、自動的にハイフン - がセパレーターとして挿入されます。 | string |
devsecops |
resource_group_name |
すべてのリソースが作成されるリソースグループの名前。 | string |
devsecops |
bucket_name |
DevSecOps ツールチェーンのエビデンスストレージとして作成された Cloud Object Storage バケットの名前。 | string |
devsecops |
create_icr_namespace |
Terraformにレジストリの名前空間を作成させるにはtrueを設定します。 falseを指定すると、CIパイプラインが名前空間を作成します。 注意:Terraform destroyを使用すると、ICR名前空間とすべての画像が削除されます。 | boolean |
true |
registry_namespace |
画像を格納するレジストリの名前空間名。 | string |
devsecops |
create_cd_instance |
Continuous Delivery Serviceを作成するにはtrueを設定します。 これは、 DevSecOps ツールチェーンパイプラインを実行し、 DevOps Insights インテグレーションを成功させるために必要である。 | boolean |
true |
pipeline_ibmcloud_api_key_secret_name |
パイプラインの実行に使用する Secrets Manager の IBM Cloud api キーの名前。 | string |
ibmcloud-api-key |
ci_signing_key_secret_name |
画像の署名に必要な署名鍵の名前( Secrets Manager )。 | string |
signing-key |
cd_code_signing_cert_secret_name |
署名済み画像の完全性を検証するために使用される、 Secrets Manager の署名証明書の名前。 | string |
signing-certificate |
cos_api_key_secret_name |
エビデンスバケットへの読み書きで使用する Secrets Manager の Cloud Object Storage api キーの名前。 | string |
cos-api-key |
sm_secret_group |
DevSecOps ツールチェーンが必要とする秘密を含む、 Secrets Manager で作成された秘密グループ。 | string |
devsecops |
sm_service_plan |
Secrets Manager の料金プラン。 オプションはトライアルかスタンダード。 | string |
standard |
scc_service_plan |
Security and Compliance Center の料金プラン。 オプションはトライアルかスタンダード。 | string |
standard |
use_existing_resource_group |
trueを設定すると、resource_group_nameを既存のリソース・グループとして扱います。 falseを設定すると、resource_group_nameの値に基づいて新しいリソース・グループをプロビジョニングします。 | string |
devsecops |
app_repo_branch |
これは、デフォルトのサンプルアプリケーションが使用するリポジトリブランチです。 あるいは、app_repo_existing_urlが指定された場合は、そのブランチはそのリポジトリのデフォルトブランチを反映したものでなければなりません。 通常、これらのブランチはmainかmasterになる。 | string |
main |
app_repo_git_token_secret_name |
サンプル(または持ち込み)アプリケーションリポジトリへのアクセスに使用するシークレットプロバイダの Git トークン秘密の名前 | string |
`` |
project_names |
IBM Cloud Code Engine を追加するプロジェクト名。 | array |
["CI_Project","CD_Project"] |
existing_secrets_manager_crn |
既存の Secrets Manager インスタンスの CRN | string |
`` |
autostart |
CIパイプラインを自動的に実行するにはtrueを設定する。 boolean |
false |
|
create_git_token |
repo_git_token_secret_name で設定した名前と repo_git_token_secret_value で設定した値を使用して、指定した Secrets Manager に Git トークンの秘密を作成するには true を設定します。 | boolean |
false |
repo_apply_settings_to_compliance_repos |
すべてのデフォルト・コンプライアンス・リポジトリーに同じ設定を適用するには、 true に設定します。 これらの設定をサンプルアプリケーション、パイプライン設定、およびデプロイメントリポジトリのみに適用するには、 false に設定します。 |
boolean |
false |
repo_git_token_secret_name |
Secrets Manager の Git トークンの秘密の名前。 | string |
`` |
repo_git_token_secret_value |
create_git_token が true に設定されている場合に作成される Git トークンの秘密の値。 | string |
`` |
repo_group |
Security and Compliance Center インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
repo_git_provider |
URL を提供することで、既存のアプリケーションリポジトリを持ち込むことができます。 これは、デフォルトのサンプルをクローンする代わりに、アプリケーション・リポジトリの統合を作成します。 異なる組織に存在するリポジトリは、 Git トークンを使用する必要があります。 オプション変数の app_repo_git_token_secret_name を参照。 | string |
us-south |
repo_title |
SCCと Event Notifications を除くすべてのリソースが配置されている地域。 これらのリソースは個別に設定する必要があり、デフォルトではus-southに設定されている。 | string |
us-south |
repo_root_url |
イベント通知インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
repo_blind_connection |
Security and Compliance Center インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
repo_git_id |
URL を提供することで、既存のアプリケーションリポジトリを持ち込むことができます。 これは、デフォルトのサンプルをクローンする代わりに、アプリケーション・リポジトリの統合を作成します。 異なる組織に存在するリポジトリは、 Git トークンを使用する必要があります。 オプション変数の app_repo_git_token_secret_name を参照。 | string |
us-south |
evidence_repo_existing_url |
SCCと Event Notifications を除くすべてのリソースが配置されている地域。 これらのリソースは個別に設定する必要があり、デフォルトではus-southに設定されている。 | string |
us-south |
issues_repo_existing_url |
イベント通知インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
inventory_repo_existing_url |
Security and Compliance Center インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
cd_deployment_repo_existing_url |
URL を提供することで、既存のアプリケーションリポジトリを持ち込むことができます。 これは、デフォルトのサンプルをクローンする代わりに、アプリケーション・リポジトリの統合を作成します。 異なる組織に存在するリポジトリは、 Git トークンを使用する必要があります。 オプション変数の app_repo_git_token_secret_name を参照。 | string |
us-south |
change_management_existing_url |
SCCと Event Notifications を除くすべてのリソースが配置されている地域。 これらのリソースは個別に設定する必要があり、デフォルトではus-southに設定されている。 | string |
us-south |
create_triggers |
イベント通知インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
create_git_triggers |
Security and Compliance Center インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
compliance_pipeline_repo_use_group_settings |
URL を提供することで、既存のアプリケーションリポジトリを持ち込むことができます。 これは、デフォルトのサンプルをクローンする代わりに、アプリケーション・リポジトリの統合を作成します。 異なる組織に存在するリポジトリは、 Git トークンを使用する必要があります。 オプション変数の app_repo_git_token_secret_name を参照。 | string |
us-south |
compliance_pipeline_repo_git_provider |
SCCと Event Notifications を除くすべてのリソースが配置されている地域。 これらのリソースは個別に設定する必要があり、デフォルトではus-southに設定されている。 | string |
us-south |
compliance_pipeline_repo_git_id |
イベント通知インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
compliance_pipeline_existing_repo_url |
Security and Compliance Center インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
add_pipeline_definitions |
URL を提供することで、既存のアプリケーションリポジトリを持ち込むことができます。 これは、デフォルトのサンプルをクローンする代わりに、アプリケーション・リポジトリの統合を作成します。 異なる組織に存在するリポジトリは、 Git トークンを使用する必要があります。 オプション変数の app_repo_git_token_secret_name を参照。 | string |
us-south |
create_privateworker_secret |
SCCと Event Notifications を除くすべてのリソースが配置されている地域。 これらのリソースは個別に設定する必要があり、デフォルトではus-southに設定されている。 | string |
us-south |
enable_privateworker |
イベント通知インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
privateworker_credentials_secret_name |
Security and Compliance Center インスタンスがプロビジョニングされるリージョン。 | string |
us-south |
privateworker_secret_value |
URL を提供することで、既存のアプリケーションリポジトリを持ち込むことができます。 これは、デフォルトのサンプルをクローンする代わりに、アプリケーション・リポジトリの統合を作成します。 異なる組織に存在するリポジトリは、 Git トークンを使用する必要があります。 オプション変数の app_repo_git_token_secret_name を参照。 | string |
us-south |
デプロイ可能なアーキテクチャを作成する権限を持つ IBM Cloud® API キーを作成する
IBM Cloud® API キーを作成する
IBM Cloud アカウントのタイプによっては、特定のリソースへのアクセスが制限される場合があります。 アカウント・プランの制限によっては、一部の DevSecOps ツールチェーンで必要な特定の機能を使用できない場合があります。 詳しくは、 IBM Cloud アカウントの設定と アカウントのアップグレードを ご覧ください。
デプロイ可能なアーキテクチャーを作成する権限を持つ IBM Cloud® 信頼されたプロファイルを作成する
IBM Cloud® 信頼できるプロフィールを作成する