Acessando uma Tenancy Cruzada de Banco de Dados Usando uma Integração do Serviço IAM
Usuários e grupos em uma tenancy poderão acessar instâncias de banco de dados DBaaS em outra tenancy se as políticas em ambas as tenancies permitirem isso.
- Sobre o Acesso entre Tenancies para Usuários do IAM para Instâncias do Serviço DBaaS
O acesso entre tenancies a uma instância do DBaaS do OCI (Oracle Cloud Infrastructure) é semelhante a um único cenário de tenancy, exceto que as informações da tenancy são necessárias para mapeamentos e solicitações de token, e uma política é necessária em ambas as tenancies para permitir esse acesso entre recursos do banco de dados da tenancy. - Configurando Políticas
Você deve criar políticas na tenancy do usuário e na tenancy do recurso do banco de dados para permitir acesso ao banco de dados entre tenancies. - Mapeando Esquemas e Atribuições do Banco de Dados para Usuários e Grupos em Outra Tenancy
Quando você executa esse tipo de mapeamento, deve adicionar o OCID da tenancy às informações de mapeamento para que o banco de dados saiba que ele é acesso entre tenancies. - Configurando Clientes de Banco de Dados para Acesso entre Tenancies
Você pode configurar alguns clientes de banco de dados diretamente. - Solicitando Tokens de Tenancy Cruzada Usando a Interface de Linha de Comando do OCI
Adicione o parâmetro--scope
ao comando de interface de linha de comando do OCI (Oracle Cloud Infrastructure) para obter umdb-token
para uma solicitação de tenancy cruzada. Se o banco de dados que você está acessando estiver em uma região diferente da região home da tenancy do usuário, a região também deverá ser adicionada ao comando da CLI do OCI usando o parâmetro --region.
Sobre o Acesso entre Tenancies para Usuários do IAM para Instâncias do Serviço DBaaS
O acesso entre tenancies a uma instância do DBaaS do OCI (Oracle Cloud Infrastructure) é semelhante a um único cenário de tenancy, exceto que as informações da tenancy são necessárias para mapeamentos e solicitações de token, e uma política é necessária em ambas as tenancies para permitir esse acesso a recursos de banco de dados entre tenancies.
A figura a seguir ilustra o processo de acesso entre tenancies a uma instância do OCI DBaaS.
Figura 3-1 Acesso entre Tenancies a uma Instância do OCI DBaaS

Descrição da "Figura 3-1 Acesso entre Tenancies a uma Instância do OCI DBaaS"
O processo entre tenancies é o seguinte:
- A política é necessária em ambas as tenancies para endossar e admitir o acesso entre tenancies.
- O principal do IAM (usuário ou aplicativo) solicita um db-token para um recurso entre tenancies.
- O
db-token
é retornado e usado para acessar o banco de dados em outra tenancy - O banco de dados fará uma consulta de grupo entre tenancies para os grupos do usuário e mapeará o principal para o esquema global e atribuições globais opcionais.
Você deve inscrever a tenancy do usuário nas mesmas regiões em que os bancos de dados estão localizados. Por exemplo, se os bancos de dados na tenancy do banco de dados estiverem nas regiões PHX
e IAD
, você deverá inscrever a tenancy do usuário nessas regiões. Esta não é a região home, apenas as regiões inscritas adicionais na tenancy do usuário.
Configurando Políticas
Você deve criar políticas na tenancy do usuário e na tenancy do recurso do banco de dados para permitir acesso ao banco de dados entre tenancies.
- Configurando a Tenancy do Usuário de Origem
São necessárias duas políticas para permitir acesso entre tenancies na tenancy do usuário. - Configurando a Tenancy do Recurso do Banco de Dados de Destino
A tenancy do banco de dados precisará de políticas de correspondência para permitir o acesso aos usuários da tenancy do usuário, bem como permitir que seus próprios bancos de dados consultem informações do grupo na tenancy do usuário - Exemplos de Política para Acesso entre Tenancies
Os exemplos incluem o uso de uma cláusulaWHERE
para refinar a configuração entre tenancies e outros métodos de execução desse tipo de configuração.
Configurando a Tenancy do Usuário de Origem
São necessárias duas políticas para permitir o acesso entre tenancies na tenancy do usuário.
Tópico principal: Configurando Políticas
Configurando a Tenancy de Recurso do Banco de Dados de Destino
A tenancy do banco de dados precisará de políticas correspondentes para permitir o acesso aos usuários da tenancy do usuário, bem como permitir que seus próprios bancos de dados consultem informações do grupo na tenancy do usuário
any-user
facilite a compreensão das políticas necessárias, a Oracle recomenda que você use restrições mais fortes além de ou em vez de usar any-user
. A opção any-user
permitirá que qualquer principal ou recurso consulte grupos de usuários no user_tenancy
. O ideal é limitar isso apenas para permitir que os recursos do banco de dados (principais de recursos) façam as consultas de grupo. Você pode fazer isso adicionando uma cláusula WHERE
às políticas ou adicionando um grupo dinâmico que a limite aos membros do grupo dinâmico. A definição de todas as formas possíveis de especificar grupos dinâmicos e políticas está fora do escopo deste tópico. Você pode encontrar mais informações a partir destas fontes:
Tópico principal: Configurando Políticas
Exemplos de Política para Acesso entre Tenancies
Os exemplos incluem o uso de uma cláusula WHERE
para refinar a configuração entre tenancies e outros métodos de execução desse tipo de configuração.
Você pode adicionar uma cláusula WHERE
para limitar os recursos de banco de dados permitidos a fazer a consulta de grupo entre tenancies:
ADMIT any-user of tenancy db_tenancy to {GROUP_MEMBERSHIP_INSPECT, AUTHENTICATION_INSPECT} in tenancy where request.principal.type = 'dbsystem'
Essa política de Admissão permite que qualquer Base Database Service (tipo de recurso: dbsystem
) no db_tenancy
consulte as informações de grupo de um usuário da tenancy do usuário. Os nomes dos tipos de recursos estão na tabela abaixo.
Um método semelhante pode ser feito colocando-se o mesmo tipo de recurso em um grupo dinâmico:
dynamic group: db_principals
any {resource.type = 'dbsystem', resource.type = 'vmcluster', resource.type = 'cloudvmcluster'}
O grupo dinâmico no exemplo anterior inclui instâncias de banco de dados para o Oracle Base Database Service (dbsystem
), Oracle Exadata Cloud@Customer (vmcluster
) e Oracle Exadata Database Service (cloudvmcluster
).
Este exemplo usa um grupo dinâmico em vez de any-user
:
ADMIT dynamic group db_principals of tenancy db_tenancy to {GROUP_MEMBERSHIP_INSPECT, AUTHENTICATION_INSPECT} in tenancy
Você também pode adicionar todos os controladores de recursos em um compartimento usando resource.compartment.id
. No entanto, isso também pode permitir que outros controladores de recursos que não sejam de banco de dados façam a consulta entre grupos de tenancies. A tabela a seguir fornece um mapeamento dos vários tipos de recursos com o nome da plataforma DBaaS:
DBaaS Nome da Plataforma | Nome do Tipo de Recurso |
---|---|
ADB-S |
|
ADB-D (OPC) |
|
DBS Base |
|
ExaCS |
|
ExaCC |
|
* As instâncias ADBD mais antigas ainda podem estar usando o tipo de recurso autonomousexainfrastructure
.
Tópico principal: Configurando Políticas
Mapeando Esquemas e Atribuições do Banco de Dados para Usuários e Grupos em Outra Tenancy
Ao executar esse tipo de mapeamento, você deve adicionar o OCID da tenancy às informações de mapeamento para que o banco de dados saiba que é acesso entre tenancies.
CREATE USER
e CREATE ROLE
no SQL*Plus.
Configurando Clientes de Banco de Dados para Acesso entre Tenancies
Você pode configurar alguns clientes de banco de dados diretamente.
A tenancy do banco de dados deverá ser identificada na string de conexão ou em sqlnet.ora
se o cliente estiver configurado para obter diretamente o token de acesso do OCI IAM. Revise a documentação específica do cliente para obter valores de parâmetro específicos (JDBC-thin, ODP.NET-core, managed).
Solicitando Tokens entre Tenancies com a Interface de Linha de Comando do OCI
Adicione o parâmetro --scope
ao comando de interface da linha de comando do OCI (Oracle Cloud Infrastructure) para obter um db-token
para uma solicitação entre tenancies. Se o banco de dados que você está acessando estiver em uma região diferente da região home da tenancy do usuário, a região também deverá ser adicionada ao comando da CLI do OCI usando o parâmetro --region.
Consulte Parâmetros Opcionais para obter mais detalhes sobre o uso dos parâmetros opcionais do comando oci get
.
Você pode fazer o escopo dela para toda a tenancy ou para um compartimento ou banco de dados na tenancy. Ao definir o escopo para compartimento ou banco de dados entre tenancies, você não precisa também adicionar as informações da tenancy porque os OCIDs do compartimento e do banco de dados são exclusivos no OCI.
Certos clientes podem solicitar os tokens diretamente do MSEI. Consulte a documentação deles sobre como definir os parâmetros para obter os tokens de acesso MSEI OAuth2
.