NetBackup™ Web UI Kubernetes 管理者ガイド
- NetBackup for Kubernetes の概要
- NetBackup Kubernetes Operator の配備と構成
- イメージグループの管理
- NetBackup Kubernetes Operator での証明書の配備
- Kubernetes 資産の管理
- Kubernetes インテリジェントグループの管理
- Kubernetes 資産の保護
- Kubernetes 資産のリカバリ
- Kubernetes の問題のトラブルシューティング
ECA 証明書操作の実行
外部認証局 (ECA) の作成、更新、削除の各操作を実行する前に、ECA モードでバックアップサーバーを構成する必要があります。
ECA モードがオンかどうかを確認するには、コマンド /usr/openv/netbackup/bin/nbcertcmd -getSecConfig -caUsage を実行します。
出力は次のようになります。
NBCA: ON ECA: ON
ECA モードでバックアップサーバーを構成するには、『NetBackup™ セキュリティおよび暗号化ガイド』の「NetBackup での外部 CA のサポートについて」を参照してください。
ECA 証明書の指定は次のようになります。
apiVersion: netbackup.veritas.com/v1 kind: BackupServerCert metadata: name: backupservercert-sample-eca namespace: kops-ns spec: clusterName: cluster.sample.com:port backupServer: primaryserver.sample.domain.com certificateOperation: Create | Update | Remove certificateType: ECA ecaAttributes: ecaCreateOptions: ecaSecretName: "Secret name consists of cert, key, passphrase, cacert" copyCertsFromSecret: true | false isKeyEncrypted: true | false ecaUpdateOptions: ecaCrlCheck: DISABLE | LEAF | CHAIN ecaCrlRefreshHours: range[0,4380]
表: ECA 証明書操作
操作形式 | オプションとコメント |
---|---|
作成 (Create) |
|
削除 (Remove) | なし |
更新 (Update) |
|
NetBackup は、Kubernetes Operator に登録された ECA の複数のプライマリサーバーでの使用をサポートしています。外部 CA がプライマリサーバーで共通している場合、通信中に証明書失効リストを動的にフェッチするには、証明書失効リスト配布ポイントを使用する必要があります。
ECA が署名した証明書を作成するには
- 証明書失効リスト配布ポイントを使用して、証明書失効リストをフェッチします。
- ECA が署名した証明書チェーン、秘密鍵、(必要な場合は) パスフレーズをホームディレクトリに準備しておきます。
- 手順 2 で説明した各ファイルでサポートされているさまざまな形式 (DER、PEM など) を識別します。詳しくは、『NetBackup™ セキュリティおよび暗号化ガイド』の「外部 CA が署名した証明書の構成オプション」セクションを参照してください。
- 手順 3 で説明したファイルを使用して Secret を作成します。
秘密鍵が暗号化されていない場合に Secret を作成するには、コマンド kubectl create secret generic <Name of secret> を実行します。
--from-file=cert_chain=<File path to ECA signed certificate chain> --from-file=key=<File path to private key>
--from-file=cacert=<File path to External CA certificate> -n <Namespace where kops is deployed>
秘密鍵が暗号化されている場合に Secret を作成するには、コマンド kubectl create secret generic <Name of secret> を実行します。
--from-file=cert_chain=<File path to ECA signed certificate chain> --from-file=key=<File path to private key>
--from-file=cacert=<File path to External CA certificate> --from-file=passphrase=<File path to passphrase
of encrypted private key> -n <Namespace where kops is deployed>
ディレクトリ構造は次のようになります。
├── cert_chain.pem ├── private | |___key.pem | |___passphrase.txt |___trusted |__cacerts.pem
cert_chain.pem は ECA が署名した証明書チェーンです。
private/key.pem は秘密鍵です。
private/passphrase.txt は秘密鍵のパスフレーズです。
trusted/cacerts.pem は外部 CA 証明書です。
秘密鍵が暗号化されていない場合に名前 eca-secret の Secret を作成するには、次のコマンドを実行します。
kubectl create secret generic eca-secret--from-file=cert_chain=cert_chain.pem
--from-file=key=private/key.pem
--from-file=cacert=trusted/cacerts.pem -n kops-ns
秘密鍵が暗号化されている場合に名前 eca-secret の Secret を作成するには、次のコマンドを実行します。
kubectl create secret generic eca-secret
--from-file=cert_chain=cert_chain.pem
--from-file=key=private/key.pem
--from-file=cacert=trusted/cacerts.pem
--from- file=passphrase=private/passphrase.txt
-n kops-ns
- Secret が作成されたら、
backupservercert
オブジェクトのカスタムリソースを作成します。eca-create-backupservercert.yaml
ファイルは次のようになります。apiVersion: netbackup.veritas.com/v1 kind: BackupServerCert metadata: name: backupservercert-eca-create namespace: kops-ns spec: clusterName: cluster.sample.com:port backupServer: backupserver.sample.domain.com certificateOperation: Create certificateType: ECA ecaAttributes: ecaCreateOptions: ecaSecretName: eca-secret copyCertsFromSecret: true isKeyEncrypted: false
eca-create-backupservercert.yaml
ファイルのテキストをコピーします。テキストエディタを開き、yaml ファイルのテキストを貼り付けます。
その後、そのテキストに yaml ファイル拡張子を付けて、Kubernetes クラスタにアクセスできるホームディレクトリに保存します。
- 証明書とキーを Kubernetes Operator にコピーするには、次の操作のいずれかを実行します。
copyCertsFromSecret
を true に設定します。Kubernetes Operator に存在する証明書とキーのコピーを回避するには、
copyCertsFromSecret
を false に設定します。
メモ:
ECA はすべてのプライマリサーバーで共通しているため、Kubernetes Operator では、必要に応じてすべてのプライマリサーバーに登録できる 1 組の証明書とキーが必要です。以前にコピーした証明書とキーに問題がないかぎり、証明書とキーを毎回コピーする必要はありません。
メモ:
証明書やキーに関連した理由 (破損、期限切れ、または ECA の変更) が原因で
ecaHealthCheck
が失敗した場合は、エラーの原因を特定し、フラグを使用して有効な証明書のコピーを実行します。 - 秘密鍵が暗号化されている場合は
isKeyEncrypted
フラグを true に設定し、暗号化されていない場合は false に設定します。秘密鍵が暗号化されている場合は、パスフレーズが Secret で指定されていることを確認します。 - 手順 5 で
backupservercert yaml
を作成した Secret 名を使用してecaSecretName
を設定します。 eca-create-backupservercert.yaml
ファイルを作成するには、コマンド kubectl create -f eca-create-backupservercert.yaml を実行します。backupservercert
カスタムリソースが作成されたら、カスタムリソースの状態を確認します。- NetBackup Web UI で外部証明書の詳細を表示するには、『NetBackup™ Web UI 管理者ガイド』の「ドメイン内の NetBackup ホストの外部証明書情報の表示」セクションを参照してください。
ECA が署名した証明書をプライマリサーバーから削除できます。
ECA が署名した証明書を削除するには
- 操作を削除、証明書の種類を ECA に設定して
backupservercert
を作成します。eca-remove-backupservercert.yaml
ファイルは次のようになります。apiVersion: netbackup.veritas.com/v1 kind: BackupServerCert metadata: name: backupservercert-eca-remove namespace: kops-ns spec: clusterName: cluster.sample.com:port backupServer: backupserver.sample.domain.com certificateOperation: Remove certificateType: ECA
eca-remove-backupservercert.yaml
ファイルのテキストをコピーします。テキストエディタを開き、yaml ファイルのテキストを貼り付けます。
その後、そのテキストに yaml ファイル拡張子を付けて、Kubernetes クラスタにアクセスできるホームディレクトリに保存します。
eca-remove-backupservercert.yaml
ファイルを作成するには、コマンド kubectl create -f eca-remove-backupservercert.yaml を実行します。- オブジェクトが作成されたら、カスタムリソースの状態を確認する必要があります。失敗した場合は、必要な措置を講じることができます。
上記の手順を実行すると、指定したプライマリサーバーに関する外部証明書の詳細がローカル証明書ストアから削除されます。証明書は、システムからも NetBackup データベースからも削除されません。
ECA を無効にする場合は、『NetBackup™ セキュリティおよび暗号化ガイド』の「NetBackup ドメインでの外部 CA の無効化」セクションを参照してください。
バックアップサーバーの Kubernetes Operator に ECA を登録したものの、その後 NBCA のみをサポートするバックアップサーバーを再インストールした場合は、Kubernetes Operator から ECA の登録を削除する必要があります。これは、nbcertcmd の実行時に、バックアップサーバーの CA のサポートとの通信が比較されることがあり、不一致の場合にエラーが発生するためです。
ECA で設定可能な特定のオプションがあります。更新操作でこれらのオプションを設定できます。
ECA が署名した証明書を更新するには
- 操作形式を更新に設定して
backupservercert
オブジェクトを作成します。eca-update-backupservercert.yaml
ファイルは次のようになります。apiVersion: netbackup.veritas.com/v1 kind: BackupServerCert metadata: name: backupservercert-eca-update namespace: kops-ns spec: clusterName: cluster.sample.com:port backupServer: backupserver.sample.domain.com certificateOperation: Update certificateType: ECA ecaAttributes: ecaUpdateOptions: ecaCrlCheck: DISABLE | LEAF | CHAIN ecaCrlRefreshHours: [0,4380]
eca-update-backupservercert.yaml
ファイルのテキストをコピーします。テキストエディタを開き、yaml ファイルのテキストを貼り付けます。
その後、そのテキストに yaml ファイル拡張子を付けて、Kubernetes クラスタにアクセスできるホームディレクトリに保存します。
eca-update-backupservercert.yaml
ファイルを作成するには、コマンド kubectl create -f eca-update-backupservercert.yaml を実行します。- ECA_CRL_CHECK オプションを使用すると、ホストの外部証明書の失効の確認レベルを指定できます。外部証明書の失効の確認を無効にすることもできます。確認に基づいて、ホストとの通信時に、証明書失効リスト (CRL) に対して証明書の失効状態が検証されます。詳しくは、『NetBackup™ セキュリティおよび暗号化ガイド』の「NetBackup サーバーとクライアントの ECA_CRL_CHECK」セクションを参照してください。
- ECA_CRL_REFRESH_HOURS オプションは、ピアホスト証明書の証明書失効リスト配布ポイント (CDP) で指定した URL から CRL をダウンロードする間隔 (時間単位) を指定します。詳しくは、『NetBackup™ セキュリティおよび暗号化ガイド』の「NetBackup サーバーとクライアントの ECA_CRL_REFRESH_HOURS」セクションを参照してください。