For the complete documentation index, see llms.txt. This page is also available as Markdown.

SCEPmanClient

SCEPmanClient は、SCEPman の REST API と対話することを目的とした PowerShell モジュールです。プラットフォームに依存せず、Windows PowerShell v5 と互換性があるため、このモジュールを使用して、REST API で利用可能なすべてのユースケース向けに証明書を要求できます。

  • サーバー証明書の自動発行

  • 管理対象外デバイス用のクライアント証明書

  • Linux デバイスへの証明書の登録

インストール

SCEPmanClient モジュールは PowerShell Gallery から利用でき、次のコマンドを使用してインストールできます。

Install-Module -Name SCEPmanClient

PowerShell を次にインストールする方法については、Microsoft のガイドに従ってください Linux または MacOS.

前提条件

モジュールが期待どおりに機能するためには、SCEPman のデプロイに小さな変更を追加する必要があります。

1

ホーム ページ URL を追加

SCEPman の App Service URL を追加します: 次へ移動します Branding & Properties アプリ登録のセクション。ホーム ページ URL フィールドに SCEPman の App Service URL を追加します:

これは、モジュールがアクセス トークン取得に必要な App Registrations のクライアント ID を自動的に検索できるようにするために必要です。

2

Azure PowerShell が App Registration と対話できるようにする

App Registration で、次へ移動します Expose an API そして、クライアント ID を認可するために使用できるカスタム スコープを作成します 1950a258-227b-4e31-a9cf-717495945fc2 (Microsoft Azure PowerShell)

カスタム API スコープの情報例

API スコープを作成した後、Azure PowerShell アプリケーションを認可できます。

認可された Microsoft Azure PowerShell アプリケーション
3

EST エンドポイントを有効化

Configuration

証明書更新に必要

SCEPman App Service を mTLS クライアント証明書を受け入れるように構成します。設定セクションの Configuration ブレードで、Incoming client certificates の Client certificate mode が次に設定されていることを確認してください。 任意の対話型ユーザー.

Client certificate mode を Require または Allow に設定しないでください。そうすると、SCEP エンドポイント上の SCEPman の通常動作が壊れてしまいます。

Environment Variables

このシナリオを利用するには、SCEPman app service に次の環境変数を設定する必要があります。

AppConfig:DbCSRValidation:Enabled

証明書の登録と更新に必要

この変数を次に設定します true 証明書署名要求(CSR)の検証を有効にします。

AppConfig:DbCSRValidation:AllowRenewals

証明書更新に必要

この変数を次に設定します true 証明書の更新を有効にします。

AppConfig:DbCSRValidation:ReenrollmentAllowedCertificateTypes

証明書更新に必要

更新を許可したい証明書の種類を、カンマ区切りの一覧でこの変数に設定します。使用可能な証明書の種類の一覧については、リンク先の変数ドキュメントを参照してください。

例: Static,IntuneUser,IntuneDevice

アクセス許可

SCEPman には、異なる種類の証明書の登録を許可するさまざまなロールがあります。これらは次の SCEPman-api (既定の名前)Enterprise Application:

CSR DB Requesters

このロールは、既定では Service Principals(たとえば App Registrations)にのみ割り当て可能で、任意のサブジェクトおよび用途を持つ証明書を要求できます。

API 登録

CSR セルフサービス

このロールはユーザーに割り当てることができ、以下の制限付きで証明書の登録を許可します。

  • ClientAuth EKU のみ

  • ユーザー証明書は、サブジェクトまたは UPN subject alternative name のいずれかで、ユーザーの UPN と一致している必要があります

  • デバイス証明書は、SCEPman が認証されたユーザーによって所有されるデバイス オブジェクトにマップできるサブジェクトまたは SAN を持っている必要があります

セルフサービス登録

使用例

Azure 認証を使用する

対話型認証

認証メカニズムを指定せずに新しい証明書を要求する場合、既定ではユーザーは対話的に認証されます。次を使用することで -SubjectFromUserContext パラメーター、証明書のサブジェクトおよび UPN SAN は、ログインしているユーザーのコンテキストに基づいて自動的に設定されます:

デバイス ログイン

デスクトップ環境のないシステムで新しい証明書を要求したい場合は、次を使用できます -DeviceCode パラメーターを使用して、別のセッションで実際の認証を実行します:

Service Principal 認証

完全に自動化されたシナリオでは、認証に App Registration を使用できます。この場合、認証されたコンテキストからサブジェクトを推測することはできません。

パラメーター スプラッティングを使用すると、実行もより読みやすくなります:

証明書を使用して認証する

認証されたコンテキストを使用して証明書が発行されると、以後はコンテキストを再度提供しなくても、それを使用して更新できます。

CertificateBySubject

キーストアとの対話は Windows でのみ可能です

次のものを指定すると CertificateBySubject パラメーター、モジュールは自動的に更新に適した証明書を次の中から見つけようとします CurrentUser および LocalMachine キーストア。

入力された値は、利用可能なすべての証明書のサブジェクトに対して regex 一致が行われます。

特定の証明書を指定する

CertificateFromFile

Linux システムでは、既存の証明書とその秘密鍵のパスを渡すことで証明書の更新を実行できます。

暗号化された秘密鍵を使用する場合、パスワードの入力を求められます。また、次を使用して鍵のパスワードを直接渡すこともできます PlainTextPassword パラメーター。

Azure Web Application Firewall で SCEPman を使用する

SSL Profiles が有効になっている場合、WAF は TLS 接続を終端します。これにより、EST を使用した証明書の更新は機能しなくなります。これは、この手順が認証に mTLS に依存しているためです。この場合、 UseSCEPRenewal パラメーターを使用して、代わりに SCEP プロトコルに準拠した証明書更新を実行できます。

これには、静的 SCEP エンドポイントに関する追加の SCEPman 構成が必要であることに注意してください:

  • AppConfig:StaticValidation:Enabled : true

  • AppConfig:StaticValidation:AllowRenewals : true

  • AppConfig:StaticValidation:ReenrollmentAllowedCertificateTypes: Static(更新対象の種類によって異なります)

最終更新

役に立ちましたか?