Politiques du service GoldenGate pour Oracle Cloud Infrastructure

Pour contrôler l'accès au service GoldenGate pour Oracle Cloud Infrastructure et le type d'accès de chaque groupe d'utilisateurs, vous devez créer des politiques.

Par exemple, vous pouvez créer un groupe d'administrateurs dont les membres peuvent accéder à toutes les ressources de GoldenGate pour OCI. Vous pouvez ensuite créer un groupe distinct pour toutes les autres personnes impliquées dans GoldenGate pour OCI et créer des politiques qui limitent leur accès aux ressources GoldenGate pour OCI dans des compartiments différents.

Pour obtenir la liste complète des politiques Oracle Cloud Infrastructure , voir Informations de référence sur les politiques.

Créer des politiques

Les politiques définissent les actions que les membres d'un groupe peuvent effectuer, et dans quels compartiments.

Utilisez la console Oracle Cloud pour créer des politiques. Dans le menu de navigation de la console Oracle Cloud, sélectionnez Identité et sécurité, puis sous Identité, et sélectionnez Politiques. Les politiques utilisent la syntaxe suivante :

allow group <identity-domain>/<group-name> to <verb> <resource-type> in <location> where <condition>

Les définitions de paramètre sont les suivantes :

  • <identity-domain> : (Facultatif) Si vous utilisez le service GIA pour OCI pour la gestion des identités, indiquez le domaine d'identité du groupe d'utilisateurs. S'il est omis, OCI utilise le domaine par défaut.
  • <group-name> : Nom du groupe d'utilisateurs auquel vous donnez des autorisations.
  • <verb> : Donne au groupe un certain niveau d'accès à un type de ressource. Lorsque les verbes passent de inspect à read à use à manage, le niveau d'accès augmente et les autorisations accordées sont cumulatives.

    En savoir plus sur la relation entre les autorisations et les verbes.

  • <resource-type> : Type de ressource pour lequel vous accordez une autorisation à un groupe. Il existe des ressources individuelles, comme goldengate-deployments, goldengate-pipelines et goldengate-connections, et des familles de ressources, comme goldengate-family, qui comprend les ressources individuelles mentionnées précédemment.

    Pour plus d'informations, voir Types de ressource

  • <location> : Associe la politique à un compartiment ou à une location. Vous pouvez spécifier un seul compartiment ou chemin de compartiment par nom ou identificateur Oracle Cloud, ou tenancy pour couvrir l'ensemble de la location.
  • <condition>: Facultatif. Une ou plusieurs conditions dans lesquelles cette politique sera appliquée.

En savoir plus sur la syntaxe des politiques.

Comment créer une politique

Pour créer une politique :
  1. Dans le menu de navigation d'Oracle Cloud, sélectionnez Identité et sécurité, puis, sous Identifier, cliquez sur Politiques.
  2. Dans la page Politiques, cliquez sur Créer une politique.
  3. Dans la page Create Policy, entrez le nom et la description de la stratégie.
  4. Sélectionnez le compartiment dans lequel créer cette politique.
  5. Dans la section Générateur de politiques, vous pouvez l'un ou l'autre
    • Sélectionnez Service GoldenGate dans la liste déroulante Cas d'utilisation de politique et un modèle de politique commune, tel que Politiques requises pour permettre aux utilisateurs de gérer les ressources GoldenGate.
    • Cliquez sur Afficher l'éditeur manuel pour entrer une règle de politique dans le format suivant :
      allow <subject> to <verb> <resource-type> in <location> where <condition>

      Les conditions sont facultatives. Voir Détails pour les combinaisons Verbes + Type de ressource

    Conseil :

    Pour plus d'informations, voir Politiques recommandées minimales.
  6. Cliquez sur Créer.

Politiques recommandées minimales

Conseil :

Pour utiliser un modèle de politique commun pour ajouter toutes les politiques requises :
  1. Pour Cas d'utilisation de politique, sélectionnez Service GoldenGate dans la liste déroulante.
  2. Pour Modèles d'utilisation commune, sélectionnez Politiques requises pour permettre aux utilisateurs de gérer les ressources GoldenGate dans la liste déroulante.

Au minimum, vous avez besoin de politiques pour :

  • Autoriser les utilisateurs à utiliser ou à gérer les ressources GoldenGate afin qu'ils puissent travailler avec les déploiements et les connexions. Par exemple :
    allow group <identity-domain>/<group-name> to manage goldengate-family in <location>
  • Permettre aux utilisateurs de gérer les ressources de réseau afin qu'ils puissent voir et sélectionner des compartiments et des sous-réseaux, et créer et supprimer des points d'extrémité privés lors de la création de ressources GoldenGate. Par exemple :
    allow group <identity-domain>/<group-name> to manage virtual-network-family in <location>

    Vous pouvez éventuellement sécuriser davantage les ressources réseau à l'aide d'une combinaison de politiques granulaires. Voir Exemples de politique pour sécuriser les ressources de réseau.

  • Créez un groupe dynamique pour accorder des autorisations aux ressources en fonction de règles définies, ce qui permet à vos déploiements et/ou pipelines GoldenGate d'accéder aux ressources de votre location. Remplacez <dynamic-group-name> par le nom de votre choix. Vous pouvez créer autant de groupes dynamiques que nécessaire, par exemple, pour contrôler les autorisations dans les déploiements sur différents compartiments ou locations.
    name: <dynamic-group-name>
    Matching rule: ALL {resource.type = 'goldengatedeployment', resource.compartment.id = '<location>'}

    Conseil :

    Les politiques qui suivent dans cette liste font référence à <dynamic-group-name>. Si vous créez plusieurs groupes dynamiques, assurez-vous de faire référence au nom de groupe dynamique approprié lors de l'ajout de l'une des politiques suivantes.

  • Si vous utilisez des connexions avec des clés secrètes de mot de passe, le déploiement que vous affectez à la connexion doit pouvoir accéder aux clés secrètes de mot de passe de la connexion. Assurez-vous d'ajouter la politique à votre compartiment ou location :
    allow dynamic-group <identity-domain>/<dynamic-group-name> to read secret-bundles in <location>
  • Autoriser les utilisateurs à lire l'utilisateur et le groupe du service de gestion des identités et des accès (IAM) pour les validations dans les locations activées pour IAM :
    allow service goldengate to {idcs_user_viewer, domain_resources_viewer} in <location>
    allow dynamic-group <identity-domain>/<dynamic-group-name> to {idcs_user_viewer, domain_resources_viewer} in <location>
  • Le service de chambre forte Oracle pour accéder aux clés de chiffrement et aux clés secrètes de mot de passe gérées par le client. Par exemple :
    allow group <identity-domain>/<group-name> to manage secret-family in <location>
    allow group <identity-domain>/<group-name> to use keys in <location>
    allow group <identity-domain>/<group-name> to use vaults in <location>
    allow dynamic-group <identity-domain>/<dynamic-group-name> to use keys in <location>
    allow dynamic-group <identity-domain>/<dynamic-group-name> to use vaults in <location> 
    allow dynamic-group <identity-domain>/<dynamic-group-name> to read secret-bundles in <location>

Selon que vous envisagez ou non d'utiliser les services suivants, il vous faudra ajouter des politiques pour :

  • Le service de base de données, pour vos bases de données sources ou cible. Par exemple :
    allow group <identity-domain>/<group-name> to read database-family in <location>
    allow group <identity-domain>/<group-name> to read autonomous-database-family in <location>
  • Oracle Object Storage, pour stocker les sauvegardes OCI GoldenGate manuelles et programmées. Par exemple :
    allow group <identity-domain>/<group-name> to manage objects in <location>
    allow dynamic-group <identity-domain>/<dynamic-group-name> to manage objects in <location> where target.bucket.name = '<bucket-name>'
    allow group <identity-domain>/<group-name> to inspect buckets in <location>
  • Service de journalisation OCI, pour accéder aux groupes de journaux. Par exemple :
    allow group <identity-domain>/<group-name> to read log-groups in <location>
    allow group <identity-domain>/<group-name> to read log-content in <location>
  • Équilibreur de charge, si vous activez l'accès public à la console de déploiement :
    allow group <identity-domain>/<group-name> to manage load-balancers in <location>
    allow group <identity-domain>/<group-name> to manage public-ips in <location> 
     
    allow group <identity-domain>/<group-name> to manage network-security-groups in <location>
    allow group <identity-domain>/<group-name> to manage vcns in <location> where ANY {request.operation = 'CreateNetworkSecurityGroup', request.operation = 'DeleteNetworkSecurityGroup'}
    
  • Demandes de travail :
    allow group <identity-domain>/<group-name> to inspect work-requests in <location>

L'énoncé suivant autorise un groupe à gérer les espaces de noms de marqueur et les marqueurs pour les espaces de travail :

allow group <identity-domain>/<group-name> to manage tag-namespaces in <location>

Pour ajouter un marqueur défini, vous devez être autorisé à utiliser l'espace de noms de marqueur. Pour en savoir plus sur le marquage, voir Marqueurs de ressource.

Pour plus d'informations et des exemples de politique supplémentaires, voir Politiques GoldenGate pour OCI.

Exemples de politique pour sécuriser les ressources de réseau

Vous pouvez facilement autoriser les utilisateurs à accéder aux ressources de réseau d'un compartiment à l'aide de la politique :

allow group <group-name> to use virtual-network-family in compartment <compartment-name>

Vous pouvez également utiliser les politiques suivantes pour sécuriser les ressources de réseau à un niveau plus granulaire :

Opération Accès requis aux ressources sous-jacentes
Créer un point d'extrémité privé Pour le compartiment du point d'extrémité privé :
  • Créer une carte d'interface réseau virtuelle (VNIC_CREATE)
  • Supprimer une carte d'interface réseau virtuelle (VNIC_DELETE)
  • Mettre à jour les membres d'un groupe de sécurité de réseau (NETWORK_SECURITY_GROUP_UPDATE_MEMBERS)
  • Associer un groupe de sécurité de réseau (VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP)

Pour le compartiment du sous-réseau :

  • Attacher un sous-réseau (SUBNET_ATTACH)
  • Détacher le sous-réseau (SUBNET_DETACH)
Mettre à jour un point d'extrémité privé Pour le compartiment du point d'extrémité privé :
  • Mettre à jour une carte d'interface réseau virtuelle (VNIC_UPDATE)
  • Mettre à jour les membres d'un groupe de sécurité de réseau (NETWORK_SECURITY_GROUP_UPDATE_MEMBERS)
  • Associer un groupe de sécurité de réseau (VNIC_ASSOCIATE_NETWORK_SECURITY_GROUP)
Supprimer un point d'extrémité privé Pour le compartiment du point d'extrémité privé :
  • Supprimer une carte d'interface réseau virtuelle (VNIC_DELETE)
  • Mettre à jour les membres d'un groupe de sécurité de réseau (NETWORK_SECURITY_GROUP_UPDATE_MEMBERS)

Pour le compartiment du sous-réseau :

  • Détacher le sous-réseau (SUBNET_DETACH)
Modifier un compartiment de point d'extrémité privé Lors du passage d'un compartiment à un autre, toutes les autorisations du compartiment initial doivent également être présentes dans le nouveau compartiment.

Types de ressource

Le service GoldenGate pour Oracle Cloud Infrastructure propose des types de ressource agrégés et individuels pour l'écriture de politiques.

Type de ressource agrégé Types de ressource individuels
goldengate-family

goldengate-deployments

goldengate-deployment-backups

goldengate-deployment-upgrades

goldengate-connections

goldengate-connection-assignments

goldengate-pipeline

Les API couvertes pour le type de ressource agrégé goldengate-family couvrent également les API de chaque type de ressource individuel. Par exemple,

allow group gg-admins to manage goldengate-family in compartment <compartment-name>

revient à écrire les politiques suivantes :

allow group gg-admins to manage goldengate-deployments in compartment <compartment-name>
allow group gg-admins to manage goldengate-connections in compartment <compartment-name>
allow group gg-admins to manage goldengate-connection-assignments in compartment <compartment-name>
allow group gg-admins to manage goldengate-deployment-upgrades in compartment <compartment-name>
allow group gg-admins to manage goldengate-deployment-backups in compartment <compartment-name>
allow group gg-admins to manage goldengate-pipeline in compartment <compartment-name>

Variables prises en charge

Lorsque vous ajoutez des conditions à vos politiques, vous pouvez utiliser des variables Oracle Cloud Infrastructure générales ou propres au service.

Oracle Cloud Infrastructure GoldenGate prend en charge toutes les variables générales. Pour plus d'informations, voir Variables générales pour toutes les demandes.

Détails pour les combinaisons Verbes + Type de ressource

Différents verbes et types de ressource Oracle Cloud Infrastructure peuvent être utilisés pour créer une politique.

Les tableaux suivants présentent les autorisations et les opérations d'API couvertes par chaque verbe pour GoldenGate pour Oracle Cloud Infrastructure. Le niveau d'accès est cumulatif, de inspect à read à use à manage.

goldengate-deployments

goldengate-connections

assignations-connexion-orengate

goldengate-deployment-backups

Autorisations requises pour chaque opération d'API

Voici la liste des opérations d'API pour GoldenGate pour Oracle Cloud Infrastructure dans l'ordre logique, regroupées par type de ressource.

Les types de ressource sont goldengate-deployments, goldengate-connections et goldengate-deployment-backups.

Opérations d'API Autorisation
ListDeployments GOLDENGATE_DEPLOYMENT_INSPECT
CreateDeployment GOLDENGATE_DEPLOYMENT_CREATE
GetDeployment GOLDENGATE_DEPLOYMENT_READ
UpdateDeployment GOLDENGATE_DEPLOYMENT_UPDATE
DeleteDeployment GOLDENGATE_DEPLOYMENT_DELETE
StartDeployment GOLDENGATE_DEPLOYMENT_UPDATE
StopDeployment GOLDENGATE_DEPLOYMENT_UPDATE
RestoreDeployment GOLDENGATE_DEPLOYMENT_BACKUP_READ et GOLDENGATE_DEPLOYMENT_UPDATE
ChangeDeploymentCompartment GOLDENGATE_DEPLOYMENT_MOVE
UpgradeDeployment GOLDENGATE_DEPLOYMENT_UPDATE
ListConnections GOLDENGATE_CONNECTION_INSPECT
CreateConnection GOLDENGATE_CONNECTION_CREATE
GetConnection GOLDENGATE_CONNECTION_READ
UpdateConnection GOLDENGATE_CONNECTION_UPDATE
DeleteConnection GOLDENGATE_CONNECTION_DELETE
ChangeConnectionCompartment GOLDENGATE_CONNECTION_MOVE
ListConnectionAssignments GOLDENGATE_CONNECTION_ASSIGNMENT_INSPECT
CreateConnectionAssignment GOLDENGATE_CONNECTION_ASSIGNMENT_CREATE, GOLDENGATE_DEPLOYMENT_UPDATE, GOLDENGATE_CONNECTION_UPDATE
GetConnectionAssignment GOLDENGATE_CONNECTION_ASSIGNMENT_READ
DeleteConnectionAssignment GOLDENGATE_CONNECTION_ASSIGNMENT_DELETE, GOLDENGATE_DEPLOYMENT_UPDATE, GOLDENGATE_CONNECTION_UPDATE
ListDeploymentBackups GOLDENGATE_DEPLOYMENT_BACKUP_INSPECT
GetDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_READ
CreateDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_CREATE, GOLDENGATE_DEPLOYMENT_READ
UpdateDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE
CancelDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_UPDATE
DeleteDeploymentBackup GOLDENGATE_DEPLOYMENT_BACKUP_DELETE
ChangeDeploymentBackupCompartment GOLDENGATE_DEPLOYMENT_BACKUP_MOVE
GetDeploymentUpgrade GOLDENGATE_DEPLOYMENT_UPGRADE_READ
ListDeploymentUpgrades GOLDENGATE_DEPLOYMENT_UPGRADE_INSPECT
GetWorkRequest GOLDENGATE_DEPLOYMENT_CREATE
ListWorkRequests GOLDENGATE_DEPLOYMENT_CREATE
ListWorkRequestErrors GOLDENGATE_DEPLOYMENT_CREATE
ListWorkRequestLogs GOLDENGATE_DEPLOYMENT_CREATE