Acessando uma Tenancy Cruzada de Banco de Dados com uma Integração do Serviço IAM
Os 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 a Instâncias DBaaS
O acesso entre tenancies a uma instância do OCI (Oracle Cloud Infrastructure) DBaaS é 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 de banco de dados para permitir o acesso ao banco de dados entre tenancies. - Mapeando Esquemas e Atribuições de Banco de Dados para Usuários e Grupos em Outra Tenancy
Ao executar esse tipo de mapeamento, adicione 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 entre Tenancies Usando a Interface de Linha de Comando do OCI
Você deve adicionar 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 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.
Sobre o Acesso entre Tenancies para Usuários do Serviço IAM com Instâncias DBaaS
O acesso entre tenancies a uma instância 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 de recursos ao 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 DBaaS do OCI

Descrição de "Figura 3-1 Acesso entre Tenancies a uma Instância DBaaS do OCI"
O processo de tenancy cruzada é 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 token de banco de dados 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 as atribuições globais opcionais.
Você deve inscrever a tenancy do usuário nas mesmas regiões nas quais 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
Crie políticas na tenancy do usuário e na tenancy do recurso de banco de dados para permitir o acesso ao banco de dados entre tenancies.
- 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. - Configurando a Tenancy do 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 - 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 para executar esse tipo de configuração.
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.
Tópico pai: Configurando Políticas
Configurando a Tenancy do 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 o entendimento 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
. Idealmente, você deve limitar isso apenas para permitir que os recursos de 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 destas origens:
Tópico pai: Configurando Políticas
Exemplos de Política para Acesso a Tenancy Cruzada
Os exemplos incluem o uso de uma cláusula WHERE
para refinar a configuração entre tenancies e outros métodos de executar esse tipo de configuração.
Você pode adicionar uma cláusula WHERE
para limitar os recursos do banco de dados permitidos para 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 do grupo de um usuário na tenancy do usuário. Os nomes de tipo de recurso 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
), o Oracle Exadata Cloud@Customer (vmcluster
) e o 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 do 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 |
|
* Instâncias ADBD mais antigas ainda podem estar usando o tipo de recurso autonomousexainfrastructure
.
Tópico pai: Configurando Políticas
Mapeando Esquemas e Atribuições de Banco de Dados para Usuários e Grupos em Outra Tenancy
Ao executar esse tipo de mapeamento, adicione o OCID da tenancy às informações de mapeamento para que o banco de dados saiba que ele é 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 valores de parâmetro específicos (JDBC-thin, ODP.NET-core, gerenciado).
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 defini-lo para toda a tenancy ou defini-lo como escopo para um compartimento ou banco de dados na tenancy. Ao definir o escopo do compartimento ou banco de dados entre tenancies, você não precisa adicionar também 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 OAuth2
do MSEI.