Todos os produtos
Search
Central de documentação

Tablestore:Configure access permissions

Última atualização: Sep 25, 2026

O Knowledge Storage e o Memory Storage do AgentStorage oferecem suporte a controle de acesso refinado por meio de políticas RAM em duas dimensões: Ação (API) e Recurso. Restrinja a autorização a um subespaço da base de conhecimento ou a um escopo de memória para isolar o acesso entre várias linhas de negócios, equipes e tenants.

Escopo

As regras de autorização descritas neste tópico aplicam-se às duas categorias de APIs a seguir.

  • APIs do Knowledge Storage: gerencie o Knowledge Storage, documentos, chunks e a recuperação de conhecimento (Retrieve).

  • APIs do Memory Storage: gerencie o Memory Storage, memórias, mensagens e solicitações de memória, Memory Tasks e Dream Tasks.

Sintaxe e elementos de autorização

A RAM policy consiste em quatro elementos: Effect, Action, Resource e Condition. Para a sintaxe geral, consulte RAM policy syntax. Este tópico aborda apenas as partes específicas do Knowledge Storage e do Memory Storage, ou seja, os valores permitidos para Action e o formato do ARN do recurso para Resource.

Action

O elemento Action usa o formato ots:<API name> e aceita o curinga *. Por exemplo, ots:*KnowledgeBase corresponde a todas as operações de gerenciamento do Knowledge Storage, e ots:*Memory* corresponde a todas as operações relacionadas à memória. As tabelas a seguir listam todas as APIs autorizáveis, agrupadas por função.

Knowledge Storage

Grupo de funções

Action

Gerenciamento do Knowledge Storage

ots:CreateKnowledgeBase, ots:DescribeKnowledgeBase, ots:UpdateKnowledgeBase, ots:ListKnowledgeBase, ots:DeleteKnowledgeBase

Gerenciamento de documentos

ots:AddDocuments, ots:GetDocument, ots:ListDocuments, ots:UpdateDocument, ots:DeleteDocuments

Gerenciamento de chunks

ots:ListChunks, ots:UpdateChunks

Recuperação

ots:Retrieve

Memory Storage

Grupo de funções

Action

Gerenciamento do Memory Storage

ots:CreateMemoryStore, ots:GetMemoryStore, ots:UpdateMemoryStore, ots:ListMemoryStores, ots:DeleteMemoryStore

Gerenciamento de memórias

ots:AddMemories, ots:SearchMemories, ots:ListMemories, ots:GetMemory, ots:UpdateMemory, ots:DeleteMemory

Mensagens e solicitações

ots:ListMemoryStoreMessages, ots:ListMemoryStoreRequests, ots:ListMemoryStoreScopes

Memory tasks

ots:GetMemoryTask, ots:ListMemoryTasks

Dream tasks

ots:CreateMemoryDreamTask, ots:GetMemoryDreamTask, ots:ListMemoryDreamTasks, ots:CancelMemoryDreamTask, ots:ApplyMemoryDreamActions, ots:ListMemoryDreamActions

Resource

Todos os ARNs de recurso têm a instância como prefixo. A estrutura geral é a seguinte:

acs:ots:$region:$accountId:instance/$instanceName/<resource path>

Placeholder

Descrição

$region

O ID da região da instância, por exemplo cn-hangzhou. Use * para permitir todas as regiões.

$accountId

O UID da conta da Alibaba Cloud que possui o recurso. Use * para permitir todas as contas.

$instanceName

O nome da instância. Use * para permitir todos os recursos da instância.

<resource path>

O caminho do recurso para o Knowledge Storage ou Memory Storage, construído de acordo com as regras abaixo.

Knowledge Storage

Os recursos do Knowledge Storage aceitam três níveis de autorização, do mais abrangente ao mais restrito, conforme a seguir:

Nível de autorização

Formato do recurso

Escopo correspondente

Nível da instância

acs:ots:$region:$accountId:instance/$instanceName/*

Todo o Knowledge Storage da instância. Operações que não têm como alvo uma base de conhecimento específica, como ListKnowledgeBase, correspondem a este nível.

Nível da base de conhecimento

acs:ots:$region:$accountId:instance/$instanceName/knowledgebase/$knowledgeBaseName

Uma única base de conhecimento especificada, incluindo todos os seus documentos e chunks.

Nível do subespaço

acs:ots:$region:$accountId:instance/$instanceName/knowledgebase/$knowledgeBaseName/subspace/$subspace

Um único subespaço dentro da base de conhecimento especificada.

As palavras-chave do recurso knowledgebase e subspace são valores fixos. $knowledgeBaseName e $subspace são extraídos dos campos de mesmo nome na solicitação. O nível de autorização é determinado pelas seguintes regras:

  • Quando a solicitação não inclui knowledgeBaseName (geralmente uma operação de listagem), a autorização é aplicada no nível da instância .../instance/$instanceName/*.

  • Quando a solicitação inclui um único subspace, a autorização é aplicada no nível do subespaço. Se uma única solicitação envolver vários subespaços, a autorização reverte para o nível da base de conhecimento pai .../knowledgebase/$knowledgeBaseName.

  • Para permitir o acesso a todos os subespaços de uma base de conhecimento, use o curinga .../knowledgebase/$knowledgeBaseName/subspace/* ou autorize no nível da base de conhecimento (que abrange todos os subespaços).

Memory Storage

Os recursos do Memory Storage aceitam três níveis de autorização, do mais abrangente ao mais restrito, conforme a seguir:

Nível de autorização

Formato do recurso

Escopo correspondente

Nível da instância

acs:ots:$region:$accountId:instance/$instanceName/*

Todo o Memory Storage da instância. Operações que não têm como alvo um memory store específico, como ListMemoryStores, correspondem a este nível.

Nível do memory store

acs:ots:$region:$accountId:instance/$instanceName/memorystore/$memoryStoreName/*

Todas as memórias no memory store especificado. Quando a solicitação não inclui scope, a autorização é aplicada neste nível.

Nível do escopo

acs:ots:$region:$accountId:instance/$instanceName/memorystore/$memoryStoreName/appid/$appId/tenantid/$tenantId/agentid/$agentId/runid/$runId

Memórias dentro do escopo especificado do memory store especificado. Quando a solicitação inclui scope, a autorização é aplicada neste nível.

As palavras-chave do recurso memorystore, appid, tenantid, agentid e runid são valores fixos. $memoryStoreName é extraído do campo de mesmo nome na solicitação, enquanto $appId, $tenantId, $agentId e $runId são extraídos dos campos correspondentes do scope da solicitação. Quando a solicitação não inclui memoryStoreName, a autorização é aplicada no nível da instância .../instance/$instanceName/*.

Valores padrão do escopo

Quando a solicitação inclui scope, mas omite um determinado campo, esse campo assume o valor padrão __default__ no recurso de autorização. Por exemplo, se o scope da solicitação especificar apenas appId=app_a, o recurso de autorização é construído da seguinte forma:

acs:ots:$region:$accountId:instance/$instanceName/memorystore/$memoryStoreName/appid/app_a/tenantid/__default__/agentid/__default__/runid/__default__

Ao deixar certas dimensões de escopo sem restrições em uma política RAM, você deve usar o curinga * (por exemplo, .../agentid/*/runid/*) como placeholder explícito. Não omita o nível correspondente, caso contrário, ele corresponderá a __default__ em vez de todos os valores.

Cenários comuns de autorização

Todos os exemplos a seguir usam o nome da instância myinstance. Substitua $accountId pelo ID real da sua conta e ajuste os placeholders de região, nome da base de conhecimento e nome do memory store para corresponder ao seu ambiente.

Acesso somente leitura a uma base de conhecimento específica

A política a seguir permite a recuperação e a consulta na base de conhecimento product_docs_kb e nega todas as operações de gravação.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ots:DescribeKnowledgeBase",
        "ots:GetDocument",
        "ots:ListDocuments",
        "ots:ListChunks",
        "ots:Retrieve"
      ],
      "Resource": [
        "acs:ots:cn-hangzhou:$accountId:instance/myinstance/knowledgebase/product_docs_kb",
        "acs:ots:cn-hangzhou:$accountId:instance/myinstance/knowledgebase/product_docs_kb/subspace/*"
      ]
    }
  ]
}

Isolamento de acesso de gravação por subespaço

A política a seguir permite operações de leitura e gravação em documentos e chunks dentro do subespaço team_a da base de conhecimento product_docs_kb. Os demais subespaços não são afetados.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ots:AddDocuments",
        "ots:GetDocument",
        "ots:ListDocuments",
        "ots:UpdateDocument",
        "ots:DeleteDocuments",
        "ots:ListChunks",
        "ots:UpdateChunks",
        "ots:Retrieve"
      ],
      "Resource": "acs:ots:cn-hangzhou:$accountId:instance/myinstance/knowledgebase/product_docs_kb/subspace/team_a"
    }
  ]
}

Isolamento de acesso à memória por aplicativo

A política a seguir permite o acesso de leitura e gravação a todas as memórias com appId=app_a no memory store agent_mem (independentemente do tenant, agent e execute). As memórias de outros appIds não podem ser acessadas.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ots:AddMemories",
        "ots:SearchMemories",
        "ots:ListMemories",
        "ots:GetMemory",
        "ots:UpdateMemory",
        "ots:DeleteMemory"
      ],
      "Resource": "acs:ots:cn-hangzhou:$accountId:instance/myinstance/memorystore/agent_mem/appid/app_a/tenantid/*/agentid/*/runid/*"
    }
  ]
}

As dimensões irrestritas tenantid, agentid e runid devem ser definidas explicitamente com * e não podem ser omitidas. Para entender o motivo, consulte a nota sobre valores padrão do escopo acima.

Administração total em uma instância

A política a seguir permite todas as operações em todos os recursos relacionados da instância myinstance.

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ots:*KnowledgeBase",
        "ots:*Document*",
        "ots:*Chunks",
        "ots:Retrieve",
        "ots:*Memory*"
      ],
      "Resource": "acs:ots:cn-hangzhou:$accountId:instance/myinstance/*"
    }
  ]
}

Observações

  • O prefixo do recurso é sempre a instância: Os ARNs de recurso devem começar com acs:ots:$region:$accountId:instance/$instanceName/. Nem o Knowledge Storage nem o Memory Storage admitem recursos entre instâncias.

  • O recurso pai abrange os recursos filhos: Um recurso de nível superior abrange inerentemente seus sub-recursos. A autorização no nível da base de conhecimento abrange todos os seus subespaços; a autorização no nível do memory store memorystore/$store/* abrange todos os seus escopos. Para um controle mais refinado, use o nível do subespaço ou do escopo.

  • A conta primária não está sujeita às políticas: As políticas acima aplicam-se apenas a usuários e funções RAM. A conta primária (Root) mantém permissões totais em seus próprios recursos por padrão.