Connector Hub sichern

Dieses Thema enthält Sicherheitsinformationen und Empfehlungen für den Oracle Cloud Infrastructure Connector Hub-Service.

Sicherheitszuständigkeiten

Um Connector Hub sicher zu verwenden, lernen Sie Ihre Sicherheits- und Compliance-Zuständigkeiten kennen.

Im Allgemeinen bietet Oracle Sicherheit für Cloud-Infrastruktur und -Vorgänge, wie Zugriffskontrollen für Cloud-Benutzer und Infrastruktursicherheits-Patching. Sie sind für die sichere Konfiguration Ihrer Cloud-Ressourcen verantwortlich. Für die Sicherheit in der Cloud sind Sie und Oracle gleichermaßen verantwortlich.

Oracle ist für die folgenden Sicherheitsanforderungen verantwortlich:

  • Physische Sicherheit: Oracle ist für den Schutz der globalen Infrastruktur verantwortlich, auf der alle in Oracle Cloud Infrastructure angebotenen Services ausgeführt werden. Diese Infrastruktur besteht aus Hardware, Software, Netzwerken und Einrichtungen, die Oracle Cloud Infrastructure-Services ausführen.

Ihre Sicherheitszuständigkeiten sind auf dieser Seite beschrieben. Sie umfassen die folgenden Bereiche:

  • Zugriffskontrolle: Beschränken Sie Berechtigungen so weit wie möglich. Benutzern sollte nur der erforderliche Zugriff zum Ausführen ihrer Aufgaben erteilt werden.

Erste Sicherheitsaufgaben

Mit dieser Checkliste können Sie die Aufgaben identifizieren, die zum Sichern von Connector Hub in einem neuen Oracle Cloud Infrastructure-Mandanten ausgeführt werden.

Aufgabe Weitere Informationen
Mit IAM-Policys Benutzern und Ressourcen Zugriffsberechtigungen erteilen IAM-Policys

Routinemäßige Sicherheitsaufgaben

Nachdem Sie die ersten Schritte mit Connector Hub ausgeführt haben, ermitteln Sie anhand dieser Checkliste, welche Sicherheitsaufgaben Sie regelmäßig ausführen sollten.

Connector Hub enthält keine Sicherheitsaufgaben, die Sie regelmäßig ausführen müssen.

IAM-Policys

Verwenden Sie Policys, um den Zugriff auf Connector Hub einzuschränken.

In einer Policy ist definiert, wer wie auf Oracle Cloud Infrastructure-Ressourcen zugreifen kann. Weitere Informationen finden Sie unter Funktionsweise von Policys.

Weisen Sie einer Gruppe jeweils nur die geringsten Berechtigungen zu, die diese Gruppe benötigt, um ihre Zuständigkeiten ausführen zu können. Jede Policy enthält ein Verb, das beschreibt, welche Aktionen die Gruppe ausführen darf. Folgende Verben sind verfügbar (sortiert nach Berechtigung): inspect, read, use und manage.

Benutzerzugriffs-Policys

Um mit Connectors arbeiten zu können, muss sich ein Benutzer in einer Gruppe befinden, und eine Policy muss dieser Gruppe die entsprechende Autorisierung im Compartment oder Mandanten erteilen.

Connectors erstellen, aktualisieren und löschen (keine Queues oder Streams)

Lassen Sie die angegebene Gruppe Connectors im angegebenen Compartment erstellen, aktualisieren und löschen.

Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>

Nur Connectors aktualisieren (keine Queues oder Streams)

Lassen Sie die angegebenen Gruppenkonnektoren nur im angegebenen Compartment aktualisieren. Die Gruppe kann keine Connectors erstellen oder löschen.

Allow group <group-name> to use serviceconnectors in compartment <compartment-name>

Connectors mit Queues erstellen, aktualisieren und löschen

Lassen Sie die angegebene Gruppe Queues im angegebenen Compartment lesen, und erstellen und aktualisieren Sie Connectors, die eine Queuequelle oder ein Queueziel verwenden. Lassen Sie auch zu, dass die Gruppe Connectors im angegebenen Compartment löscht.

Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>
Allow group <group-name> to read queues in compartment <compartment-name>

Connectors mit Streams erstellen, aktualisieren und löschen

Lassen Sie die angegebene Gruppe Streams und Streampools im angegebenen Compartment lesen und Connectors erstellen und aktualisieren, die eine Streamingquelle oder ein Streamingziel verwenden. Lassen Sie auch zu, dass die Gruppe Connectors im angegebenen Compartment löscht.

Allow group <group-name> to manage serviceconnectors in compartment <compartment-name>
Allow group <group-name> to read stream-family in compartment <compartment-name>

Weitere Informationen zu Connector Hub-Policys finden Sie unter Details zu Connector Hub.

Servicezugriffs-Policys

Hinweis

Stellen Sie sicher, dass alle von Ihnen erstellten Policys den Unternehmensrichtlinien entsprechen.

Um Daten zu verschieben, muss der Connector autorisiert sein, auf die angegebenen Ressourcen in den Quell- , Aufgaben- und Ziel- Services zuzugreifen. Einige Ressourcen sind ohne Policys zugänglich. Standard-Policys mit der erforderlichen Autorisierung werden angeboten, wenn Sie einen Connector mit der Konsole definieren. Diese Policys sind auf den Kontext des Connectors begrenzt. Sie können entweder die Standard-Policys akzeptieren oder sicherstellen, dass Sie über die richtigen Autorisierungen in benutzerdefinierten Policys für den Benutzer- und Servicezugriff verfügen.

Beispiel: Die folgende Standard-Policy wird angeboten, wenn Sie einen Connector erstellen oder bearbeiten, der Daten aus Logging in Monitoring verschiebt.

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>'
}

Weitere Informationen, einschließlich Standard-Policys, finden Sie unter Zugriff auf Quell-, Aufgaben- und Zielservices.

Mandantenübergreifender Connector-Zugriff

Verwenden Sie mandantenübergreifenden Connector-Zugriff, um Connectors für eine andere Organisation mit einem eigenen Mandanten freizugeben. Geben Sie beispielsweise Connectors für eine andere Geschäftseinheit in Ihrem Unternehmen, einen Kunden Ihres Unternehmens oder ein Unternehmen frei, das Services für Ihr Unternehmen bereitstellt.

Hinweis

Um einen Connector zu erstellen, der auf Ressourcen in anderen Mandanten zugreift, müssen Sie das OCI-SDK, die CLI oder die API verwenden. (Der Policy Builder in der Konsole stellt keine Informationen aus anderen Mandanten bereit oder schlägt Anweisungen zur Freigabe, Zulassung oder Definition vor.) CLI- und API-Anweisungen finden Sie unter Connector erstellen.

Um auf Ressourcen zuzugreifen und diese freizugeben, müssen die Administratoren beider Mandanten spezielle Policy-Anweisungen erstellen, die explizit angeben, auf welche Ressourcen zugegriffen werden kann und welche Ressourcen freigegeben werden können. Diese speziellen Anweisungen verwenden die Wörter Define, Endorse und Admit. Weitere Informationen zu diesen Anweisungen finden Sie unter Mandantenübergreifende Zugriffs-Policys.

Policy-Anweisungen des Quellmandanten

Mit einer Policy-Anweisung im Quellmandanten können Sie:

  • Connector aus einem Zielmandanten zulassen, um auf Ressourcen in Ihrem (Quell-)Mandanten zuzugreifen
  • Connector für den Zugriff auf Ressourcen im Zielmandanten freigeben
  • Gruppe für den Zugriff auf Ressourcen im Zielmandanten freigeben
Hinweis

Die folgenden Beispiel-Policy-Anweisungen sind zur besseren Lesbarkeit formatiert. Entfernen Sie vor der Verwendung von Kopien dieser Anweisungen neue Zeilen, Registerkarten und Leerzeichen.
Geben Sie einen beliebigen Connector aus dem Zielmandanten an, um auf eine bestimmte Art von Ressource in Ihrem (Quell-)Mandanten zuzugreifen
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>' 
    }
Beispiele finden Sie unter Beispiele. Informationen zum Suchen der Berechtigungen, die für einen bestimmten Ressourcentyp erforderlich sind, auf den ein Connector zugreift, finden Sie unter Standard-Policys.
Stellen Sie eine Gruppe in Ihrem (Quell-)Mandanten für beliebige Connector-Vorgänge in einem beliebigen Mandanten bereit
Endorse group <group_name> to manage serviceconnectors in any-tenancy
Stellen Sie eine Gruppe in Ihrem (Quell-)Mandanten bereit, die nur mit einem beliebigen Connector im Zielmandanten ausgeführt werden soll
Um eine Policy zu schreiben, die den Umfang des Mandantenzugriffs reduziert, muss der Quelladministrator die Ziel-Mandanten-OCID angeben, die vom Zieladministrator bereitgestellt wird.
Define tenancy DestinationTenancy as <destination_tenancy_OCID>
Endorse group <group_name> to read serviceconnectors in tenancy DestinationTenancy

Policy-Anweisungen des Zielmandanten

Mit einer Policy-Anweisung im Zielmandanten können Sie:

  • Connector für den Zugriff auf Ressourcen im Quellmandanten freigeben
  • Connector aus dem Quellmandanten zulassen, um auf Ressourcen in Ihrem (Ziel-)Mandanten zuzugreifen
  • Gruppe oder dynamische Gruppe aus dem Quellmandanten zulassen, um auf Ressourcen in Ihrem (Ziel-)Mandanten zuzugreifen
Hinweis

Die folgenden Beispiel-Policy-Anweisungen sind zur besseren Lesbarkeit formatiert. Entfernen Sie vor der Verwendung von Kopien dieser Anweisungen neue Zeilen, Registerkarten und Leerzeichen.
Bestätigen Sie jeden Connector in Ihrem (Ziel-)Mandanten, um auf eine bestimmte Art von Ressource im Quellmandanten zuzugreifen
Define tenancy SourceTenancy as <source_tenancy_OCID>
Endorse any-user to <permissions_for_resource_kind> in tenancy SourceTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Beispiele finden Sie unter Beispiele. Informationen zum Suchen der Berechtigungen, die für einen bestimmten Ressourcentyp erforderlich sind, auf den ein Connector zugreift, finden Sie unter Standard-Policys.
Weisen Sie eine Gruppe aus dem Quellmandanten zu, um mit einem beliebigen Connector in Ihrem (Ziel-)Mandanten zu arbeiten
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
Eine Gruppe aus dem Quellmandanten zulassen, um Connectors nur im Compartment SharedConnectors (in Ihrem Zielmandanten) zu lesen
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
Dynamische Gruppe aus dem Quellmandanten zulassen, um Connectors nur im Compartment SharedConnectors (in Ihrem Zielmandanten) zu lesen
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
Informationen zum Suchen der Berechtigungen, die für einen bestimmten Ressourcentyp erforderlich sind, auf den eine dynamische Gruppe zugreift, finden Sie unter Benutzerdefinierte Policys.

Beispiele

Hinweis

  • Schreiben Sie mandantenübergreifende Policys, bevor Sie den Connector erstellen. Sie müssen das OCI-SDK, die CLI oder die API verwenden, um einen mandantenübergreifenden Connector zu erstellen.
  • Die folgenden Beispiel-Policy-Anweisungen sind zur besseren Lesbarkeit formatiert. Entfernen Sie vor der Verwendung von Kopien dieser Anweisungen neue Zeilen, Registerkarten und Leerzeichen.
  • Um einen Connector für den Zugriff auf eine Quell-, Ziel- oder Aufgabenressource zu bestätigen oder zuzuweisen, die in diesen Beispielen nicht behandelt wird, verwenden Sie die Ressourcenberechtigungen in den Standard-Policys.
Streamquelle in anderem Mandanten

Schreiben Sie Policys für einen Connector, um Daten aus einem Stream in einem anderen Mandanten in einen Bucket im Mandanten des Connectors zu verschieben.


Streamquelle in einem anderen Mandanten
Callout Beschreibung
1 Als Connector-Quelle verwendeter Stream
2 Connector, der Daten aus dem Stream in den Bucket verschiebt
3 Als Connector-Ziel verwendeter Bucket

Im Folgenden werden die Policys zum Verschieben dieser Daten aus dem Stream in Mandant A in den Bucket in Mandant B mit dem Connector in Mandant B aufgeführt.

Mandant A
Lassen Sie einen beliebigen Connector im angegebenen Compartment von Mandant B zu, um auf jeden Stream im angegebenen Compartment dieses Mandanten zuzugreifen.
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>' 
    }
Mandant B
Bestätigen Sie jeden Connector in diesem Mandanten, um auf jeden Stream in Mandant A zuzugreifen.
Define tenancy StreamTenancy as <tenancy_a_OCID>
Endorse any-user to {STREAM_READ, STREAM_CONSUME} in tenancy StreamTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Zulassen, dass jeder Connector im angegebenen Compartment dieses Mandanten Daten in den Bucket (desselben Mandanten) verschieben kann.
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>'
    }
Logquelle in anderem Mandanten

Schreiben Sie Policys für einen Connector, um Daten aus einem Log in einem anderen Mandanten in eine Loggruppe im Mandanten des Connectors zu verschieben.


Quelle in anderem Mandanten protokollieren
Callout Beschreibung
1 Als Connector-Quelle verwendetes Log
2 Connector, der Daten aus dem Log in die Loggruppe verschiebt
3 Als Connector-Ziel verwendete Loggruppe
Mandant A
Lassen Sie einen beliebigen Connector im angegebenen Compartment von Mandant B zu, um auf ein beliebiges Log im angegebenen Compartment dieses Mandanten zuzugreifen.
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>' 
    }
Mandant B
Bestätigen Sie jeden Connector in diesem Mandanten, um auf jedes Log in Mandant A zuzugreifen.
Define tenancy LogTenancy as <tenancy_a_OCID>
Endorse any-user to read log-content in tenancy LogTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Zulassen, dass jeder Connector im angegebenen Compartment dieses Mandanten Daten in die Loggruppe (dieselbe Tenancy) verschieben kann.
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>
    }
Funktionsziel in einem anderen Mandanten

Schreiben Sie Policys für einen Connector, um Daten aus einem Log im Mandanten des Connectors in eine Funktion in einem anderen Mandanten zu verschieben.


Funktionsziel in einem anderen Mandanten
Callout Beschreibung
1 Als Connector-Quelle verwendetes Log
2 Connector, der Daten aus dem Log in die Funktion verschiebt
3 Als Connector-Ziel verwendete Funktion
Mandant A
Bestätigen Sie jeden Connector im angegebenen Compartment dieses Mandanten, um auf eine beliebige Funktion im angegebenen Compartment von Mandant B zuzugreifen.
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' 
    }
Zulassen, dass jeder Connector im angegebenen Compartment dieses Mandanten auf ein beliebiges Log (dieselbe Tenancy) zugreift.
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>'
    }
Mandant B
Lassen Sie einen beliebigen Connector im Mandanten A zu, um auf eine Funktion in diesem Mandanten zuzugreifen.
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' 
    }
Quellmetrik und Ziel-Bucket in anderen Mandanten

Schreiben Sie Policys für einen Connector, um Daten aus einer Metrik in einem anderen Mandanten (A) in eine Funktion in einem anderen Mandanten (C) zu verschieben.


Quellmetrik und Ziel-Bucket in anderen Mandanten
Callout Beschreibung
1 Als Connector-Quelle verwendete Kennzahl
2 Connector, der Daten aus der Metrik in den Bucket verschiebt
3 Als Connector-Ziel verwendeter Bucket
Mandant A
Lassen Sie einen beliebigen Connector im angegebenen Compartment von Mandant B zu, um auf eine beliebige Metrik im angegebenen Compartment dieses Mandanten zuzugreifen.
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>' 
    }
Mandant B
Bestätigen Sie jeden Connector in diesem Mandanten, um auf eine beliebige Metrik in Mandant A zuzugreifen.
Define tenancy MetricTenancy as <tenancy_a_OCID>
Endorse any-user to read metrics in tenancy MetricTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Bestätigen Sie einen beliebigen Connector in diesem Mandanten, um auf einen beliebigen Bucket im Mandanten C zuzugreifen.
Define tenancy BucketTenancy as <tenancy_c_OCID>
Endorse any-user to manage objects in tenancy BucketTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Mandant C
Lassen Sie einen beliebigen Connector im angegebenen Compartment von Mandant B zu, um Daten in einen beliebigen Bucket im angegebenen Compartment dieses Mandanten zu verschieben.
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>' 
    }