> For the complete documentation index, see [llms.txt](https://docs.scepman.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scepman.com/ja/scepman-nodepuroi/deployment-guides/enterprise-guide-1.md).

# 拡張ガイド

{% hint style="warning" %}
SCEPman Enterprise Edition のみ
{% endhint %}

これにより、命名規則、冗長化、オートスケーリングなどの高度な要件を備えたエンタープライズ グレードの環境向けに SCEPman をデプロイするための全手順をご案内します。

## Azure デプロイ

要件とリソース概要から始めましょう。\
実用的な Azure リソース設計を計画する必要があることに留意してください。

### 前提条件

#### 必須

* [ ] Azure リソースの命名規則。
* [ ] Azure サブスクリプション（そのサブスクリプションに対して少なくとも Contributor 権限）。
* [ ] Azure の所有者権限（少なくともリソース グループ レベル）。
* [ ] Microsoft Entra ID（Azure AD）の「グローバル管理者」（Graph API へのアクセスに同意）。
* [ ] Azure ポリシーを必ず定義してください [SCEPman の要件に従って](/ja/sono/security-faq.md#azure-cis) （例: TLS を強制しない）。
* [ ] Public Domain CNAME (*scepman.yourdomain.com*)、geo 冗長性を使用する場合のみ。
* [ ] SSL 証明書（または [App Service Managed Certificate](https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#create-a-free-certificate-preview))、geo 冗長性を使用する場合のみ。
* [ ] SCEPman Enterprise Edition ライセンス キーを使用

#### 任意

* [ ] Public Domain CNAME (*scepman.yourdomain.com*）、カスタム ドメインを使用する場合のみ。
* [ ] SSL（ワイルドカード）証明書（または [App Service Managed Certificate](https://docs.microsoft.com/en-us/azure/app-service/configure-ssl-certificate#create-a-free-certificate-preview)）、カスタム ドメインを使用する場合のみ。

### Azure リソースの概要

本番環境には、以下のリソースを推奨します。

| 種類                      | 説明                                                                                                                                                                                               |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| App Service (x2)        | SCEPman Core と Cert Master アプリケーションを実行するための仮想 Azure 環境であり、CNAME、SSL 証明書、App Settings などのアプリケーション固有の設定を構成するための UI を提供します。                                                                         |
| App Service プラン         | <p>「App Service(s)」用の仮想的なコンピューティング リソースと構成のセットです。</p><p>ここでは、価格レベルとリソースのスケーリングを構成できます。</p>                                                                                                       |
| Key Vault               | シークレットと証明書を安全に保存するためのツールです。SCEPman アプリケーションは、ルート証明書を Key Vault に生成して保存します。                                                                                                                       |
| Application Insights    | SCEPman アプリケーションと要求の洞察を得るための Application Performance Management (APM) ツールです。パフォーマンスの測定に必要で、サービス最適化に適しています。                                                                                       |
| Storage Account         | <p>SCEPman の Certificate Master コンポーネントが失効目的で証明書属性を保存するために使用する Storage Account です。<br><br><em>オプション:</em></p><p>手動更新が構成されている場合、"App Service" は blob ストレージ URI から成果物を読み込みます。</p>                  |
| Log Analytics Workspace | <p>中央集約型のクラウドベースのログ保存領域です。"App Service" はすべてを保存します</p><p>プラットフォームのログとメトリックをこのワークスペースに保存します。<br><br>v3.0 以降、SCEPman は Microsoft の Log Ingestion API を使用して Log Analytics Workspace にログを書き込みます。</p> |

さらに、Private Endpoints を使用している場合は、 [追加の Azure リソースを 7 つ。](/ja/azure-gou-cheng/private-endpoints.md#azure-resources-used-for-private-endpoints)

<table><thead><tr><th width="374">種類</th><th>説明</th></tr></thead><tbody><tr><td>仮想ネットワーク</td><td>SCEPman App Services、Key Vault、および Storage Account は、この VNET を介して接続します。</td></tr><tr><td>プライベート エンドポイント (×2)</td><td>Key Vault 用が 1 つ、Storage Account 用が 1 つです。これにより、VNET 経由でアクセスできるようになります。</td></tr><tr><td>プライベート DNS ゾーン (×2)</td><td>Key Vault 用が 1 つ、Storage Account 用が 1 つです。どちらも VNET 内に内部 IP アドレスを持ち、それぞれのプライベート DNS ゾーンに名前があります。</td></tr><tr><td>ネットワーク インターフェイス (×2)</td><td>Key Vault 用が 1 つ、Storage Account 用が 1 つです。プライベート エンドポイントを VNET に接続します。</td></tr></tbody></table>

## 構成手順

{% stepper %}
{% step %}

### SCEPman 基本サービスをデプロイ

{% hint style="warning" %}
これは **必須の** 手順です。
{% endhint %}

どちらの方法でデプロイするかを選択してください。 **Windows** または **Linux** App Service Plan。どちらのデプロイ方法でも、オペレーティング システムを選択できます。

デプロイを開始するには、ARM Template を利用する、または代わりに Terraform スクリプトを使用したセットアップ手順に従う必要があります。 **ARM Template**

{% content-ref url="/pages/514b43b3dacbc9f3f011125d8f806184425e36ce" %}
[エンタープライズ デプロイ](/ja/scepman-nodepuroi/deployment-options/enterprise-deployment.md)
{% endcontent-ref %}

または代わりに **Terraform** スクリプト:

{% content-ref url="/pages/49f854f416a0c8f1c227a035f9f32c7c52e98185" %}
[Terraform デプロイ](/ja/scepman-nodepuroi/deployment-options/terraform-deployment.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### デプロイ後の手順を実施する（権限の割り当て）

{% hint style="warning" %}
これは **必須の** 手順です。
{% endhint %}

SCEPman のすべてのコンポーネントを適切に連携するには、いくつかの権限を割り当てる必要があります。関連する接続を確立するため、以下の手順に従ってください:

{% content-ref url="/pages/c9baa8d4cb5c43880feb830c2ec1c10083883fa7" %}
[マネージド ID](/ja/scepman-nodepuroi/permissions/post-installation-config.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Certificate Master の権限を追加

{% hint style="success" %}
これは **必須の** の手順は **Enterprise** **Edition** のお客様向けです。 **Community Edition** ユーザーはこの手順をスキップできます。
{% endhint %}

Certificate Master は **Enterprise Edition** 管理者が証明書を手動で生成および失効できる機能です。Certificate Master へのアクセスを提供するには、以下の手順に従ってください。

{% content-ref url="/pages/89fcf39f72fa6a350a1fcf569e8e1487783f9f0e" %}
[Certificate Master RBAC](/ja/scepman-gou-cheng/rbac.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### ルート証明書を作成する

{% hint style="warning" %}
これは **必須の** 手順です。
{% endhint %}

デプロイと権限の割り当てが完了したら、SCEPman 用のルート証明書を作成する必要があります:

{% content-ref url="/pages/0ebdf2507a832e59c0cf5125ffda7b54f6043866" %}
[ルート CA](/ja/scepman-nodepuroi/first-run-root-cert.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### カスタム ドメインと SSL 証明書を構成

{% hint style="success" %}
これは **推奨されます** 手順。ただし、 **スキップ** してください。geo 冗長性を実装する場合は、この手順をスキップします。
{% endhint %}

SCEPman を特定のドメインで利用できるようにするには、 **Custom Domain** を **App Service に作成する必要があります。**

{% content-ref url="/pages/8eb47ea387d89933dddb8698281a8acb2f7a1af7" %}
[カスタム ドメイン](/ja/azure-gou-cheng/custom-domain.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### 手動更新

{% hint style="info" %}
これは **任意の** 手順です。
{% endhint %}

既定では、SCEPman は [常に最新を維持するアプローチ](/ja/azure-gou-cheng/update-strategy.md#evergreen-approach) を更新に採用しています。SCEPman の更新を完全に制御する必要がある場合は、以下のガイドのセクションで説明されているようにデプロイ スロットを構成してください。 **デプロイ スロットの構成**.

{% content-ref url="/pages/d11979f767e4900580bf70531c13b3211e25501f" %}
[更新戦略](/ja/azure-gou-cheng/update-strategy.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Application Insights をデプロイ

{% hint style="success" %}
これは **推奨されます** 手順です。
{% endhint %}

Application Insights を使用すると、App Service のパフォーマンスの概要を把握し、SCEPman の要求処理をより深く把握できます。App Service の監視、保守、最適化のために、Application Insights を常に構成することをお勧めします。

{% content-ref url="/pages/0bc9d2f9072f644c25e282f528206c8d1606d40c" %}
[Application Insights](/ja/azure-gou-cheng/application-insights.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### ヘルス チェックを構成

{% hint style="success" %}
これは **推奨されます** 手順です。
{% endhint %}

SCEPman App Service が応答しない場合に管理者へ通知するよう、ヘルス チェックを構成できます。

{% content-ref url="/pages/32ff1ed3cf0a5e6f9fe077cdd74cacb7a2488410" %}
[ヘルス チェック](/ja/azure-gou-cheng/health-check.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### SCEPman に十分なリソースがあることを確認してください

{% hint style="warning" %}
これは **必須の** 手順です。
{% endhint %}

SCEPman を本番環境に移行したら、十分な計算リソースが備わっていることを確認してください。そのため、Azure サイジング ガイドを確認し、必要であれば App Service プランの階層をアップグレードしてください。この作業は PoC または試用期間の後まで延期しても構いません。

{% content-ref url="/pages/7653b5876336dbccf48b2ad0699905af5aad267b" %}
[App Service のサイズ設定](/ja/azure-gou-cheng/azure-sizing.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### オートスケーリングを構成する

{% hint style="info" %}
これは **任意の** 手順です。
{% endhint %}

SCEPman ソリューションには、2 つの異なるタスクとパフォーマンス要件があります。\
1 つ目のタスクは証明書の発行プロセスです。SCEPman ソリューションの構成後、すべてのデバイス（ユーザー証明書および/またはデバイス証明書）に証明書を展開する必要がありますが、これは 1 回限りのタスクであり、初回展開後は、新しいデバイスが登録されたとき、または証明書の更新が必要になったときにのみ発生します。そのような状況では、SCEPman は SCEP 要求のピークに直面します。

2 つ目のタスクは証明書の検証です。デバイスに証明書を展開した後は、それらの証明書を使用するたびに検証する必要があります。証明書ベースの認証ごとに、クライアント、ゲートウェイ、または RADIUS システム（使用するものによります）が SCEPman App Service に OCSP 要求を送信します。これにより、App Service には恒常的な要求負荷が発生します。

最適化されたパフォーマンスを確保し、コストにも配慮するため、App Service のオートスケーリング機能を設定することを推奨します。この機能により、アプリケーションはメトリックに基づいてスケールアウトおよびスケールインできます。

{% content-ref url="/pages/b062e1e788c083e1db92c464a35b0a1e95820657" %}
[オートスケーリング](/ja/azure-gou-cheng/azure-sizing/autoscaling.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### geo 冗長性を構成する

{% hint style="info" %}
これは **任意の** 手順です。
{% endhint %}

SCEPman の geo 冗長インスタンスを構成すると、複数の Azure リージョンにワークロードを分散することで、サービスの可用性と耐障害性を向上できます。

ただし、この構成では追加リソースとデータのレプリケーションが必要になるため、Azure のコストが増加する可能性があることに注意してください。Microsoft は Azure App Services に対して 99.95% の SLA を提供しており、ほとんどのシナリオではこれで十分です。

{% content-ref url="/pages/a25360d8b5e68a413fa1636f1a7b741651747937" %}
[地理冗長性](/ja/azure-gou-cheng/geo-redundancy.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### MDM デプロイ プロファイルを構成

{% hint style="success" %}
これは **推奨されます** 手順です。
{% endhint %}

上記の手順が完了すると、SCEPman は正常に動作する実装となり、デバイスに証明書をデプロイできるようになります。

お使いの MDM ソリューションで証明書をデプロイするには、以下の記事を 1 つ以上ご利用ください:

{% content-ref url="/pages/d707fc5c0d1b5e571123c01e0b8435ced93eec79" %}
[Microsoft Intune](/ja/zheng-ming-shu-guan-li/microsoft-intune.md)
{% endcontent-ref %}

{% content-ref url="/pages/2776ebdbcac8bdd11e7e51f36b87d22571d17925" %}
[Jamf Pro](/ja/zheng-ming-shu-guan-li/jamf.md)
{% endcontent-ref %}

{% content-ref url="/pages/11b60abb2a67558c45dc098171dd45154598686c" %}
[その他の MDM ソリューション](/ja/zheng-ming-shu-guan-li/static-certificates.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Certificate Master を使用して証明書を手動発行する、または CSR に署名する <a href="#manually-issue-certificates-or-sign-csrs-using-the-certificate-master" id="manually-issue-certificates-or-sign-csrs-using-the-certificate-master"></a>

{% hint style="info" %}
これは **任意の** 手順です。
{% endhint %}

以下のリンクを参照して、FQDN の一覧に基づいて TLS サーバー証明書を発行する方法、または Certificate Master コンポーネントを使用して任意の CSR に署名する方法をご確認ください。

{% content-ref url="/pages/13fdf762be2175fdd2546ac4ec8454a1421e7523" %}
[Certificate Master](/ja/zheng-ming-shu-guan-li/certificate-master.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### Enrollment REST API を使用して証明書を発行する

{% hint style="info" %}
これは **任意の** 手順です。
{% endhint %}

SCEPman には証明書を登録するための REST API があります。これは、SCEP 形式の認証を必要とする SCEP エンドポイントの代替であり、REST API は認証に Microsoft Identities を使用します。このプロトコルは SCEP よりもはるかに単純です。

{% content-ref url="/pages/4201a583ebbce39728e36841429bb7a0f3873e99" %}
[Enrollment REST API](/ja/zheng-ming-shu-guan-li/api-certificates.md)
{% endcontent-ref %}
{% endstep %}

{% step %}

### SCEPman の Azure リソースにロックを作成する

{% hint style="info" %}
これは **任意の** 手順です。
{% endhint %}

既定では、SCEPman は Azure リソースに対してロックを適用しません。リソース ロックを使用し、それらを構成したい場合、以下の一覧では各 SCEPman リソースに適用できるロックの種類を示します。

* **Key Vault:** Soft Delete と Purge Protection により、誤削除に対する保護はすでに提供されています。SCEPman は CA キー作成後にリソースを変更しないため、 **ReadOnlyLock** は技術的には可能です。
* **Storage Account:** 可能なのは **DeleteLock** のみです。SCEPman はテーブルに証明書情報を書き込む必要があるためです。Storage Account が誤って削除されると、すでに発行済みの証明書に関する情報が失われます。
* **App Services:** A **ReadOnlyLock** は理論上は可能ですが、SCEPman の構成を変更するたびに削除する必要があります。削除された App Service は簡単に再インストールできますが、既定の構成しか持たないため、すべての手動変更を手動で再構成しなければなりません。 **DeleteLock** および **ReadOnlyLock** このリスクの軽減に役立ちます。
* **Log Analytics Workspace:** A **DeleteLock** は技術的には可能ですが、失われるのは保持期間中に収集されたログのみであり、SCEPman サービスの可用性には影響しません。
* **その他の Azure リソース:** これらはデータを保存せず、情報を失うことなく再作成できます。 **DeleteLock** および **ReadOnlyLock** 一部のものには DeleteLock が有用な場合があります。いくつかは、上記のいずれかのコア サービスに依存しているため、そもそも削除できません。
  {% endstep %}
  {% endstepper %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.scepman.com/ja/scepman-nodepuroi/deployment-guides/enterprise-guide-1.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
