Protegendo o Connector Hub

Este tópico fornece informações e recomendações de segurança para o serviço Oracle Cloud Infrastructure Connector Hub.

Responsabilidades de Segurança

Para usar o Connector Hub de forma segura, saiba mais sobre suas responsabilidades de segurança e conformidade.

Em geral, a Oracle fornece segurança de infraestrutura e operações na nuvem, como controles de acesso do operador de nuvem e aplicação de patch de segurança da infraestrutura. Você é responsável por configurar com segurança seus recursos de nuvem. A segurança na nuvem é uma responsabilidade compartilhada entre você e a Oracle.

A Oracle é responsável pelos seguintes requisitos de segurança:

  • Segurança Física: A Oracle é responsável por proteger a infraestrutura global que executa todos os serviços oferecidos no Oracle Cloud Infrastructure. Essa infraestrutura consiste em hardware, software, redes e equipamentos que executam os serviços do Oracle Cloud Infrastructure.

Suas responsabilidades de segurança estão descritas nesta página, que incluem as seguintes áreas:

  • Controle de Acesso: Limite os privilégios o máximo possível. Os usuários devem receber apenas o acesso necessário para executar seu trabalho.

Tarefas iniciais de segurança

Use esta lista de verificação para identificar as tarefas que você executa para proteger o Connector Hub em uma nova tenancy do Oracle Cloud Infrastructure.

Tarefa Mais Informações
Usar políticas de IAM para conceder acesso a usuários e recursos Políticas do serviço IAM

Tarefas de Segurança de Rotina

Depois de se familiarizar com o Connector Hub, use esta lista de verificação para identificar tarefas de segurança que recomendamos que você execute regularmente.

O Connector Hub não tem nenhuma tarefa de segurança que você precise executar regularmente.

Políticas do Serviço IAM

Use políticas para limitar o acesso ao Connector Hub.

Uma política especifica quem pode acessar os recursos do Oracle Cloud Infrastructure e como. Para obter mais informações, consulte Como as Políticas Funcionam.

Designe a um grupo o mínimo de privilégios necessários para executar suas responsabilidades. Cada política tem um verbo que descreve quais ações o grupo tem permissão para executar. Do menor acesso ao máximo, os verbos disponíveis são: inspect, read, use e manage.

Políticas de Acesso do Usuário

Para trabalhar com conectores, um usuário deve estar em um grupo e uma política deve conceder a esse grupo a autorização apropriada no compartimento ou na tenancy.

Criar, atualizar e excluir conectores (sem filas ou fluxos)

Deixe que o grupo especificado crie, atualize e exclua conectores no compartimento especificado.

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

Atualizar somente conectores (sem filas ou streams)

Permitir que o grupo especificado atualize os conectores somente no compartimento especificado. O grupo não pode criar ou excluir conectores.

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

Criar, atualizar e excluir conectores com filas

Permita que o grupo especificado leia filas no compartimento especificado e crie e atualize conectores que usem uma Origem da fila ou um Destino da fila. Permita também que o grupo exclua conectores no compartimento especificado.

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

Criar, atualizar e excluir conectores com streams

Permita que o grupo especificado leia streams e pools de streams no compartimento especificado e crie e atualize conectores que usem uma origem do serviço Streaming ou um destino do serviço Streaming. Permita também que o grupo exclua conectores no compartimento especificado.

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

Para obter mais informações sobre políticas do Connector Hub, consulte Detalhes do Connector Hub.

Políticas de Acesso ao Serviço

Observação

Certifique-se de que qualquer política criada esteja em conformidade com as diretrizes da sua empresa.

Para mover dados, seu conector deve ter autorização para acessar os recursos especificados nos serviços de fonte , tarefa e alvo . Alguns recursos podem ser acessados sem políticas. As políticas padrão que fornecem a autorização necessária são oferecidas quando você usa a Console para definir um conector. Essas políticas se limitam ao contexto do conector. Você pode aceitar as políticas padrão ou garantir que tenha as autorizações apropriadas em políticas personalizadas para acesso de usuário e serviço.

Por exemplo, a política padrão a seguir é oferecida quando você cria ou edita um conector que move dados do serviço Logging para o 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>'
}

Para obter mais informações, incluindo políticas padrão, consulte Acesso a Serviços de Origem, Tarefa e Destino.

Acesso ao Conector entre Tenancies

Use o acesso do conector entre tenancies para compartilhar conectores com outra organização que tenha sua própria tenancy. Por exemplo, compartilhe conectores com outra unidade de negócios da sua empresa, um cliente da sua empresa ou uma empresa que forneça serviços para sua empresa.

Observação

Para criar um conector que acesse recursos em outras tenancies, use o OCI SDK, a CLI ou a API. (O criador de políticas na Console não fornece informações de outras tenancies ou sugere instruções Endossar, Admitir ou Definir.) Para obter instruções sobre CLI e API, consulte Criando um Conector.

Para acessar e compartilhar recursos, os administradores de ambas as tenancies precisam criar instruções de política especiais que declarem explicitamente os recursos que podem ser acessados e compartilhados. Essas instruções especiais usam as palavras Define, Endorse e Admit. Para obter mais informações sobre essas instruções, consulte Políticas de Acesso entre Tenancies.

Instruções da Política da Tenancy de Origem

Use uma instrução de política na tenancy de origem para:

  • Admita um conector de uma tenancy de destino para acessar recursos em sua tenancy (de origem)
  • Endossar um conector para acessar recursos na tenancy de destino
  • Endossar um grupo para acessar recursos na tenancy de destino
Observação

Os exemplos de instruções de política a seguir são formatados para facilitar a leitura. Antes de usar cópias dessas instruções, remova novas linhas, tabulações e espaços.
Admita qualquer conector da tenancy de destino para acessar um tipo específico de recurso em sua tenancy (de origem)
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>' 
    }
Para obter exemplos, consulte Exemplos. Para localizar as permissões necessárias para um tipo específico de recurso acessado por um conector, consulte Políticas Padrão.
Endossar um grupo em sua tenancy (origem) para fazer qualquer coisa com qualquer conector em qualquer tenancy
Endorse group <group_name> to manage serviceconnectors in any-tenancy
Endossar um grupo em sua tenancy (origem) para fazer qualquer coisa com qualquer conector na tenancy de destino somente
Para gravar uma política que reduz o escopo do acesso da tenancy, o administrador de origem deve referenciar o OCID da tenancy de destino fornecido pelo administrador de destino.
Define tenancy DestinationTenancy as <destination_tenancy_OCID>
Endorse group <group_name> to read serviceconnectors in tenancy DestinationTenancy

Instruções da Política da Tenancy de Destino

Use uma instrução de política na tenancy de destino para:

  • Endossar um conector para acessar recursos na tenancy de origem
  • Admita um conector da tenancy de origem para acessar recursos em sua tenancy (destino)
  • Admita um grupo ou grupo dinâmico da tenancy de origem para acessar recursos em sua tenancy (destino)
Observação

Os exemplos de instruções de política a seguir são formatados para facilitar a leitura. Antes de usar cópias dessas instruções, remova novas linhas, tabulações e espaços.
Endossar qualquer conector em sua tenancy (destino) para acessar um tipo específico de recurso na tenancy de origem
Define tenancy SourceTenancy as <source_tenancy_OCID>
Endorse any-user to <permissions_for_resource_kind> in tenancy SourceTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Para obter exemplos, consulte Exemplos. Para localizar as permissões necessárias para um tipo específico de recurso acessado por um conector, consulte Políticas Padrão.
Admita um grupo da tenancy de origem para fazer qualquer coisa com qualquer conector em sua tenancy (destino)
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
Admita um grupo da tenancy de origem para ler conectores somente no compartimento SharedConnectors (na tenancy de destino)
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
Admita um grupo dinâmico na tenancy de origem para ler conectores somente no compartimento SharedConnectors (na tenancy de destino)
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
Para localizar as permissões necessárias para um tipo específico de recurso acessado por um grupo dinâmico, consulte Políticas Personalizadas.

Exemplos

Observação

  • Grave políticas entre tenancies antes de criar o conector. Você deve usar o OCI SDK, a CLI ou a API para criar um conector entre tenancies.
  • Os exemplos de instruções de política a seguir são formatados para facilitar a leitura. Antes de usar cópias dessas instruções, remova novas linhas, tabulações e espaços.
  • Para endossar ou admitir um conector para acesso a um recurso de origem, destino ou tarefa que não seja abordado nesses exemplos, use as permissões de recursos nas políticas padrão.
Origem do Fluxo em Outra Tenancy

Escreva políticas para que um conector mova dados de um stream em outra tenancy para um bucket na tenancy do conector.


Origem do fluxo em outra tenancy
Chamada Descrição
1 Fluxo usado como origem do conector
2 Conector que move dados do stream para o bucket
3 Bucket usado como destino do conector

Veja a seguir as políticas para mover esses dados do stream da Tenancy A para o bucket na Tenancy B, usando o conector na Tenancy B.

Tenancy A
Admita qualquer conector no compartimento especificado da Tenancy B para acessar qualquer stream no compartimento especificado desta 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
Endossar qualquer conector nesta tenancy para acessar qualquer stream na 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' 
    }
Permitir que qualquer conector no compartimento especificado desta tenancy mova dados para o bucket (mesma 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>'
    }
Origem de Log em Outra Tenancy

Escreva políticas para um conector para mover dados de um log em outra tenancy para um grupo de logs na tenancy do conector.


Origem de log em outra tenancy
Chamada Descrição
1 Log usado como origem do conector
2 Conector que move dados do log para o grupo de logs
3 Grupo de logs usado como destino do conector
Tenancy A
Admita qualquer conector no compartimento especificado da Tenancy B para acessar qualquer log no compartimento especificado desta 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
Endossar qualquer conector nesta tenancy para acessar qualquer log na 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' 
    }
Permitir que qualquer conector no compartimento especificado desta tenancy mova dados para o grupo de logs (mesma 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>
    }
Destino da Função em Outra Tenancy

Escreva políticas para que um conector mova dados de um log na tenancy do conector para uma função em outra tenancy.


Destino da função em outra tenancy
Chamada Descrição
1 Log usado como origem do conector
2 Conector que move dados do log para a função
3 Função usada como destino do conector
Tenancy A
Endossar qualquer conector no compartimento especificado desta tenancy para acessar qualquer função no compartimento especificado da 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' 
    }
Permitir que qualquer conector no compartimento especificado desta tenancy acesse qualquer log (mesma 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
Admita qualquer conector na Tenancy A para acessar qualquer função nesta 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' 
    }
Métrica de Origem e Bucket de Destino em Outras Tenancies

Escreva políticas para um conector para mover dados de uma métrica em outra tenancy (A) para uma função em outra tenancy (C).


Métrica de origem e bucket de destino em outras tenancies
Chamada Descrição
1 Métrica usada como origem do conector
2 Conector que move dados da métrica para o bucket
3 Bucket usado como destino do conector
Tenancy A
Admita qualquer conector no compartimento especificado da Tenancy B para acessar qualquer métrica no compartimento especificado desta 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
Endossar qualquer conector nesta tenancy para acessar qualquer métrica na Tenancy A.
Define tenancy MetricTenancy as <tenancy_a_OCID>
Endorse any-user to read metrics in tenancy MetricTenancy
    where all 
    { 
        request.principal.type='serviceconnector' 
    }
Endossar qualquer conector nesta tenancy para acessar qualquer bucket na 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
Admita qualquer conector no compartimento especificado da Tenancy B para mover dados para qualquer bucket no compartimento especificado desta 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>' 
    }