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.

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