Sitecoreデプロイのクライアント証明書

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

Sitecore Experience Platformは、デフォルトで安全になるように設計されています。つまり、Sitecoreロールは、クライアント証明書の検証でSecure Sockets Layer (SSL) を使用して相互に通信します。

クライアント証明書の検証では、AzureでのSitecoreインストール プロセスの一部としてクライアント証明書を設定する必要があります。このインストール要件を満たすために自己署名証明書を生成するか、認証局から取得するかを選択できます。

セキュリティのレイヤー

xConnect Webサービスを含むSitecoreインスタンス間のすべての通信は、HTTPS経由で行われます。HTTPSでは、プラットフォームをインストールする前にSSLの証明書を取得して設定する必要があります。

Sitecore Experience Platformには、次のセキュリティ レイヤーがあります。

  • SSLxConnectサーバーの役割は、SSL Client Certificate Authenticationと呼ばれる追加のセキュリティ層をサポートします。 xConnect Webサービスは、サーバー間通信を使用し、非対話型です。つまり、クライアント証明書を使用すると、Content Managementサーバーの役割と他のサーバーの役割は、クライアント証明書と事前共有キー (拇印) を使用してWeb APIサービスに安全に接続できます。

  • Server authentication – サーバー側の証明書と秘密キーを使用して、HTTPクライアントとHTTPサーバー アプリケーション間のトラフィックを暗号化します。このタイプの認証は、暗号化されていないコンテンツがセキュリティで保護されていないネットワーク上を移動するのを防ぎ、スヌーピングから保護します。クライアントが誰であるかは識別されず、サーバー認証自体はサーバーに接続できるユーザーを区別しません。

  • Client certificate authentication – は、サーバー認証の上にセキュリティの追加レイヤーであり、個々のHTTPクライアントがHTTPサーバーへの接続を許可されていることを検証します。また、HTTPクライアントインスタンスは、SSLで保護されたサーバーへの接続に使用される特定のクライアント証明書と秘密鍵で構成されている必要があります。

証明書の生成または取得

自己署名証明書は、承認された組織のキーではなく、独自の秘密キーで署名された証明書です。

開発者環境の場合は、PowerShellを使用して自己署名証明書を生成できます。本番環境の場合、Sitecoreでは、セキュリティ上の問題が生じる可能性があるため、認定機関から証明書を取得することをお勧めします。

メモ

Sitecoreでは、サービス通信のためにBase64でエンコードされたPKCS #12形式 (.pfx) の認証証明書のBLOBが必要です。

Sitecore Azure Toolkitを使用してSitecoreをデプロイするために使用する新しい自己署名証明書を生成する場合は、管理者特権のPowerShellコンソールで次のスクリプトを実行します。

$thumbprint = (New-SelfSignedCertificate `
    -Subject "CN=$env:COMPUTERNAME @ Sitecore, Inc." `
    -Type SSLServerAuthentication `
    -FriendlyName "$env:USERNAME Certificate").Thumbprint

ローカル ストレージからディスク上のファイルに証明書をエクスポートし、パスワードで保護するには、管理者特権のPowerShellコンソールで次のスクリプトを実行します。

$certificateFilePath = "D:\Temp\$thumbprint.pfx"
Export-PfxCertificate `
    -cert cert:\LocalMachine\MY\$thumbprint `
    -FilePath "$certificateFilePath" `
    -Password (Read-Host -Prompt "Enter password that would protect the certificate" -AsSecureString)
大事な

Sitecore Experience Commerceの証明書を作成するには、次のコードを使用してSitecore Experience Commerce 9.2初期リリースに移動します。 Release informationInstallation Guide - Azure App Serviceをクリックします。 Sitecore Experience Commerce Installation Guide for the Azure App Service .pdfでは、Preparing your environmentセクションを参照してください。

$CertificateFriendlyName = "Sitecore Commerce Services SSL Certificate"

$thumbprint = (New-SelfSignedCertificate `

                         -Subject $CertificateDnsName `

                         -DnsName $CertificateDnsName `
 
                         -KeyAlgorithm RSA `

                         -KeyLength 2048 `

                         -NotBefore (Get-Date) `

                         -NotAfter (Get-Date).AddYears(5) `

                         -CertStoreLocation $CertificateStore `

                         -FriendlyName $CertificateFriendlyName `

                         -HashAlgorithm SHA256 `

                         -KeyUsage DigitalSignature, KeyEncipherment, DataEncipherment `

                         -KeySpec Signature `

                         -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3")

                         ).Thumbprint
この記事を改善するための提案がある場合は、 お知らせください!