Ressourcen-Principals
Oracle empfiehlt die Verwendung der Resource-Principal-basierten Authentifizierung für Full Stack Disaster Recovery, um zusätzliche Features und Funktionen zu verwenden. Verwenden Sie Resource Principals, um andere Oracle Cloud Infrastructure-Ressourcen zu authentifizieren und darauf zuzugreifen. Um Resource Principals verwenden zu können, müssen Sie oder Ihr Mandantenadministrator die Oracle Cloud Infrastructure-Policys und dynamischen Gruppen definieren, mit denen Principals auf Oracle Cloud Infrastructure-Ressourcen zugreifen können.
1. Dynamische Gruppen erstellen und Zuordnungsregeln wie folgt definieren:
Mit einer dynamischen Gruppe können Sie OCI-Ressourcen gruppieren, sodass ihnen kollektiv Berechtigungen zugewiesen werden können. Durch das Definieren von Übereinstimmungsregeln innerhalb der dynamischen Gruppe wird festgelegt, welche Ressourcen einbezogen werden.
- Bei OCI-Account anmelden.
- Öffnen Sie das Navigationsmenü und wählen Sie Identität & Sicherheit > Domains > [Ihre Domain] > Gruppen > Dynamische Gruppen.
- Klicken Sie auf Dynamische Gruppe erstellen.
- Geben Sie einen aussagekräftigen Namen und eine Beschreibung an.
- Wählen Sie im Abschnitt Übereinstimmungsregeln die Option Mit unten definierten Regeln abgleichen aus. Mit dieser Einstellung wird sichergestellt, dass Ressourcen, die einer der angegebenen Regeln entsprechen, in die dynamische Gruppe aufgenommen werden.
Vergleichsregeln für dynamische Gruppen:
Rule 1: All {resource.type='drprotectiongroup', resource.compartment.id='<dr_protection_group_compartment_ocid>'}
Rule 2: Any {instance.compartment.id = '<instance_compartment_ocid>'}
Rule 3: All {resource.type='computecontainerinstance', resource.compartment.id='<mysql_compartment_ocid>'}
Rule 4: All {resource.type='computecontainerinstance', resource.compartment.id='<oke_cluster_compartment_ocid>'}Dynamische Gruppe speichern:
Nachdem Sie die Abgleichsregeln definiert haben, klicken Sie auf Erstellen, um die dynamische Gruppe zu speichern.
Weitere Informationen finden Sie unter Richtlinien für Abgleichsregeln in dynamischen Gruppen für Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery.
2. Erstellen Sie die IAM-Policys für die dynamische Gruppe wie folgt:
IAM-Policys erteilen der dynamischen Gruppe die erforderlichen Berechtigungen zum Verwalten von Ressourcen während DR-Vorgängen.
Zu Policys navigieren:
Gehen Sie in der OCI-Konsole zu "Identität und Sicherheit > Domains > [Ihre Domain] > Policys".
Neue Policy erstellen:
- Klicken Sie auf Policy erstellen.
- Geben Sie einen Namen und die Beschreibung für die Policy an.
- Fügen Sie in Policy Builder Anweisungen hinzu, um die erforderlichen Berechtigungen zu erteilen.
Policy-Anweisungen:
Die erforderlichen Policy-Anweisungen hängen von den Ressourcentypen ab, die von Full Stack DR verwaltet werden.
Ersetzen Sie <dynamic_group_name> und <resource_compartment_name> durch die tatsächlichen Namen der dynamischen Gruppe und des Compartments.
Alle Policy-Anweisungen:
Allow dynamic-group <dynamic_group_name> to manage disaster-recovery-family in compartment <dr_protection_group_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage object-family in compartment <object_storage_bucket_compartment_name>
Allow dynamic-group <dynamic_group_name> to use tag-namespaces in tenancy
Allow dynamic-group <dynamic_group_name> to read all-resources in tenancy
Allow dynamic-group <dynamic_group_name> to manage instance-family in compartment <instance_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-execution-family in compartment <instance_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-family in compartment <instance_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage instance-agent-plugins in compartment <instance_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage virtual-network-family in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage volume-family in compartment <volume_group_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage file-family in compartment <file_system_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage database-family in compartment <database_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage autonomous-database-family in compartment <autonomous_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage autonomous-database-family in compartment <autonomous_container_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to update autonomous-vmclusters in compartment <autonomous_container_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to update autonomousContainerDatabaseDataguardAssociations in compartment <autonomous_container_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to update cloud-autonomous-vmclusters in compartment <autonomous_container_database_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage mysql-family in compartment <mysql_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage load-balancers in compartment <load_balancer_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage network-load-balancers in compartment <network_load_balancer_compartment_name>
Allow dynamic-group <dynamic_group_name> to read secret-family in compartment <vault_compartment_name>
Allow dynamic-group <dynamic_group_name> to read vaults in compartment <vault_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage cluster-family in compartment <oke_cluster_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage cluster-virtualnode-pools in compartment <oke_cluster_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage compute-container-family in compartment <oke_cluster_compartment_name>
Allow any-user to manage objects in compartment <object_storage_bucket_compartment_name> where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-creator', request.principal.cluster_id = '<cluster_ocid>'}
Allow any-user to manage objects in compartment <object_storage_bucket_compartment_name> where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-reader', request.principal.cluster_id = '<cluster_ocid>'}
Allow dynamic-group <dynamic_group_name> to read fn-app in compartment <function_compartment_name>
Allow dynamic-group <dynamic_group_name> to read fn-function in compartment <function_compartment_name>
Allow dynamic-group <dynamic_group_name> to use fn-invocation in compartment <function_compartment_name>
Weitere Informationen finden Sie unter Richtlinien für Policy-Anweisungen für Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery
Prüfen und erstellen:
Nachdem Sie die erforderlichen Anweisungen hinzugefügt haben, prüfen Sie die Policy, und klicken Sie auf Erstellen, um sie anzuwenden.
Durch die folgenden Schritte können Sie die Resource Principal-Authentifizierung für OCI Full Stack Disaster Recovery einrichten und so eine sichere und effiziente Verwaltung Ihrer Disaster Recovery-Vorgänge ermöglichen.
Referenz:
Richtlinien für den Abgleich von Regeln in dynamischen Gruppen für Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery
Zuordnungsregeln definieren:
Richten Sie die Ressourcenabgleichsregeln an dem Ressourcentyp aus, den Sie mit dem Full Stack Disaster Recovery-Service schützen möchten.
Abgleichsregeln für DR-Schutzgruppen:
Dies ist ein erforderlicher Schritt, da dies der Resource Principal ist, der hauptsächlich für die DR-Konfiguration und -Ausführung mit Resource Principal verwendet wird
Alle DR-Schutzgruppen in einem bestimmten Compartment:
All {resource.type='drprotectiongroup', resource.compartment.id='<dr_protection_group_compartment_ocid>'}
Replace <dr_protection_group_compartment_ocid> with your DR protection group compartment OCID.
Alle DR-Schutzgruppen über mehrere Compartments hinweg:
All {resource.type='drprotectiongroup', resource.compartment.id='<dr_protection_group_compartment_ocid1>'}
All {resource.type='drprotectiongroup', resource.compartment.id='<dr_protection_group_compartment_ocid2>'}
Alle DR-Schutzgruppen in allen Compartments:
All {resource.type='drprotectiongroup'}
Abgleichsregeln für Compute-Instanzen:
Dies ist erforderlich, wenn Compute-Instanzen, entweder gleitende oder nicht gleitende Mitglieder, in der DR-Schutzgruppe vorhanden sind. Verwenden Sie die folgenden Regeln, um Compute-Instanzen in Ihre DR-Konfiguration aufzunehmen:
Any {instance.compartment.id = '<instance_compartment_ocid>'}
Replace <instance_compartment_ocid> with your compute instance compartment OCIDInstanzen über mehrere Compartments hinweg:
Any {instance.compartment.id = '<instance_compartment_ocid1>'}
Any {instance.compartment.id = '<instance_compartment_ocid2>'}
Übereinstimmungsregeln für OKE-Cluster und MySQL-DB-Systeme:
Dies ist erforderlich, wenn Sie OKE-Cluster- oder MySQL-DB-Systemmitglieder in der DR-Schutzgruppe haben.
Disaster-Recovery-Konfiguration und -Ausführungen werden über Compute-Containerinstanzen ausgeführt
Alle OKE-Clusterinstanzen in einem bestimmten Compartment:
All {resource.type='computecontainerinstance', resource.compartment.id='<oke_cluster_compartment_ocid>'}
Replace <oke_cluster_compartment_ocid> with your OKE cluster compartment OCID
Alle MySQL-DB-Systeme in einem bestimmten Compartment:
All {resource.type='computecontainerinstance', resource.compartment.id='<mysql_compartment_ocid>'}
Replace <mysql_compartment_ocid> with the relevant MySQL compartment OCID
Alle Compute-Containerinstanzen unabhängig vom Compartment (gilt für alle relevanten Ressourcen):
All {resource.type='computecontainerinstance'}
Diese Regeln stellen sicher, dass eine der angegebenen Bedingungen übereinstimmen kann, sodass die Einbeziehung von Ressourcen flexibel ist.
Richtlinien für Policy-Anweisungen für Oracle Cloud Infrastructure (OCI) Full Stack Disaster Recovery:
Um eine nahtlose Verwaltung von Ressourcen mit Full Stack DR zu ermöglichen, richten Sie IAM-Policys für Ihre dynamische Gruppe ein. Beispiele für verschiedene Elementtypen:
Allgemeine Ressourcen-Policys (für alle Mitgliedstypen anwendbar)
Networking (für: Compute-Instanzen, autonome DB, Load Balancer, Dateisysteme, OKE-Cluster):
Allow dynamic-group <dynamic_group_name> to use virtual-network-family in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use subnets in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use vnics in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use network-security-groups in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use private-ips in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use public-ips in compartment <network_compartment_name>
Allow dynamic-group <dynamic_group_name> to use tag-namespaces in compartment <tag_compartment_name>
Vault (für: Compute-Instanzen, autonome DB, Volume-Gruppen, Dateisysteme, OKE-Cluster):
Allow dynamic-group <dynamic_group_name> to read vaults in compartment <vault_compartment_name>
Allow dynamic-group <dynamic_group_name> to read secret-family in compartment <vault_compartment_name
Allow dynamic-group <dynamic_group_name> to use tag-namespaces in
tenancyFür Disaster Recovery-Serviceressourcen (DR-Konfiguration und -Aktionen):
Allow dynamic-group <dynamic_group_name> to manage disaster-recovery-family in compartment <dr_protection_group_compartment_name>
Allow dynamic-group <dynamic_group_name> to manage objects in compartment <dr_protection_group_compartment_name>
Allow dynamic-group <dynamic_group_name> to read all-resources in tenancy
Allow dynamic-group <dynamic_group_name> to manage object-family in compartment
<object_storage_bucket_compartment_name>- Compute-Instanzen (beweglich und nicht beweglich):
Allow dynamic-group <dynamic_group_name> to manage instance-family in compartment <instance_compartment_name> Allow dynamic-group <dynamic_group_name> to manage volume-family in compartment <volume_group_compartment_name> Allow dynamic-group <dynamic_group_name> to manage virtual-network-family in compartment <instance_compartment_name> Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-execution-family in compartment <instance_compartment_name> Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-family in compartment <instance_compartment_name> Allow dynamic-group <dynamic_group_name> to manage instance-agent-plugins in compartment <instance_compartment_name> - Volume-Gruppen
Allow dynamic-group <dynamic_group_name> to manage volume-family in compartment <volume_group_compartment_name>(Include Vault policies from above) - Dateisysteme
Allow dynamic-group <dynamic_group_name> to manage file-family in compartment <file_system_compartment_name>(Include Vault policies from above) - Objektspeicher-Buckets
Allow dynamic-group <dynamic_group_name> to manage object-family in compartment <object_storage_bucket_compartment_name> - Datenbanken
Allow dynamic-group <dynamic_group_name> to manage databases in compartment <database_compartment_name>(Include Vault policies from above) - Autonomous Database
Allow dynamic-group <dynamic_group_name> to manage autonomous-database-family in compartment <autonomous_database_compartment_name> (Include Vault policies from above) - Autonome Containerbank
Allow dynamic-group <dynamic_group_name> to manage autonomous-database-family in compartment <autonomous_container_database_compartment_name> Allow dynamic-group <dynamic_group_name> to update cloud-autonomous-vmclusters in compartment <autonomous_container_database_compartment_name> Allow dynamic-group <dynamic_group_name> to update autonomous-vmclusters in compartment <autonomous_container_database_compartment_name> Allow dynamic-group <dynamic_group_name> to update autonomousContainerDatabaseDataguardAssociations in compartment <autonomous_container_database_compartment_name> - MySQL-DB-Systeme
Allow dynamic-group <dynamic_group_name> to manage mysql-family in compartment <mysql_compartment_name> - Load Balancer
Allow dynamic-group <dynamic_group_name> to manage load-balancers in compartment <load_balancer_compartment_name> - Network Load Balancer
Allow dynamic-group <dynamic_group_name> to manage network-load-balancers in compartment <network_load_balancer_compartment_name> - OKE-Cluster
Allow dynamic-group <dynamic_group_name> to manage cluster-family in compartment <oke_cluster_compartment_name> Allow dynamic-group <dynamic_group_name> to manage cluster-virtualnode-pools in compartment <oke_cluster_compartment_name> Allow dynamic-group <dynamic_group_name> to manage compute-container-family in compartment <oke_cluster_compartment_name> Allow dynamic-group <dynamic_group_name> to manage object-family in compartment <object_storage_bucket_compartment_name> With Virtual Node Pool: Allow any-user to manage objects in compartment <object_storage_bucket_compartment_name> where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-reader', request.principal.cluster_id = '<cluster_ocid>'} Allow any-user to manage objects in compartment <object_storage_bucket_compartment_name> where all { request.principal.type = 'workload', request.principal.namespace = 'brie', request.principal.service_account = 'brie-creator', request.principal.cluster_id = '<cluster_ocid>'} - Benutzerdefinierte Schritte
Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-execution-family in compartment <instance_compartment_name> Allow dynamic-group <dynamic_group_name> to manage instance-agent-command-family in compartment <instance_compartment_name> Allow dynamic-group <dynamic_group_name> to manage instance-agent-plugins in compartment <instance_compartment_name> Allow dynamic-group <dynamic_group_name> to manage objects in compartment <object_storage_bucket_compartment_name> - Funktionen (Schrittart: FUNKTIONEN)
Allow dynamic-group <dynamic_group_name> to read fn-app in compartment <function_compartment_name> Allow dynamic-group <dynamic_group_name> to read fn-function in compartment <function_compartment_name> Allow dynamic-group <dynamic_group_name> to use fn-invocation in compartment <function_compartment_name>
Ersetzen Sie <Dynamic_Group_Name> durch den Namen der dynamischen Gruppe und <resource_compartment_name> durch den entsprechenden Compartment-Namen für jeden Ressourcentyp.
Weitere Informationen zu den im obigen Schritt erstellten Policys finden Sie unter Policys für andere Services, die von Full Stack Disaster Recovery verwaltet werden.
Weitere Informationen zum Hinzufügen von Übereinstimmungsregeln in dynamischen Gruppen, die im obigen Schritt erstellt wurden, finden Sie unter Zuordnungsregeln zum Definieren dynamischer Gruppen schreiben.
Weitere Informationen zum Hinzufügen von Policy-Anweisungen in den Policys für dynamische Gruppen, die im obigen Schritt erstellt wurden, finden Sie unter Policys für dynamische Gruppen schreiben.
Übergeordnetes Thema: Policys