Protezione dell'hub connettore

Questo argomento fornisce informazioni e suggerimenti sulla sicurezza per il servizio Oracle Cloud Infrastructure Connector Hub.

Responsabilità di sicurezza

Per utilizzare Connector Hub in modo sicuro, conoscere le responsabilità in materia di sicurezza e conformità.

In generale, Oracle fornisce la sicurezza dell'infrastruttura e delle operazioni cloud, come i controlli di accesso degli operatori cloud e l'applicazione di patch di sicurezza dell'infrastruttura. Sei responsabile della configurazione sicura delle tue risorse cloud. La sicurezza nel cloud è una responsabilità condivisa tra te e Oracle.

Oracle è responsabile dei seguenti requisiti di sicurezza:

  • Sicurezza fisica: Oracle è responsabile della protezione dell'infrastruttura globale che esegue tutti i servizi offerti in Oracle Cloud Infrastructure. Questa infrastruttura è costituita da hardware, software, networking e strutture che eseguono i servizi Oracle Cloud Infrastructure.

In questa pagina sono descritte le responsabilità di sicurezza dell'utente, che includono le aree riportate di seguito.

  • Controllo dell'accesso: limitare il più possibile i privilegi. Agli utenti dovrebbe essere concesso solo l'accesso necessario per svolgere il proprio lavoro.

Task di sicurezza iniziali

Utilizzare questa lista di controllo per identificare i task eseguiti per proteggere l'hub connettore in una nuova tenancy di Oracle Cloud Infrastructure.

Attività Ulteriori informazioni
Utilizzare i criteri IAM per concedere l'accesso a utenti e risorse Criteri IAM

Task di sicurezza di routine

Dopo aver iniziato a utilizzare Connector Hub, utilizzare questa lista di controllo per identificare i task di sicurezza che si consiglia di eseguire regolarmente.

L'hub connettore non dispone di task di sicurezza da eseguire regolarmente.

Criteri IAM

Utilizzare i criteri per limitare l'accesso all'hub connettore.

Una policy specifica chi può accedere alle risorse di Oracle Cloud Infrastructure e come. Per ulteriori informazioni, vedere Funzionamento dei criteri.

Assegnare a un gruppo i privilegi minimi necessari per eseguire le proprie responsabilità. Ogni criterio ha un verbo che descrive le azioni che il gruppo può eseguire. Dal minor numero di accessi al massimo, i verbi disponibili sono: inspect, read, use e manage.

Criteri di accesso utente

Per utilizzare i connettori, un utente deve trovarsi in un gruppo e un criterio deve concedere a tale gruppo l'autorizzazione appropriata all'interno del compartimento o della tenancy.

Crea, aggiorna ed elimina connettori (senza code o flussi)

Consenti al gruppo specificato di creare, aggiornare ed eliminare i connettori nel compartimento specificato.

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

Aggiorna solo connettori (senza code o flussi)

Consenti al gruppo specificato di aggiornare i connettori solo nel compartimento specificato. Il gruppo non può creare o eliminare connettori.

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

Crea, aggiorna ed elimina connettori con code

Consentire al gruppo specificato di leggere le code nel compartimento specificato e creare e aggiornare connettori che utilizzano un'origine coda o una destinazione coda. Consente inoltre al gruppo di eliminare i connettori nel compartimento specificato.

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

Crea, aggiorna ed elimina connettori con flussi

Consentire al gruppo specificato di leggere i flussi e i pool di flussi nel compartimento specificato e creare e aggiornare connettori che utilizzano un'origine di streaming o una destinazione di streaming. Consente inoltre al gruppo di eliminare i connettori nel compartimento specificato.

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

Per ulteriori informazioni sui criteri dell'hub connettore, vedere Dettagli per l'hub connettore.

Criteri di accesso servizio

Nota

Assicurarsi che qualsiasi criterio creato sia conforme alle linee guida dell'azienda.

Per spostare i dati, il connettore deve disporre dell'autorizzazione per accedere alle risorse specificate nei servizi di origine , task e destinazione . Alcune risorse sono accessibili senza criteri. I criteri predefiniti che forniscono l'autorizzazione richiesta vengono offerti quando si utilizza la console per definire un connettore. Questi criteri sono limitati al contesto del connettore. È possibile accettare i criteri predefiniti o assicurarsi di disporre delle autorizzazioni appropriate nei criteri personalizzati per l'accesso di utenti e servizi.

Ad esempio, il criterio predefinito riportato di seguito viene offerto quando si crea o si modifica un connettore che sposta i dati da Log a Monitoraggio.

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

Per ulteriori informazioni, inclusi i criteri predefiniti, vedere Accesso ai servizi di origine, task e destinazione.

Accesso al connettore cross-tenancy

Utilizzare l'accesso del connettore cross-tenancy per condividere i connettori con un'altra organizzazione che dispone di una propria tenancy. Ad esempio, condividere i connettori con un'altra business unit della società, un cliente della società o una società che fornisce servizi alla società.

Nota

Per creare un connettore che accede alle risorse in altre tenancy, è necessario utilizzare l'SDK, l'interfaccia CLI o l'API OCI. La Costruzione guidata criteri nella console non fornisce informazioni da altre tenancy né suggerisce istruzioni di approvazione, ammissione o definizione. Per istruzioni sull'interfaccia CLI e sull'interfaccia API, vedere Creating a Connector.

Per accedere e condividere le risorse, gli amministratori di entrambe le tenancy devono creare istruzioni criteri speciali che specifichino in modo esplicito le risorse a cui è possibile accedere e condividere. Queste istruzioni speciali utilizzano le parole Definisci, Approva e Ammetti. Per ulteriori informazioni su queste istruzioni, vedere Criteri di accesso tra tenancy.

Istruzioni criteri tenancy di origine

Utilizzare un'istruzione criterio nella tenancy di origine per:

  • Ammettere un connettore da una tenancy di destinazione per accedere alle risorse nella tenancy (di origine)
  • Approvare un connettore per accedere alle risorse nella tenancy di destinazione
  • Approvare un gruppo per accedere alle risorse nella tenancy di destinazione
Nota

Le seguenti istruzioni dei criteri di esempio sono formattate per la leggibilità. Prima di utilizzare copie di queste istruzioni, rimuovere nuove righe, tabulazioni e spazi.
Ammettere qualsiasi connettore dalla tenancy di destinazione per accedere a un tipo specifico di risorsa nella tenancy (di origine)
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>' 
    }
Per esempi, vedere Esempi. Per trovare le autorizzazioni necessarie per un tipo specifico di risorsa a cui accede un connettore, vedere Criteri predefiniti.
Approvare un gruppo nella tenancy (di origine) per eseguire qualsiasi operazione con qualsiasi connettore in qualsiasi tenancy
Endorse group <group_name> to manage serviceconnectors in any-tenancy
Approvare un gruppo nella tenancy (di origine) per eseguire qualsiasi operazione solo con qualsiasi connettore nella tenancy di destinazione
Per scrivere un criterio che riduce l'ambito dell'accesso alla tenancy, l'amministratore di origine deve fare riferimento all'OCID della tenancy di destinazione fornito dall'amministratore di destinazione.
Define tenancy DestinationTenancy as <destination_tenancy_OCID>
Endorse group <group_name> to read serviceconnectors in tenancy DestinationTenancy

Istruzioni criteri tenancy di destinazione

Utilizzare un'istruzione criterio nella tenancy di destinazione per:

  • Approvare un connettore per accedere alle risorse nella tenancy di origine
  • Ammettere un connettore dalla tenancy di origine per accedere alle risorse nella tenancy (destinazione)
  • Ammettere un gruppo o un gruppo dinamico dalla tenancy di origine per accedere alle risorse nella tenancy (destinazione)
Nota

Le seguenti istruzioni dei criteri di esempio sono formattate per la leggibilità. Prima di utilizzare copie di queste istruzioni, rimuovere nuove righe, tabulazioni e spazi.
Approvare qualsiasi connettore nella tenancy (destinazione) per accedere a un tipo specifico di risorsa nella tenancy di origine
Define tenancy SourceTenancy as <source_tenancy_OCID>
Endorse any-user to <permissions_for_resource_kind> in tenancy SourceTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Per esempi, vedere Esempi. Per trovare le autorizzazioni necessarie per un tipo specifico di risorsa a cui accede un connettore, vedere Criteri predefiniti.
Consente di ammettere un gruppo della tenancy di origine per eseguire qualsiasi operazione con qualsiasi connettore nella tenancy (destinazione)
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
Ammettere un gruppo dalla tenancy di origine per leggere i connettori solo nel compartimento SharedConnectors (nella tenancy di destinazione)
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
Ammettere un gruppo dinamico dalla tenancy di origine per leggere i connettori solo nel compartimento SharedConnectors (nella tenancy di destinazione)
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
Per trovare le autorizzazioni necessarie per un tipo specifico di risorsa a cui accede un gruppo dinamico, vedere Criteri personalizzati.

Esempi

Nota

  • Scrivere i criteri cross-tenancy prima di creare il connettore. Per creare un connettore cross-tenancy, è necessario utilizzare l'SDK, l'interfaccia CLI o l'API OCI.
  • Le seguenti istruzioni dei criteri di esempio sono formattate per garantire la leggibilità. Prima di utilizzare copie di queste istruzioni, rimuovere nuove righe, tabulazioni e spazi.
  • Per approvare o ammettere un connettore per l'accesso a una risorsa di origine, destinazione o task non coperta in questi esempi, utilizzare le autorizzazioni delle risorse nei criteri predefiniti.
Origine flusso in un'altra tenancy

Scrivere i criteri per consentire a un connettore di spostare i dati da un flusso in una tenancy diversa a un bucket nella tenancy del connettore.


Origine flusso in un'altra tenancy
Callout descrizione;
1 Flusso utilizzato come origine connettore
2 Connettore che sposta i dati dal flusso al bucket
3 Bucket utilizzato come destinazione connettore

Di seguito sono riportati i criteri per lo spostamento di questi dati dal flusso nella tenancy A al bucket nella tenancy B, utilizzando il connettore nella tenancy B.

Tenancy A
Ammettere qualsiasi connettore nel compartimento specificato della tenancy B per accedere a qualsiasi flusso nel compartimento specificato di questa tenancy.
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>' 
    }
Tenancy B
Approvare qualsiasi connettore in questa tenancy per accedere a qualsiasi flusso nella tenancy 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' 
    }
Consentire a qualsiasi connettore nel compartimento specificato di questa tenancy di spostare i dati nel bucket (stessa tenancy).
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>'
    }
Origine log in un'altra tenancy

Scrivere i criteri per consentire a un connettore di spostare i dati da un log in una tenancy diversa a un gruppo di log nella tenancy del connettore.


Origine log in un'altra tenancy
Callout descrizione;
1 Log utilizzato come origine connettore
2 Connettore che sposta i dati dal log al gruppo di log
3 Gruppo di log utilizzato come destinazione connettore
Tenancy A
Ammettere qualsiasi connettore nel compartimento specificato della tenancy B per accedere a qualsiasi log nel compartimento specificato di questa tenancy.
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>' 
    }
Tenancy B
Approvare qualsiasi connettore in questa tenancy per accedere a qualsiasi login della tenancy A.
Define tenancy LogTenancy as <tenancy_a_OCID>
Endorse any-user to read log-content in tenancy LogTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Consentire a qualsiasi connettore nel compartimento specificato di questa tenancy di spostare i dati nel gruppo di log (stessa tenancy).
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>
    }
Destinazione funzione in un'altra tenancy

Scrivere i criteri per un connettore per spostare i dati da un log della tenancy del connettore a una funzione in una tenancy diversa.


Destinazione funzione in un'altra tenancy
Callout descrizione;
1 Log utilizzato come origine connettore
2 Connettore che sposta i dati dal log alla funzione
3 Funzione utilizzata come destinazione connettore
Tenancy A
Approvare qualsiasi connettore nel compartimento specificato di questa tenancy per accedere a qualsiasi funzione nel compartimento specificato della tenancy 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' 
    }
Consentire a qualsiasi connettore nel compartimento specificato di questa tenancy di accedere a qualsiasi log (stessa tenancy).
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>'
    }
Tenancy B
Ammettere qualsiasi connettore nella tenancy A per accedere a qualsiasi funzione in questa tenancy.
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' 
    }
Metrica di origine e bucket di destinazione in altre tenancy

Scrivere i criteri per un connettore per spostare i dati da una metrica in una tenancy (A) diversa a una funzione in una tenancy (C) diversa.


Metrica di origine e bucket di destinazione in altre tenancy
Callout descrizione;
1 Metrica utilizzata come origine connettore
2 Connettore che sposta i dati dalla metrica al bucket
3 Bucket utilizzato come destinazione connettore
Tenancy A
Ammettere qualsiasi connettore nel compartimento specificato della tenancy B per accedere a qualsiasi metrica nel compartimento specificato di questa tenancy.
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>' 
    }
Tenancy B
Approvare qualsiasi connettore in questa tenancy per accedere a qualsiasi metrica nella tenancy A.
Define tenancy MetricTenancy as <tenancy_a_OCID>
Endorse any-user to read metrics in tenancy MetricTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Approvare qualsiasi connettore in questa tenancy per accedere a qualsiasi bucket nella tenancy C.
Define tenancy BucketTenancy as <tenancy_c_OCID>
Endorse any-user to manage objects in tenancy BucketTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Tenancy C
Ammettere qualsiasi connettore nel compartimento specificato della tenancy B per spostare i dati in qualsiasi bucket nel compartimento specificato di questa tenancy.
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>' 
    }