13.5. クロスサイト接続のセキュリティー保護
キーストアとトラストストアを追加して、Data Grid クラスターがクロスサイトレプリケーショントラフィックを保護できるようにします。
クロスサイトレプリケーションの公開タイプとして OpenShift Route
を使用するには、キーストアを追加する必要があります。公開タイプとして NodePort
または LoadBalancer
を使用する場合、クロスサイト接続の保護はオプションです。
前提条件
Data Grid が使用して RELAY メッセージの暗号化と復号化ができる PKCS12 キーストアを用意する。
クロスサイト接続のセキュリティーを保護するには、Pod およびルーター Pod をリレーするためのキーストアを提供する必要があります。
リレー Pod とルーター Pod で同じキーストアにすることも、それぞれに個別のキーストアを提供することもできます。
各 Data Grid クラスターに同じキーストアを使用するか、各クラスターに一意のキーストアを使用することもできます。オプションで、Data Grid リレー Pod およびルーター Pod のパブリック証明書を検証する証明書チェーンまたはルート CA 証明書の一部が含まれるトラストストアがあります。
デフォルトでは、Data Grid は Java トラストストアを使用してパブリック証明書を検証します。
手順
クロスサイト暗号化シークレットを作成します。
- キーストアシークレットを作成します。
- デフォルトの Java トラストストアを使用しない場合は、トラストストアのシークレットを作成します。
-
各 Data Grid クラスターの
Infinispan
CR を変更し、encryption.transportKeyStore.secretName
およびencryption.routerKeyStore.secretName
フィールドのシークレット名を指定します。 必要に応じて RELAY メッセージを暗号化するように他のフィールドを設定して変更を適用します。
apiVersion: infinispan.org/v1 kind: Infinispan metadata: name: infinispan spec: replicas: 2 expose: type: LoadBalancer service: type: DataGrid sites: local: name: SiteA # ... encryption: protocol: TLSv1.3 transportKeyStore: secretName: transport-tls-secret alias: transport filename: keystore.p12 routerKeyStore: secretName: router-tls-secret alias: router filename: keystore.p12 trustStore: secretName: truststore-tls-secret filename: truststore.p12 locations: # ...
13.5.1. サイト間の暗号化を設定するためのリソース
以下の表は、クロスサイト接続を暗号化するフィールドおよび説明を示しています。
表13.4 service.type.sites.local.encryption
フィールド | 説明 |
---|---|
|
クロスサイト接続に使用する TLS プロトコルを指定します。デフォルト値は |
| リレー Pod のキーストアシークレットを設定します。 |
| ルーター Pod のキーストアシークレットを設定します。 |
| リレー Pod とルーター Pod 用に任意のトラストストアシークレットを設定します。 |
表13.5 service.type.sites.local.encryption.transportKeyStore
フィールド | 説明 |
---|---|
| リレー Pod が RELAY メッセージの暗号化および復号化に使用できるキーストアを含むシークレットを指定します。このフィールドは必須です。 |
|
オプションで、キーストアの証明書のエイリアスを指定します。デフォルト値は |
|
オプションでキーストアのファイル名を指定します。デフォルト値は |
表13.6 service.type.sites.local.encryption.routerKeyStore
フィールド | 説明 |
---|---|
| ルーター Pod が RELAY メッセージの暗号化および復号化に使用できるキーストアを含むシークレットを指定します。このフィールドは必須です。 |
|
オプションで、キーストアの証明書のエイリアスを指定します。デフォルト値は |
|
オプションでキーストアのファイル名を指定します。デフォルト値は |
表13.7 service.type.sites.local.encryption.trustStore
フィールド | 説明 |
---|---|
|
オプションで、リレー Pod およびルーター Pod のパブリック証明書を検証するためのトラストストアが含まれるシークレットを指定します。デフォルト値は |
|
オプションでトラストストアのファイル名を指定します。デフォルト値は |
13.5.2. クロスサイトの暗号化シークレット
クロスサイトレプリケーション暗号化のシークレットは、クロスサイト接続のセキュリティーを保護するためにキーストアと任意のトラストストアを追加します。
クロスサイトの暗号化シークレット
apiVersion: v1 kind: Secret metadata: name: tls-secret type: Opaque stringData: password: changeme type: pkcs12 data: <file-name>: "MIIKDgIBAzCCCdQGCSqGSIb3DQEHA..."
フィールド | 説明 |
---|---|
| キーストアまたはトラストストアのパスワードを指定します。 |
|
オプションでキーストアまたはトラストストアタイプを指定します。デフォルト値は |
| base64 でエンコードされたキーストアまたはトラストストアを追加します。 |