Sécurité de Connector Hub

Cette rubrique fournit des informations et des recommandations de sécurité pour le service Oracle Cloud Infrastructure Connector Hub.

Responsabilités de sécurité

Pour utiliser Connector Hub en toute sécurité, découvrez vos responsabilités en matière de sécurité et de conformité.

En général, Oracle assure la sécurité de l'infrastructure et des opérations cloud, telles que les contrôles d'accès des opérateurs cloud et l'application de patches de sécurité à l'infrastructure. Vous êtes responsable de la configuration sécurisée de vos ressources cloud. La sécurité dans le cloud est une responsabilité partagée entre vous et Oracle.

Oracle est responsable des exigences de sécurité suivantes :

  • Sécurité physique : Oracle est responsable de la protection de l'infrastructure globale qui exécute tous les services offerts par Oracle Cloud Infrastructure. Cette infrastructure comporte le matériel, le logiciel, les réseaux et les installations qui exécutent les services Oracle Cloud Infrastructure.

Les responsabilités de sécurité sont décrites dans cette page, qui comprend les domaines suivants :

  • Contrôle d'accès : limitez les privilèges autant que possible. Les utilisateurs doivent disposer uniquement des droits d'accès nécessaires pour faire leur travail.

Tâches de sécurité initiales

Utilisez cette liste de contrôle pour identifier les tâches que vous effectuez pour sécuriser Connector Hub dans une nouvelle location Oracle Cloud Infrastructure.

Tâche En savoir plus
Utiliser des stratégies IAM pour accorder l'accès aux utilisateurs et aux ressources Stratégies IAM

Routine Security Tasks

Après avoir commencé avec Connector Hub, utilisez cette liste de contrôle pour identifier les tâches de sécurité que nous vous recommandons d'effectuer régulièrement.

Connector Hub ne comporte aucune tâche de sécurité que vous devez effectuer régulièrement.

Stratégies IAM

Utilisez des stratégies pour limiter l'accès à Connector Hub.

Une stratégie indique qui peut accéder aux ressources Oracle Cloud Infrastructure et comment. Pour plus d'informations, reportez-vous à Fonctionnement des stratégies.

Affectez à un groupe les privilèges les moins élevés nécessaires à l'exécution de ses responsabilités. Chaque stratégie comporte un verbe qui décrit les actions que le groupe est autorisé à effectuer. Du minimum d'accès au maximum, les verbes disponibles sont : inspect, read, use et manage.

Stratégies d'accès utilisateur

Créez cette stratégie pour autoriser le groupe ConnectorUsers à créer, mettre à jour et supprimer des connecteurs dans le compartiment ABC.

Allow group ConnectorUsers to manage serviceconnectors in compartment ABC

Créez cette stratégie pour autoriser le groupe ConnectorUsers à mettre à jour uniquement les connecteurs (sans autoriser le groupe à créer ou à supprimer des connecteurs) dans le compartiment ABC.

Allow group ConnectorUsers to use serviceconnectors in compartment ABC

Pour plus d'informations sur les stratégies Connector Hub, reportez-vous à Détails relatifs à Connector Hub.

Stratégies d'accès au service

Remarque

Assurez-vous que toute politique que vous créez est conforme aux directives de votre société.

Pour déplacer des données, votre connecteur doit être autorisé à accéder aux ressources indiquées dans les services source , de tâche et target . Certaines ressources sont accessibles sans stratégie. Des stratégies par défaut fournissant l'autorisation requise sont proposées lorsque vous utilisez la console pour définir un connecteur. Ces stratégies sont limitées au contexte du connecteur. Vous pouvez accepter les stratégies par défaut ou vous assurer que vous disposez des autorisations appropriées dans des stratégies personnalisées pour l'accès aux utilisateurs et aux services.

Par exemple, la stratégie par défaut suivante est proposée lorsque vous créez ou modifiez un connecteur qui déplace les données de Logging vers Monitoring.

allow any-user to use metrics in compartment id <target_metric_compartment_OCID>
where all {
    request.principal.type='serviceconnector',
    target.metrics.namespace='<metric_namespace>',
    request.principal.compartment.id='<serviceconnector_compartment_OCID>'
}

Pour plus d'informations, y compris les stratégies par défaut, reportez-vous à Accès aux services source, de tâche et cible.

Accès au connecteur inter-locations

Utilisez l'accès au connecteur inter-location pour partager des connecteurs avec une autre organisation disposant de sa propre location. Par exemple, partagez des connecteurs avec une autre unité opérationnelle de votre société, un client ou une société qui fournit des services à cette dernière.

Remarque

Pour créer un connecteur qui accède aux ressources d'autres locations, vous devez utiliser le kit SDK, l'interface de ligne de commande ou l'API OCI. (Le générateur de stratégies de la console ne fournit pas d'informations provenant d'autres locations, ni ne suggère d'approuver, d'admettre ou de définir des instructions.) Pour obtenir des instructions sur l'interface de ligne de commande et l'API, reportez-vous à Création d'un connecteur.

Pour accéder aux ressources et les partager, les administrateurs des deux locations doivent créer des instructions de stratégie spéciales qui indiquent de façon explicite les ressources accessibles et pouvant être partagées. Ces instructions spéciales utilisent les mots Define, Endorse et Admit. Pour plus d'informations sur ces instructions, reportez-vous à Approbation, Admission et définition d'instructions (sur la page Accès aux ressources Object Storage dans les locations).

Instructions de stratégie de la location source

Utilisez une instruction de stratégie dans la location source pour :

  • Admettre un connecteur à partir d'une location de destination pour accéder aux ressources de votre location (source)
  • Endosser un connecteur pour accéder aux ressources dans la location de destination
  • Approuver un groupe pour accéder aux ressources dans la location de destination
Remarque

Les exemples d'instruction de stratégie suivants sont formatés à des fins de lisibilité. Avant d'utiliser des copies de ces instructions, supprimez les nouvelles lignes, tabulations et espaces.
Admettez n'importe quel connecteur de la location de destination pour accéder à un type spécifique de ressource dans votre location (source)
Define tenancy DestinationTenancy as <destination_tenancy_OCID>
Admit any-user of tenancy DestinationTenancy to <permissions_for_resource_kind> in compartment id <compartment_OCID_in_source_tenancy>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_destination_tenancy>' 
    }
Pour obtenir des exemples, reportez-vous à Exemples. Pour rechercher les droits d'accès requis pour un type spécifique de ressource auquel accède un connecteur, reportez-vous à Stratégies par défaut.
Approuvez un groupe dans votre location (source) pour effectuer n'importe quelle opération avec n'importe quel connecteur dans n'importe quelle location
Endorse group <group_name> to manage serviceconnectors in any-tenancy
Approuvez un groupe dans votre location (source) pour effectuer n'importe quelle opération sur n'importe quel connecteur de la location de destination uniquement

Pour écrire une stratégie qui réduit la portée de l'accès à la location, l'administrateur source doit référencer l'OCID de location de destination fourni par l'administrateur de destination.

Define tenancy DestinationTenancy as <destination_tenancy_OCID>
Endorse group <group_name> to read serviceconnectors in tenancy DestinationTenancy

Instructions de stratégie de la location de destination

Utilisez une instruction de stratégie dans la location de destination pour :

  • Endosser un connecteur pour accéder aux ressources dans la location source
  • Admettez un connecteur à partir de la location source pour accéder aux ressources de votre location (destination)
  • Admettez un groupe ou un groupe dynamique à partir de la location source pour accéder aux ressources de votre location (destination)
Remarque

Les exemples d'instruction de stratégie suivants sont formatés à des fins de lisibilité. Avant d'utiliser des copies de ces instructions, supprimez les nouvelles lignes, tabulations et espaces.
Approuvez n'importe quel connecteur de votre location (destination) pour accéder à un type spécifique de ressource dans la location source
Define tenancy SourceTenancy as <source_tenancy_OCID>
Endorse any-user to <permissions_for_resource_kind> in tenancy SourceTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Pour obtenir des exemples, reportez-vous à Exemples. Pour rechercher les droits d'accès requis pour un type spécifique de ressource auquel accède un connecteur, reportez-vous à Stratégies par défaut.
Admettez un groupe de la location source pour effectuer n'importe quelle opération sur n'importe quel connecteur de votre location (destination)
Define tenancy SourceTenancy as <source_tenancy_OCID>
Define group <group_name> as <group_OCID>
Admit group <group_name> of tenancy SourceTenancy to manage serviceconnectors 
    in tenancy
Admettez un groupe à partir de la location source pour lire uniquement les connecteurs dans le compartiment SharedConnectors (dans votre location de destination).
Define tenancy SourceTenancy as <source_tenancy_OCID>
Define group <group_name> as <group_OCID>
Admit group <group_name> of tenancy SourceTenancy to read serviceconnectors 
    in compartment SharedConnectors
Admettez un groupe dynamique à partir de la location source pour lire uniquement les connecteurs dans le compartiment SharedConnectors (dans la location de destination).
Define tenancy SourceTenancy as <source_tenancy_OCID>
Define dynamic-group <dynamic_group_name> as <group_OCID>
Admit dynamic-group <dynamic_group_name> of tenancy SourceTenancy to read serviceconnectors 
    in compartment SharedConnectors
Pour rechercher les droits d'accès requis pour un type spécifique de ressource auquel un groupe dynamique accède, reportez-vous à Stratégies personnalisées.

Exemples

Remarque

  • Ecrivez des stratégies inter-location avant de créer le connecteur. Vous devez utiliser le kit SDK, l'interface de ligne de commande ou l'API OCI pour créer un connecteur inter-location.
  • Les exemples d'instruction de stratégie suivants sont formatés à des fins de lisibilité. Avant d'utiliser des copies de ces instructions, supprimez les nouvelles lignes, tabulations et espaces.
  • Pour approuver ou admettre un connecteur pour l'accès à une ressource source, cible ou tâche qui n'est pas abordée dans ces exemples, utilisez les droits d'accès de ressource dans les stratégies par défaut.
Source de flux dans une autre location

Ecrivez des stratégies pour un connecteur afin de déplacer des données d'un flux dans une autre location vers un bucket dans la location du connecteur.


Source de flux dans une autre location
Appel Description
3 Flux utilisé comme source de connecteur
2 Connecteur qui déplace les données du flux vers le bucket
5 Bucket utilisé comme cible de connecteur

Voici les stratégies permettant de déplacer ces données du flux dans la location A vers le bucket dans la location B, à l'aide du connecteur dans la location B.

Location A
Admettez un connecteur dans le compartiment indiqué de la location B pour accéder à n'importe quel flux dans le compartiment indiqué de cette location.
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to {STREAM_READ, STREAM_CONSUME} in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
Location B
Approuvez n'importe quel connecteur de cette location pour accéder à n'importe quel flux de la location A.
Define tenancy StreamTenancy as <tenancy_a_OCID>
Endorse any-user to {STREAM_READ, STREAM_CONSUME} in tenancy StreamTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Autorisez tout connecteur du compartiment indiqué de cette location à déplacer des données vers le bucket (même location).
Allow any-user to manage objects in compartment id <target_bucket_compartment_OCID> 
    where all {
        request.principal.type='serviceconnector',
        target.bucket.name='<bucket_name>',          
        request.principal.compartment.id='<serviceconnector_compartment_OCID>'
    }
Source de journal dans une autre location

Ecrivez des stratégies pour qu'un connecteur déplace les données d'un journal d'une autre location vers un groupe de journaux de la location du connecteur.


Source de journal dans une autre location
Appel Description
3 Journal utilisé comme source de connecteur
2 Connecteur qui déplace les données du journal vers le groupe de journaux
5 Groupe de journaux utilisé comme cible de connecteur
Location A
Admettez n'importe quel connecteur dans le compartiment indiqué de la location B pour accéder à n'importe quel journal dans le compartiment indiqué de cette location.
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to read log-content in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
Location B
Approuvez n'importe quel connecteur de cette location pour accéder à n'importe quel journal de la location A.
Define tenancy LogTenancy as <tenancy_a_OCID>
Endorse any-user to read log-content in tenancy LogTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Autorisez tout connecteur du compartiment indiqué de cette location à déplacer des données vers le groupe de journaux (même location).
Allow any-user to use loganalytics-log-group in compartment id <target_log_group_compartment_OCID> 
    where all {
        request.principal.type='serviceconnector', 
        target.loganalytics-log-group.id=<log_group_OCID>, 
        request.principal.compartment.id=<serviceconnector_compartment_OCID>
    }
Cible de fonction dans une autre location

Ecrivez des stratégies pour un connecteur afin de déplacer des données d'un journal de la location du connecteur vers une fonction d'une autre location.


Cible de fonction dans une autre location
Appel Description
3 Journal utilisé comme source de connecteur
2 Connecteur qui déplace les données du journal vers la fonction
5 Fonction utilisée comme cible de connecteur
Location A
Approuvez un connecteur dans le compartiment indiqué de cette location pour accéder à n'importe quelle fonction du compartiment indiqué de la location B.
Define tenancy FunctionTenancy as <tenancy_b_OCID>
Endorse any-user to use fn-function in tenancy FunctionTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Define tenancy FunctionTenancy as <tenancy_b_OCID>
Endorse any-user to use fn-invocation in tenancy FunctionTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Autorisez tout connecteur du compartiment indiqué de cette location à accéder à n'importe quel journal (même location).
Allow any-user to read log-content in compartment id <source_log_compartment_OCID>

    where all {
        request.principal.type='serviceconnector',         
        request.principal.compartment.id='<serviceconnector_compartment_OCID>'
    }
Location B
Admettez un connecteur dans la location A pour accéder à n'importe quelle fonction de cette location.
Define tenancy ConnectorTenancy as <tenancy_a_OCID>
Admit any-user to use fn-function in tenancy ConnectorTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Define tenancy ConnectorTenancy as <tenancy_a_OCID>
Admit any-user to use fn-invocation in tenancy ConnectorTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Mesure source et bucket cible dans d'autres locations

Ecrivez des stratégies pour un connecteur afin de déplacer des données d'une mesure dans une autre location (A) vers une fonction dans une autre location (C).


Mesure source et bucket cible dans d'autres locations
Appel Description
3 Mesure utilisée comme source de connecteur
2 Connecteur qui déplace les données de la mesure vers le bucket
5 Bucket utilisé comme cible de connecteur
Location A
Admettez n'importe quel connecteur dans le compartiment indiqué de la location B pour accéder à n'importe quelle mesure dans le compartiment indiqué de cette location.
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to read metrics in compartment id <compartment_OCID_in_tenancy_a>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }
Location B
Approuvez n'importe quel connecteur de cette location pour accéder à n'importe quelle mesure de la location A.
Define tenancy MetricTenancy as <tenancy_a_OCID>
Endorse any-user to read metrics in tenancy MetricTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Approuvez n'importe quel connecteur de cette location pour accéder à n'importe quel bucket de la location C.
Define tenancy BucketTenancy as <tenancy_c_OCID>
Endorse any-user to manage objects in tenancy BucketTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Location C
Admettez un connecteur dans le compartiment indiqué de la location B pour déplacer des données vers n'importe quel bucket dans le compartiment indiqué de cette location.
Define tenancy ConnectorTenancy as <tenancy_b_OCID>
Admit any-user of tenancy ConnectorTenancy to manage objects in compartment id <compartment_OCID_in_tenancy_c>
    where all 
    { 
        request.principal.type='serviceconnector', 
        request.principal.compartment.id=<compartment_OCID_in_tenancy_b>' 
    }