5.19. OADP Self-Service
5.19.1. OADP Self-Service リンクのコピーリンクがクリップボードにコピーされました!
OADP セルフサービスを使用すると、名前空間管理者はクラスター管理者特権がなくてもアプリケーションのバックアップと復元を行うことができます。これにより、管理権限を維持しながらバックアップ操作を委任することが可能になります。
5.19.1.1. OADP Self-Service について リンクのコピーリンクがクリップボードにコピーされました!
OADP 1.5.0 以降では、バックアップおよび復元操作を実行するために cluster-admin ロールは必要ありません。namespace admin ロールで OADP を使用できます。namespace admin ロールには、ユーザーが割り当てられている namespace のみへの管理者アクセスがあります。
Self-Service 機能は、クラスター管理者が OADP Operator をインストールし、必要なパーミッションを付与した後にのみ使用できます。
OADP Self-Service 機能は、適切なアクセス制御を維持しながら、cluster-admin 権限を持たないユーザーにセキュアなセルフサービスデータ保護機能を提供します。
OADP クラスター管理者は、namespace admin ロールを持つユーザーを作成し、OADP Self-Service アクションを実行するために必要なロールベースアクセス制御 (RBAC) をユーザーに提供します。cluster-admin ロールと比較して、このユーザーのアクセスは制限されているため、このユーザーは namespace admin ユーザーと呼ばれます。
namespace admin ユーザーとして、クラスター上の認可された namespace にデプロイされたアプリケーションをバックアップおよび復元できます。
OADP Self-Service には、次の利点があります。
クラスター管理者として以下を実行します。
- namespace admin ユーザーに対して namespace スコープのバックアップおよび復元操作を許可します。つまり、namespace admin ユーザーは、許可されていない namespace にアクセスできません。
-
管理者以外のユーザーの操作に対しても、
DataProtectionApplicationの設定とポリシーを通じて管理者の制御を維持できます。
namespace admin ユーザーとして、以下を実行できます。
- 認可された namespace のバックアップおよび復元カスタムリソースを作成できます。
- 認可された namespace に専用の Backup Storage Location を作成できます。
- バックアップログとステータス情報にセキュアにアクセスできます。
5.19.1.2. namespace スコープのバックアップおよび復元の意味 リンクのコピーリンクがクリップボードにコピーされました!
OADP Self-Service は、namespace admin ユーザーが認可された namespace 内でのみ動作するようにします。たとえば、namespace admin ユーザーとして namespace にアクセスできない場合は、その namespace をバックアップできません。
namespace admin ユーザーは、他のユーザーのバックアップおよび復元データにアクセスできません。
クラスター管理者は、バックアップおよび復元操作をセキュアに管理するカスタムリソース (CR) を使用して、アクセス制御を適用します。
さらに、クラスター管理者は、CR 内で許可されるオプションを制御し、DataProtectionApplication (DPA) CR の spec 強制を使用して、セキュリティーを強化するために特定の操作を制限できます。
namespace admin ユーザーは、次の Self-Service 操作を実行できます。
- 認可された namespace のバックアップの作成および管理。
- 認可された namespace へのデータの復元。
- 独自の Backup Storage Location の設定。
- バックアップおよび復元のステータスの確認。
- 関連するログの取得の要求。
5.19.1.3. OADP Self-Service カスタムリソース リンクのコピーリンクがクリップボードにコピーされました!
OADP セルフサービスカスタムリソースを使用して、名前空間スコープのアプリケーションのバックアップ、復元、保存場所、およびダウンロード操作を制御します。これにより、ネームスペース管理者はセルフサービス型のデータ保護ツールを利用できるようになります。
OADP Self-Service 機能には、namespace admin ユーザーのバックアップと復元操作を実行するための次の新しいカスタムリソース (CR) があります。
| CR | 説明 |
|
| Self-Service 操作を制御およびオーケストレーションします。 |
|
| namespace スコープのバックアップ操作を管理します。 |
|
| namespace スコープの復元操作を管理します。 |
|
| ユーザー固有の Backup Storage Location を定義します。 |
|
| namespace スコープのダウンロード要求操作を管理します。 |
5.19.1.4. OADP Self-Service の仕組み リンクのコピーリンクがクリップボードにコピーされました!
OADP セルフサービスが、名前空間管理者の要求を検証し、対応する Velero バックアップオブジェクトを作成する NonAdminController (NAC) カスタムリソースを介してバックアップ要求を処理する方法を確認します。
この図では、以下のワークフローを説明しています。
-
namespace admin ユーザーは、
NonAdminBackup(NAB) カスタムリソース (CR) 要求を作成します。 -
NonAdminController(NAC) CR は NAB CR 要求を受け取ります。 - NAC は要求を検証し、要求に関する NAB CR を更新します。
-
NAC は
Veleroバックアップオブジェクトを作成します。 -
NAC は
Veleroバックアップオブジェクトを監視し、ステータスを NAB CR にカスケードします。
図5.1 OADP Self-Service の仕組み
5.19.1.5. OADP Self-Service の前提条件 リンクのコピーリンクがクリップボードにコピーされました!
以下の前提条件を満たして、OADP セルフサービスによるバックアップおよびリストア操作を有効にするようにクラスター環境を設定してください。これは、名前空間管理者が割り当てられた名前空間内でデータ保護タスクを実行するのに役立ちます。
-
クラスター管理者が OADP
DataProtectionApplication(DPA) CR を設定して Self-Service を有効化している。 クラスター管理者が以下のタスクを完了している。
-
namespace
adminユーザーアカウントを作成している。 -
namespace
adminユーザーの namespace を作成している。 - namespace admin ユーザーの namespace に適切な権限が割り当てられている。これにより、namespace admin ユーザーには、割り当てられた namespace にアクセスし、バックアップおよび復元操作を実行する権限が与えられます。
-
namespace
-
必要に応じて、クラスター管理者は namespace
adminユーザー用のNonAdminBackupStorageLocation(NABSL) CR を作成できます。
5.19.1.6. OADP Self-Service namespace パーミッション リンクのコピーリンクがクリップボードにコピーされました!
名前空間管理者に名前空間権限を割り当て、割り当てられた名前空間内でバックアップ、復元、およびストレージ場所のリソースを作成および管理できるようにします。これにより、ネームスペース管理者はセルフサービス型データ保護操作に必要なアクセス権を取得できます。
クラスター管理者は、以下のオブジェクトリストに対する編集者ロールが、namespace で namespace admin ユーザーに割り当てられていることを確認します。
-
nonadminbackups.oadp.openshift.io -
nonadminbackupstoragelocations.oadp.openshift.io -
nonadminrestores.oadp.openshift.io -
nonadmindownloadrequests.oadp.openshift.io
名前空間 管理者 ロールの詳細は、デフォルトのクラスターロール を参照してください。
クラスター管理者は、独自の仕様を定義して、ユーザーに project または namespace admin ロールと同様の権限を持たせることもできます。
5.19.1.6.1. バックアップ操作用の RBAC YAML の例 リンクのコピーリンクがクリップボードにコピーされました!
namespace admin ユーザーがバックアップ操作を実行できるようにするための、namespace パーミッションを含むロールベースアクセス制御 (RBAC) YAML ファイルの以下の例を参照してください。
RBAC マニフェストの例
...
- apiGroups:
- oadp.openshift.io
resources:
- nonadminbackups
- nonadminrestores
- nonadminbackupstoragelocations
- nonadmindownloadrequests
verbs:
- create
- delete
- get
- list
- patch
- update
- watch
- apiGroups:
- oadp.openshift.io
resources:
- nonadminbackups/status
- nonadminrestores/status
verbs:
- get
5.19.1.7. OADP Self-Service の制限 リンクのコピーリンクがクリップボードにコピーされました!
OADP セルフサービスの制限事項とサポートされていない機能を確認し、ネームスペース管理者がどの操作を制限されているかを理解してください。これは、サポートされている機能の範囲内で、適切なバックアップおよび復元ストラテジーを計画するのに役立ちます。
次の機能は、OADP Self-Service ではサポートされていません。
- クラスター間のバックアップと復元、または移行はサポートされていません。これらの OADP 操作はクラスター管理者に対してサポートされています。
-
namespace
adminユーザーは、VolumeSnapshotLocation(VSL) CR を作成できません。クラスター管理者は、namespaceadminユーザーのDataProtectionApplication(DPA) CR で VSL を作成して設定します。 -
ResourceModifiersCR とボリュームポリシーは、namespaceadminユーザーに対してはサポートされていません。 namespace
adminユーザーは、NonAdminBackupStorageLocationCR を使用するユーザーによってバックアップまたは復元が作成されている場合にのみ、NonAdminDownloadRequestCR を使用してバックアップまたは復元ログを要求できます。バックアップまたは復元 CR がクラスター全体のデフォルトの Backup Storage Location を使用して作成されている場合、namespace
adminユーザーはバックアップまたは復元ログを要求できません。セキュアなバックアップおよび復元を確保するために、OADP Self-Service は次の CR がバックアップまたは復元されないように自動的に除外します。
-
NonAdminBackup -
NonAdminRestore -
NonAdminBackupStorageLocation -
SecurityContextConstraints -
ClusterRole -
ClusterRoleBinding -
CustomResourceDefinition -
PriorityClasses -
VirtualMachineClusterInstanceTypes -
VirtualMachineClusterPreferences
-
5.19.1.8. OADP Self-Service のバックアップおよび復元フェーズ リンクのコピーリンクがクリップボードにコピーされました!
バックアップおよび復元操作の進行状況と状態を追跡するには、NonAdminBackup (NAB) および NonAdminRestore (NAR) カスタムリソースのステータスフェーズを確認してください。これは、セルフサービスによるバックアップおよび復元要求の監視とトラブルシューティングに役立ちます。
CR のフェーズは前にのみ進みます。あるフェーズが次のフェーズに移行すると、前のフェーズに戻ることはできません。
| 値 | 説明 |
|
| NAB または NAR CR の作成要求が NAC によって受け付けられましたが、まだ NAC によって検証されていません。 |
|
|
NAB または NAR CR の無効な
namespace admin ユーザーは、NAB または NAR |
|
|
NAB または NAR CR は NAC によって検証され、 |
|
|
NAB または NAR CR が削除対象としてマークされています。NAC は、対応する |
5.19.1.9. NonAdminBackupStorageLocation CR について リンクのコピーリンクがクリップボードにコピーされました!
名前空間管理者が管理者による作成、承認、または自動プロセスを通じてバックアップストレージの場所をどのように定義するかを理解するために 、NonAdminBackupStorageLocation (NABSL) カスタムリソース (CR) のワークフローを確認してください。これは、セキュリティー要件に基づいて適切なワークフローを選択するのに役立ちます。
NABSL CR が作成され、セキュアに使用されるようにするには、クラスター管理者の制御を使用します。クラスター管理者は、NABSL CR を管理し、会社ポリシーおよびコンプライアンス要件に準拠します。
次のワークフローのいずれかを使用して、NABSL CR を作成できます。
-
管理者作成ワークフロー: このワークフローでは、クラスター管理者は namespace admin ユーザーの NABSL CR を作成します。次に、namespace admin ユーザーは
NonAdminBackupCR の NABSL を参照します。 管理者承認ワークフロー: クラスター管理者は、
nonAdmin.requireApprovalForBSLフィールドをtrueに設定して、DPA でこのオプトイン機能を明示的に有効にする必要があります。クラスター管理者の承認プロセスは以下のように実行されます。-
namespace admin ユーザーは NABSL CR を作成します。管理者は DPA で承認プロセスを適用しているため、
openshift-adpnamespace でのNonAdminBackupStorageLocationRequestCR の作成がトリガーされます。 クラスター管理者は要求を確認し、要求を承認または拒否します。
-
承認されると、
VeleroBackupStorageLocation(BSL) がopenshift-adpnamespace に作成され、NABSL CR のステータスが更新されて承認が反映されます。 - 拒否されると、NABSL CR のステータスは、拒否を反映するように更新されます。
-
承認されると、
-
クラスター管理者は、以前に承認された NABSL CR を取り消すこともできます。
approveフィールドは、pendingまたはrejectに戻されます。これにより、VeleroBSL が削除され、namespace admin ユーザーに拒否が通知されます。
-
namespace admin ユーザーは NABSL CR を作成します。管理者は DPA で承認プロセスを適用しているため、
-
自動承認ワークフロー: このワークフローでは、DPA の
nonAdmin.requireApprovalForBSLフィールドをfalseに設定して、クラスター管理者による NABSL CR の承認プロセスを強制しません。このフィールドのデフォルト値はfalseです。フィールドを設定しないと、NABSL が自動的に承認されます。そのため、namespace admin ユーザーは認可された namespace から NABSL CR を作成できます。
セキュリティー上の理由から、管理者の作成または管理者の承認ワークフローのいずれかを使用してください。自動承認ワークフローは、管理者のレビューを必要としないため、安全性が低くなります。