- 基本情報
- 要件
- ベスト プラクティス
- インストール
- 更新
- Identity Server
- High Availability Add-on
- 起動エラーのトラブルシューティング
インストールの前提条件
こちらに示す Orchestrator のインストールに必要な前提条件とは別に、Identity Server には有効な証明書が必要です。
Identity Server には、以下の有効な証明書が必要です。
- HTTPS プロトコルのための証明書
-
A certificate used to sign the tokens generated by the Identity Server.The certificate is used for signing OpenID access tokens that are used for user identification via browser and for service-to-service communication between Orchestrator and Identity Server. Click here for more details about OpenID Connect.
重要:証明書への署名には、キーの最大長 4096 ビットを使用できます。 ベスト プラクティスとして、少なくとも 512 ビット (64 バイト) のキー長を使用することを強くお勧めします。
重要:セキュリティ上の理由から、Identity Server で使用する証明書は次の要件を満たしている必要があります。
- 2048 ビットの公開キーがあること
- AppPool ユーザーがアクセスできる秘密キーがあること
- 有効期間内である (失効していない)
証明書の場所は、Identity Server の構成ファイルappsettings.Production.json
の署名資格情報セクションに設定します。
証明書のローテーションを使用し、証明書の期限が切れて暗黙的に Identity Server が停止するリスクを回避できます。証明書のローテーションでは、2 つの証明書を保持して、それらを定期的にローテーションする必要があります。ただし、一度に 1 つの署名キーしか使用できません。
証明書のローテーション プロセスを開始するには、次の手順を実行します。
appsettings.Production.json
の SigningCredentialSettings セクションでStoreLocation
パラメーターを使用して、最初の証明書のName
、Location
、およびNameType
を指定します。これは既定の署名キーです。appsettings.Production.json
ファイルの同じセクションでValidationKeys
パラメーターを使用して、2 番目の証明書のName
、Location
、およびNameType
を指定します。ローテーション日の前に、この手順を完了する必要があります。- この段階で、
identity/.well-known/openid-configuration/jwks
エンドポイントを使用して 2 番目の証明書がパブリッシュされます。これにより、誰もがキャッシュされた探索ドキュメントを更新する時間を確保できます。 - ローテーション時刻に証明書を切り替えて、Identity Server を再起動します。これで、新しい証明書を署名に使用できます。前の証明書は必要に応じて、引き続き検証のために使用できます。
- 前の証明書は、48 時間後に構成から安全に削除できます。
SigningCredential
は現在使用されている証明書を参照し、ValidationKeys
は新たにパブリッシュされた検証キーを参照しています。
"SigningCredentialSettings": {
"StoreLocation": {
"Name": "2816a67bc34496ca0acabbe04eb149b88ade0684",
"Location": "LocalMachine",
"NameType" : "Thumbprint",
"ValidationKeys": [
{
"Name": "2cde6c443f0147c6258a6fe2203e71a997bfcd44",
"Location": "LocalMachine",
"NameType" : "Thumbprint"
}
]
}
}
"SigningCredentialSettings": {
"StoreLocation": {
"Name": "2816a67bc34496ca0acabbe04eb149b88ade0684",
"Location": "LocalMachine",
"NameType" : "Thumbprint",
"ValidationKeys": [
{
"Name": "2cde6c443f0147c6258a6fe2203e71a997bfcd44",
"Location": "LocalMachine",
"NameType" : "Thumbprint"
}
]
}
}
AppSettings.Production.json
の暗号化への影響
AppSetting.Production.json
データの暗号化に影響する可能性があります。
設定の暗号化の安全性を保ちながら、署名証明書をローテーションするには、次の手順を実行します。
AppSettings.Production.json
ファイルを復号します。AppSettings.Production.json
ファイルの署名証明書を更新します。AppSettings.Production.json
ファイルを再暗号化します。- Identity Server を再起動します。