Servidores MCP de Ferramentas de Banco de Dados

Políticas para Servidor MCP

As políticas do Servidor MCP do Database Tools dependem do seguinte:

  • a identidade de runtime do Servidor MCP
  • a identidade de runtime da Conexão do Database Tools
  • o método de autenticação do banco de dados
  • o escopo da política (Recurso ou Compartimento)

O diagrama a seguir mostra como o Servidor MCP do Serviço Database Tools usa a identidade de runtime configurada para acessar recursos do OCI. Dependendo da configuração de identidade de runtime, o acesso a recursos do OCI é executado usando a identidade de usuário autenticada (token Em Nome de) ou o controlador de recursos do Servidor MCP.

Esta imagem mostra como o Servidor MCP usa a identidade de runtime configurada para acessar recursos do OCI.

Permissões Obrigatórias do Serviço IAM

As políticas do serviço IAM usam a seguinte sintaxe:

Allow <subject> to <verb> <resource-type> in <location> where <conditions>

As políticas do IAM definem quais usuários, grupos ou controladores de recursos podem acessar recursos do Servidor MCP e serviços do OCI relacionados. A tabela a seguir lista as permissões do IAM necessárias para o Servidor MCP do Database Tools.

Verbo Tipo de Recurso Descrição Obrigatório quando Assunto Local
usar database-tools-mcp-servidores-invocação Permite que os usuários chamem o Servidor MCP Sempre Usuários MCP Tenancy ou Compartimento
usar conexões de ferramentas de banco de dados Permite o uso de conexões do serviço Database Tools Sempre Usuários MCP ou Servidor MCP Tenancy ou Compartimento
usar database-tools-db-connect-obo Permite que o Servidor MCP obtenha tokens de banco de dados em nome dos usuários Usando a autenticação de Token Servidor MCP Tenancy
usar conexões de banco de dados Permite autenticação de banco de dados baseada no IAM Usando a autenticação de Token Usuários MCP Tenancy ou Compartimento
usar database-tools-runtime-work-requests Permite solicitações assíncronas de longa execução Usando solicitações assíncronas Usuários MCP ou Servidor MCP Tenancy ou Compartimento
ler pacotes de segredos Permite acesso a segredos do Vault Usando autenticação baseada em senha ou um armazenamento de chaves Usuários MCP ou Servidor MCP ou Conexão Tenancy ou Compartimento
usar buckets Permite acesso a buckets do serviço Object Storage Usando solicitações assíncronas Usuários MCP ou Servidor MCP ou Conexão Tenancy ou Compartimento
gerenciar objetos Permite criação e gerenciamento de objetos Usando solicitações assíncronas Usuários MCP ou Servidor MCP ou Conexão Tenancy ou Compartimento

Modelos de Identidade de Runtime

As políticas necessárias dependem da configuração de identidade de runtime.

  • Identidade de Runtime do Servidor MCP

    Determina qual identidade o Servidor MCP usa ao acessar recursos.

    • Authenticated_Principal: As solicitações são executadas usando a identidade do usuário conectado.

    • Resource_Principal: As solicitações são executadas usando a identidade do Servidor MCP.

  • Identidade de Runtime de Conexão

    Determina qual identidade é usada para acesso ao banco de dados.

    • Authenticated_Principal: O acesso ao banco de dados usa a identidade do usuário.

    • Resource_Principal: O acesso ao banco de dados usa a identidade do recurso Conexão do Serviço Database Tools.

  • Tipos de autenticação

    • Token: Usa autenticação baseada em token do serviço IAM.

    • Senha: Usa a autenticação de nome de usuário e senha do banco de dados.

  • Escopo da Política

    As políticas podem ser aplicadas no nível do recurso ou do compartimento.

    • Recurso: Restringe o acesso a um recurso específico.

    • Compartimento: Permite acesso a todos os recursos correspondentes no compartimento.

Configurações de Política

Escolha a configuração que corresponde ao seu modelo de implantação.

Opção 1

  • Identidade de runtime do Servidor MCP: AUTHENTICATED_PRINCIPAL
  • Identidade de runtime da conexão: AUTHENTICATED_PRINCIPAL
  • Tipo de autenticação: TOKEN

Instruções de Política do Escopo de Recursos

allow any-user to use database-tools-db-connect-obo in tenancy
where request.principal.id = '<mcp-server-ocid>'

allow group '<domain_name>/<group_name>' to use database-tools-mcp-servers-invocation
in compartment <compartment_name> where target.resource.id = '<mcp-server-ocid>'

allow group '<domain_name>/<group_name>' to use database-connections
in compartment <compartment_name> where target.database.id = '<database-ocid>'

allow group '<domain_name>/<group_name>' to use database-tools-connections
in compartment <compartment_name> where target.resource.id = '<connection-ocid>'

Opcional: Obrigatório somente quando segredos ou armazenamentos de chaves são usados.

allow group '<domain_name>/<group_name>' to read secret-bundles in compartment <compartment_name> 
where target.secret.id = '<secret-ocid>'

Instruções de Política de Escopo de Compartimento

allow any-user to use database-tools-db-connect-obo in tenancy
where all {request.principal.type = 'databasetoolsmcpserver', 
request.principal.compartment.id = '<compartment-ocid>'}

allow group '<domain_name>/<group_name>' to use database-tools-mcp-servers-invocation
in compartment <compartment_name>

allow group '<domain_name>/<group_name>' to use database-connections
in compartment <compartment_name>

allow group '<domain_name>/<group_name>' to use database-tools-connections
in compartment <compartment_name>

Opcional: Obrigatório somente quando segredos ou armazenamentos de chaves são usados.

allow group '<domain_name>/<group_name>' to read secret-bundles 
in compartment <compartment_name>

Opção 2

  • Identidade de runtime do Servidor MCP: AUTHENTICATED_PRINCIPAL
  • Identidade de runtime da conexão: AUTHENTICATED_PRINCIPAL
  • Tipo de autenticação: SENHA

Instruções de Política do Escopo de Recursos

allow group 'domain_name'/'group_name' to use database-tools-mcp-servers-invocation
in compartment <compartment_name> where target.resource.id = '<mcp-server-ocid>'

allow group 'domain_name'/'group_name' to use database-tools-connections in 
compartment <compartment_name> where target.resource.id = '<connection-ocid>'

Opcional: Obrigatório quando as credenciais de senha são armazenadas no serviço Vault.


allow group 'domain_name'/'group_name' to read secret-bundles in compartment <compartment_name> 
where any { 
target.secret.id = '<secret-ocid-1>', 
target.secret.id = '<secret-ocid-2>' }

Instruções de Política de Escopo de Compartimento

allow group '<domain_name>/<group_name>' to use database-tools-mcp-servers-invocation
in compartment <compartment_name>

allow group '<domain_name>/<group_name>' to use database-tools-connections
in compartment <compartment_name>

Opcional: Obrigatório quando as credenciais de senha são armazenadas no serviço Vault.


allow group '<domain_name>/<group_name>' to read secret-bundles in compartment <compartment_name>

Opção 3

  • Identidade de runtime do Servidor MCP: AUTHENTICATED_PRINCIPAL
  • Identidade de runtime da conexão: RESOURCE_PRINCIPAL
  • Tipo de autenticação: TOKEN

Instruções de Política do Escopo de Recursos

allow any-user to use database-tools-db-connect-obo in tenancy
where request.principal.id = '<mcp-server-ocid>'

allow group '<domain_name>/<group_name>' to use database-tools-mcp-servers-invocation
in compartment <compartment_name> where target.resource.id = '<mcp-server-ocid>'

allow group '<domain_name>/<group_name>' to use database-connections
in compartment <compartment_name> where target.database.id = '<database-ocid>'

allow group '<domain_name>/<group_name>' to use database-tools-connections
in compartment <compartment_name> where target.resource.id = '<connection-ocid>'

Opcional: Obrigatório somente para solicitações assíncronas, acesso ao serviço Vault ou Armazenamento de Objetos.

--Work Requests
allow group '<domain_name>/<group_name>' to use database-tools-runtime-work-requests
in compartment <compartment_name>
where target.resource.created-by-principal-id = request.principal.id

--Vault Secrets
allow any-user to read secret-bundles in compartment <compartment_name> 
where all {
  request.principal.id = '<connection-ocid>',
  target.secret.id = '<secret-ocid>'}

--Object Storage
allow any-user to use buckets in compartment <compartment_name>
where all {
  request.principal.id = '<connection-ocid>',
  target.bucket.name = '<bucket-name>'}

allow any-user to manage objects in compartment <compartment_name>
where all {
  request.principal.id = '<connection-ocid>',
  target.bucket.name = '<bucket-name>'}

Instruções de Política de Escopo de Compartimento

allow any-user to use database-tools-db-connect-obo in tenancy 
where request.principal.id = '<mcp-server-ocid>'

allow group '<domain_name>/<group_name>' to use 
database-tools-mcp-servers-invocation in compartment <compartment_name>

allow group '<domain_name>/<group_name>' to use 
database-connections in compartment <compartment_name>

allow group '<domain_name>/<group_name>' to use 
database-tools-connections in compartment <compartment_name>

Opcional: Obrigatório somente para solicitações assíncronas, acesso ao serviço Vault ou Armazenamento de Objetos.

--Work Requests
allow group '<domain_name>/<group_name>' to use 
database-tools-runtime-work-requests in compartment <compartment_name>

--Vault Secrets
allow any-user to read secret-bundles in compartment <compartment_name> 
where request.principal.id = '<connection-ocid>'

--Object Storage
allow any-user to use buckets in compartment <compartment_name> 
where request.principal.id = '<connection-ocid>'

allow any-user to manage objects in compartment <compartment_name> 
where request.principal.id = '<connection-ocid>'

Opção 4

  • Identidade de runtime do Servidor MCP: RESOURCE_PRINCIPAL
  • Identidade de runtime da conexão: RESOURCE_PRINCIPAL
  • Tipo de autenticação: SENHA

Instruções de Política do Escopo de Recursos

allow group '<domain_name>/<group_name>' to use database-tools-mcp-servers-invocation
in compartment <compartment_name> where target.resource.id = '<mcp-server-ocid>'

allow any-user to use database-tools-connections in compartment <compartment_name>
where all {
  request.principal.id = '<mcp-server-ocid>',
  target.resource.id = '<connection-ocid>'
}

Opcional: Obrigatório somente para solicitações assíncronas, segredos do serviço Vault ou Armazenamento de Objetos.

--Work Requests
allow any-user to use database-tools-runtime-work-requests
in compartment <compartment_name>
where all {
  request.principal.id = '<mcp-server-ocid>',
  target.resource.created-by-principal-id = request.principal.id
}

--Vault Secrets
allow any-user to read secret-bundles in compartment <compartment_name>
where all {
  request.principal.id = '<connection-ocid>',
  target.secret.id = '<secret-ocid-1>'
}

allow any-user to read secret-bundles in compartment <compartment_name>
where all {
  request.principal.id = '<connection-ocid>',
  target.secret.id = '<secret-ocid-2>'
}

--Object Storage
allow any-user to use buckets in compartment <compartment_name>
where all {
  request.principal.id = '<connection-ocid>',
  target.bucket.name = '<bucket-name>'
}

allow any-user to manage objects in compartment <compartment_name>
where all {
  request.principal.id = '<connection-ocid>',
  target.bucket.name = '<bucket-name>'
}

Instruções de Política de Escopo de Compartimento

allow group '<domain_name>/<group_name>' to use database-tools-mcp-servers-invocation
in compartment <compartment_name>

allow any-user to use database-tools-connections in compartment <compartment_name>
where request.principal.id = '<mcp-server-ocid>'

Opcional: Obrigatório somente para solicitações assíncronas, segredos do serviço Vault ou Armazenamento de Objetos.

--Work Requests
allow any-user to use database-tools-runtime-work-requests in compartment <compartment_name>
where request.principal.id = '<mcp-server-ocid>'

--Vault Secrets
allow any-user to read secret-bundles in compartment <compartment_name>
where request.principal.id = '<connection-ocid>'

--Object Storage
allow any-user to use buckets in compartment <compartment_name>
where request.principal.id = '<connection-ocid>'

allow any-user to manage objects in compartment <compartment_name>
where request.principal.id = '<connection-ocid>'
Variáveis Específicas do Serviço

Use essas variáveis específicas do serviço nas condições da política do IAM para restringir o acesso a recursos específicos, por exemplo, um segredo do Vault ou bucket do Object Storage específico.

Recurso Variável
Conexão do Serviço Database Tools target.resource.id
Servidor MCP das Ferramentas de Banco de Dados target.resource.id
Conexão com o Banco de Dados target.resource.id
Autonomous Database

target.id

Consulte Detalhes de Política do Autonomous Database.

Autonomous Database Dedicado

target.database.id

Consulte Usar Autenticação do IAM com o Autonomous AI Database.

Banco de Dados Plugável Somente as variáveis gerais são suportadas.

Para obter mais informações, consulte Detalhes do Serviço Database.

Segredo do Vault target.secret.id

Consulte Detalhes do Serviço Vault, Key Management e Secret Management.

Armazenamento de Objetos

target.bucket.name

target.object.name

Consulte Detalhes dos Serviços Object Storage e Archive Storage.

Políticas de IAM com Menos Privilégios para Administradores de MCP

Esta seção descreve as políticas do IAM e as atribuições de domínio de identidades necessárias para que os administradores gerenciem Servidores MCP, Conjuntos de Ferramentas e Conexões do Database Tools.

Domínio Padrão

Para gerenciar Servidores MCP, um usuário deve pertencer a um grupo do IAM no Domínio de Identidades Padrão ao qual são concedidas as políticas listadas abaixo.

Substitua <group_name> e <compartment> pelos seus valores.

Política Nível de Acesso
permitir que o grupo <group_name> gerencie database-tools-mcp-family no compartimento <compartment> Gerenciar Servidores MCP do Database Tools, Conjuntos de Ferramentas MCP, Conexões do Database Tools e Pontos Finais Privados do Database Tools
permitir que o grupo <group_name> use vaults no compartimento <compartment> Obrigatório para trabalhar com recursos do Vault usados para segredos.
permitir que o grupo <group_name> use chaves no compartimento <compartment> Obrigatório para trabalhar com chaves de criptografia do serviço Vault usadas por segredos.
permitir que o grupo <group_name> gerencie secret-family no compartimento <compartment> Criar, atualizar e excluir segredos do Vault referenciados por conexões ou configuração do MCP Server.
permitir que o grupo <group_name> gerencie virtual-network-family no compartimento <compartment> Obrigatório para criar e gerenciar pontos finais privados do Serviço Database Tools.
permitir que o grupo <group_name> leia autonomous-database-family no compartimento <compartment> Obrigatório para obter o nome para exibição do Autonomous Database.
permitir que o grupo <group_name> leia database-family no compartimento <compartment> Obrigatório para obter o nome para exibição de bancos de dados e bancos de dados plugáveis.
permitir que o grupo <group_name> gerencie o domínio no compartimento <compartment> Obrigatório somente se você precisar registrar clientes MCP (por exemplo, criar aplicativos integrados) em um domínio de identidades.

Você não precisa de todas as permissões concedidas pelo domínio de gerenciamento, apenas a permissão DOMAIN_RESOURCES_ADMINISTER é obrigatória.

Domínio de Identidades

Para um usuário em um domínio de identidades específico, a tabela a seguir lista as instruções de política necessárias.

Política Nível de Acesso
permitir que o grupo <identity_domain_name>/<group_name> gerencie database-tools-mcp-family no compartimento <compartment> Gerenciar Servidores MCP do Database Tools, Conjuntos de Ferramentas MCP, Conexões do Database Tools e Pontos Finais Privados do Databse Tools
permitir que o grupo <identity_domain_name>/<group_name> use vaults no compartimento <compartment> Obrigatório para trabalhar com recursos do Vault usados para segredos.
permitir que o grupo<identity_domain_name>/<group_name> use chaves no compartimento <compartment> Obrigatório para trabalhar com chaves de criptografia do serviço Vault usadas por segredos.
permitir que o grupo <identity_domain_name>/<group_name> gerencie secret-family no compartimento <compartment> Criar, atualizar e excluir segredos do Vault referenciados por conexões ou configuração do MCP Server.
permitir que o grupo <identity_domain_name>/<group_name> gerencie virtual-network-family no compartimento <compartment> Obrigatório para criar e gerenciar pontos finais privados do Serviço Database Tools.
permitir que o grupo <identity_domain_name>/<group_name> leia autonomous-database-family no compartimento <compartment> Obrigatório para obter o nome para exibição do Autonomous Database.
permitir que o grupo <identity_domain_name>/<group_name> leia database-family no compartimento <compartment> Obrigatório para obter o nome para exibição de bancos de dados e bancos de dados plugáveis.

Atribuições do Domínio de Identidades

Para gerenciar Clientes MCP de Servidores MCP a, o usuário em um Domínio de Identidades requer a atribuição Administrador de Aplicativo ou Administrador de Domínio de Identidades.

Consulte Designando Usuários a Atribuições para obter informações sobre a designação de usuários a atribuições de administrador.

Atribuição Descrição
Administrador de Aplicativos Os Administradores de Aplicativos podem gerenciar aplicativos no domínio de identidades. Eles podem criar, atualizar, ativar, desativar e excluir aplicativos.
Administrador de Domínio de Identidades Os administradores de domínio de identidades têm privilégios de superusuário para um domínio de identidades. Eles podem gerenciar usuários, grupos, aplicativos e definições de configuração do sistema.

MCP - Ferramentas do Administrador do Servidor

Para usar as Ferramentas do Administrador do Servidor MCP, você deve ter a atribuição MCP_Administrator e as políticas do IAM necessárias para executar a operação solicitada.

Nome da Ferramenta Informações Obrigatórias
listCustomAtribuições -
atualizarAtribuiçõesPersonalizadas -
criarMcpToolset O Id do Compartimento é opcional. Padroniza para o Id do Compartimento do Servidor MCP
readMcpToolset Somente lê o conjunto de ferramentas MCP relacionado ao servidor MCP específico.
atualizarMcpToolset Atualiza somente o conjunto de ferramentas MCP relacionado ao servidor MCP específico.
deleteMcpToolset Exclui somente o Conjunto de Ferramentas MCP relacionado ao Servidor MCP específico.
listMcpToolset

O Id do Compartimento é opcional. O padrão é o Id do Compartimento do Servidor MCP.

Retorna apenas o conjunto de ferramentas MCP do servidor MCP específico.

PesquisarMcpToolset

Retorna apenas o conjunto de ferramentas MCP do servidor MCP específico.

moveMcpToolset O Id do Compartimento de destino é obrigatório.
createSqlReport

O Id do Compartimento é opcional. O padrão é o Id do Compartimento do Servidor MCP.

Relatório SQL de leitura O ID do Relatório SQL é obrigatório.
updateSqlReport O ID do Relatório SQL é obrigatório.