# 一般設定

SCEPman が受信した SOAP リクエストを正常に処理できるようにするには、いくつかの手順が必要です:

{% stepper %}
{% step %}

### カスタム ドメインと BaseUrl

SCEPman での認証を成功させるには、次を使用するカスタム ドメインが `A レコード` を App Service に向けるようにしてください。そうしないと、クライアントはドメイン コントローラーから有効な Kerberos チケットの要求に失敗します。

{% hint style="info" %}
カスタム ドメインは AD ドメインの FQDN と似ている必要はありません。したがって、ドメイン `ad.contoso.local` があっても、SCEPman 用に同一または類似のカスタム ドメインが必要という意味ではありません。

以下の既知の問題を参照してください [WS\_E\_ENDPOINT\_ACCESS\_DENIED](#ws_e_endpoint_access_denied) 。詳細はこちら。
{% endhint %}

SCEPman がカスタム ドメインを使用してアクセス可能になるように構成されていることを確認してください:

{% content-ref url="../../azure-no/custom-domain" %}
[custom-domain](https://docs.scepman.com/ja/azure-no/custom-domain)
{% endcontent-ref %}

同じ要件は、証明書を登録するための最初のポリシー要求（証明書テンプレートの一覧表示）後にも適用されます。認証を成功させるには、 [AppConfig:BaseUrl](https://docs.scepman.com/ja/scepman-no/application-settings/basics#appconfig-baseurl) 変数がカスタム ドメインと一致していることを確認するか、または専用の [AppConfig:ActiveDirectory:BaseUrl](https://docs.scepman.com/ja/scepman-no/application-settings/active-directory/general#appconfig-activedirectory-baseurl) 設定を使用して、AD エンドポイントを他の SCEPman エンドポイントとは別の Url でアクセスするようにしてください。
{% endstep %}

{% step %}

### Service Principal の作成

次を使用します `New-SCEPmanADPrincipal` SCEPman PowerShell モジュールの Cmdlet。オンプレミスの Active Directory ドメインにサービス プリンシパルを作成します。また、このアカウントから keytab をエクスポートし、SCEPman の CA 証明書で暗号化します。

このコマンドは、次をインストール済みのドメイン コントローラーまたはドメイン参加済みサーバーで実行できます。 [`RSAT-AD-Tools`](#user-content-fn-1)[^1] 機能。さらに、プリンシパルを作成する OU には次の権限が必要です:

OU 自体に対して:

* コンピューター オブジェクトの作成

下位のコンピューター オブジェクトに対して:

* パスワードのリセット
* 書き込み `msDS-SupportedEncryptionTypes`
* 書き込み `servicePrincipalName`
* 書き込み `userPrincipalName`

以下のバリエーションでは、SCEPman インスタンスへの送信 HTTPS ネットワーク アクセスも必要です。

{% hint style="info" %}
ドメイン コントローラーにアクセスできるコンピューターにネットワーク アクセスがない場合でも機能する CMDlet のバリエーションがありますが、SCEPman CA 証明書のダウンロードや、CMDlet を実行するマシンへの CA のコピーなど、追加の準備が必要です。
{% endhint %}

{% code overflow="wrap" lineNumbers="true" expandable="true" %}

```powershell
Install-Module SCEPman -Force
New-SCEPmanADPrincipal -Name "SCEPmanAD" -AppServiceUrl "scepman.contoso.com" -OU "OU=Example,DC=contoso,DC=local"
```

{% endcode %}

このコマンドを実行すると、次の処理が行われます:

1. 次の場所にコンピューター オブジェクトを作成します `OU=Example,DC=contoso,DC=com` 組織単位。
2. 手順 5 で keytab を暗号化するために、SCEPman の CA 証明書をダウンロードします。
3. コンピューター オブジェクトに service principal name (SPN) を追加します。
4. コンピューターのパスワードに基づく暗号化キーを含む、コンピューター アカウント用の keytab を作成します。
5. SCEPman の CA 証明書で keytab を暗号化し、CA の秘密キーを使って SCEPman のみが再度復号できるようにします。
6. 暗号化された keytab を出力し、SCEPman の構成に転送できるようにします。

Base64 でエンコードされた出力を、次の環境変数に追加する必要があります **AppConfig:ActiveDirectory:Keytab** SCEPman App Service の。
{% endstep %}

{% step %}

### SCEPman に Keytab を追加

統合は、次の環境変数を **SCEPman App Service に追加することで簡単に有効化できます。** ユース ケースに応じて、利用可能な証明書テンプレートを 1 つ以上有効にしてください:

*すべての証明書テンプレートを有効にした例:*

<table data-full-width="true"><thead><tr><th>設定</th><th>値</th></tr></thead><tbody><tr><td>AppConfig:ActiveDirectory:Keytab</td><td>手順 1 で作成したサービス プリンシパル用の Base64 エンコード済み keytab</td></tr><tr><td>AppConfig:ActiveDirectory:Computer:Enabled</td><td>true</td></tr><tr><td>AppConfig:ActiveDirectory:User:Enabled</td><td>true</td></tr><tr><td>AppConfig:ActiveDirectory:DC:Enabled</td><td>true</td></tr></tbody></table>
{% endstep %}
{% endstepper %}

## 既知の問題

### WS\_E\_ENDPOINT\_ACCESS\_DENIED

```
エラー: WS_E_ENDPOINT_ACCESS_DENIED 
16 進数: 0x803d0005
10 進数: -2143485947
```

このエラーは、CEP サーバーの検証中に、 *default* の Azure App Service URI を使用している場合に発生することが知られています。このエラーは、Kerberos プロトコルが、アクセス対象のサービスの A レコードの service principal name を要求することによって発生します。たとえば、既定の app service ドメインの場合 `contoso.azurewebsites.net` は単なる CNAME であり、次のような A レコードを指しています:

```
waws-prod-ab1-234-c56d.westeurope.cloudapp.azure.com
```

インフラストラクチャ ホストのこの A レコードは将来も一貫していることが保証されないため、このホストに service principal name を追加することは **推奨されません**.

必ずアプリ サービスにカスタム ドメインを追加し、CNAME の代わりに DNS プロバイダー内の A レコードを使用してそれをアプリ サービスに向けてください。

{% content-ref url="../../azure-no/custom-domain" %}
[custom-domain](https://docs.scepman.com/ja/azure-no/custom-domain)
{% endcontent-ref %}

### ERROR\_INVALID\_PARAMETER

```
エラー: ERROR_INVALID_PARAMETER
16 進数: 0x80070057
10 進数: -2147024809
```

このエラーは、URI が `http://`で始まるものを入力して CEP サーバーを登録するときに発生します。CEP サーバーの登録には、 `https://`

### ERROR\_ACCESS\_DENIED

```
エラー: ERROR_ACCESS_DENIED
16 進数: 0x80070005
10 進数: -2147024891
```

マシン コンテキストで CEP サーバーを登録する場合、作業中のユーザー（ `gpmc.msc`を開始したアカウント）は、GPO を編集している間、そのコンピューター上のローカル Administrators グループのメンバーである必要があります。

必ず次を起動してください `gpmc.msc` この場合は昇格した権限で。

[^1]: {% code fullWidth="true" %}

    ```powershell
    Install-WindowsFeature -Name RSAT-AD-Tools
    ```

    {% endcode %}
