Tous les produits
Search
Centre de documentation

Tablestore:Configure access permissions

Dernière mise à jour :Sep 25, 2026

AgentStorage Knowledge Storage et Memory Storage prennent en charge un contrôle d'accès granulaire via des politiques RAM selon deux dimensions : Action (API) et Resource. Vous pouvez restreindre l'autorisation à un sous-espace de base de connaissances ou à une portée de mémoire afin d'isoler l'accès entre plusieurs lignes métier, équipes et locataires.

Portée

Les règles d'autorisation décrites dans cette rubrique s'appliquent aux deux catégories d'API suivantes.

  • API Knowledge Storage : gérer Knowledge Storage, Documents, Chunks et la récupération de connaissances (Retrieve).

  • API Memory Storage : gérer Memory Storage, Memories, les messages et requêtes de mémoire, Memory Tasks et Dream Tasks.

Syntaxe et éléments d'autorisation

Politique RAM se compose de quatre éléments : Effect, Action, Resource et Condition. Pour la syntaxe générale, consultez Syntaxe des politiques RAM. Cette rubrique couvre uniquement les parties spécifiques à Knowledge Storage et Memory Storage, à savoir les valeurs autorisées pour Action et le format ARN de ressource pour Resource.

Action

L'élément Action prend le format ots:<nom API> et prend en charge le caractère générique *. Par exemple, ots:*KnowledgeBase correspond à toutes les opérations de gestion de Knowledge Storage, et ots:*Memory* correspond à toutes les opérations liées à la mémoire. Les tableaux suivants répertorient toutes les API pouvant faire l'objet d'une autorisation, regroupées par fonction.

Knowledge Storage

Groupe de fonctions

Action

Gestion de Knowledge Storage

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

Gestion des documents

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

Gestion des chunks

ots:ListChunks, ots:UpdateChunks

Récupération

ots:Retrieve

Memory Storage

Groupe de fonctions

Action

Gestion de Memory Storage

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

Gestion des mémoires

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

Messages et requêtes

ots:ListMemoryStoreMessages, ots:ListMemoryStoreRequests, ots:ListMemoryStoreScopes

Tâches de mémoire

ots:GetMemoryTask, ots:ListMemoryTasks

Tâches Dream

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

Resource

Tous les ARN de ressources sont préfixés par l'instance. La structure globale est la suivante.

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

Espace réservé

Description

$region

L'ID de région de l'instance, par exemple cn-hangzhou. Utilisez * pour autoriser toutes les régions.

$accountId

L'UID du compte Alibaba Cloud propriétaire de la ressource. Utilisez * pour autoriser tous les comptes.

$instanceName

Le nom de l'instance. Utilisez * pour autoriser toutes les ressources sous l'instance.

<resource path>

Le chemin d'accès à la ressource pour Knowledge Storage ou Memory Storage, construit selon les règles ci-dessous.

Knowledge Storage

Les ressources Knowledge Storage prennent en charge trois niveaux d'autorisation, du plus grossier au plus fin, comme suit.

Niveau d'autorisation

Format de ressource

Portée correspondante

Niveau instance

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

Tout Knowledge Storage sous l'instance. Les opérations qui ne ciblent pas une base de connaissances spécifique, telles que ListKnowledgeBase, correspondent à ce niveau.

Niveau base de connaissances

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

Une seule base de connaissances spécifiée, y compris tous ses documents et chunks.

Niveau sous-espace

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

Un seul sous-espace au sein de la base de connaissances spécifiée.

Les mots-clés de ressource knowledgebase et subspace sont des valeurs fixes. $knowledgeBaseName et $subspace sont extraits des champs portant le même nom dans la requête. Le niveau d'autorisation est déterminé par les règles suivantes :

  • Lorsque la requête ne contient pas knowledgeBaseName (généralement une opération de liste), l'autorisation est appliquée au niveau de l'instance .../instance/$instanceName/*.

  • Lorsque la requête contient un seul subspace, l'autorisation est appliquée au niveau du sous-espace. Lorsqu'une seule requête implique plusieurs sous-espaces, l'autorisation revient au niveau de la base de connaissances parente .../knowledgebase/$knowledgeBaseName.

  • Pour autoriser l'accès à tous les sous-espaces sous une base de connaissances, utilisez le caractère générique .../knowledgebase/$knowledgeBaseName/subspace/*, ou autorisez au niveau de la base de connaissances (ce qui couvre tous les sous-espaces).

Memory Storage

Les ressources Memory Storage prennent en charge trois niveaux d'autorisation, du plus grossier au plus fin, comme suit.

Niveau d'autorisation

Format de ressource

Portée correspondante

Niveau instance

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

Tout Memory Storage sous l'instance. Les opérations qui ne ciblent pas un magasin de mémoire spécifique, telles que ListMemoryStores, correspondent à ce niveau.

Niveau magasin de mémoire

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

Toutes les mémoires sous le magasin de mémoire spécifié. Lorsque la requête ne contient pas scope, l'autorisation est appliquée à ce niveau.

Niveau portée

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

Mémoires au sein de la portée spécifiée du magasin de mémoire spécifié. Lorsque la requête contient scope, l'autorisation est appliquée à ce niveau.

Les mots-clés de ressource memorystore, appid, tenantid, agentid et runid sont des valeurs fixes. $memoryStoreName est extrait du champ portant le même nom dans la requête, tandis que $appId, $tenantId, $agentId et $runId sont extraits des champs correspondants de la requête scope. Lorsque la requête ne contient pas memoryStoreName, l'autorisation est appliquée au niveau de l'instance .../instance/$instanceName/*.

Valeurs par défaut de la portée

Lorsque la requête contient scope mais omet un champ donné, ce champ prend par défaut la valeur __default__ dans la ressource d'autorisation. Par exemple, si le scope de la requête spécifie uniquement appId=app_a, la ressource d'autorisation est construite comme suit :

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

Lorsque vous laissez certaines dimensions de portée non restreintes dans une politique RAM, vous devez utiliser le caractère générique * (par exemple, .../agentid/*/runid/*) comme espace réservé explicite. N'omettez pas le niveau correspondant, sinon il correspondra à __default__ plutôt qu'à toutes les valeurs.

Scénarios d'autorisation courants

Les exemples suivants utilisent tous le nom d'instance myinstance. Remplacez $accountId par votre ID de compte réel, et ajustez les espaces réservés de région, de nom de base de connaissances et de nom de magasin de mémoire pour qu'ils correspondent à votre activité.

Accès en lecture seule à une base de connaissances spécifique

La politique suivante autorise la récupération et les requêtes sur la base de connaissances product_docs_kb et refuse toutes les opérations d'écriture.

{
  "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/*"
      ]
    }
  ]
}

Isolation de l'accès en écriture par sous-espace

La politique suivante autorise les opérations de lecture et d'écriture sur les documents et les chunks au sein du sous-espace team_a de la base de connaissances product_docs_kb. Les autres sous-espaces ne sont pas affectés.

{
  "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"
    }
  ]
}

Isolation de l'accès à la mémoire par application

La politique suivante autorise l'accès en lecture et en écriture à toutes les mémoires avec appId=app_a dans le magasin de mémoire agent_mem (quel que soit le locataire, l'agent et l'exécution). Les mémoires des autres appIds ne sont pas accessibles.

{
  "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/*"
    }
  ]
}

Les dimensions tenantid, agentid et runid non restreintes doivent être explicitement ouvertes avec * et ne peuvent pas être omises. Pour la raison, voir la note sur les valeurs par défaut de la portée ci-dessus.

Administration complète au sein d'une instance

La politique suivante autorise toutes les opérations sur toutes les ressources associées sous l'instance 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/*"
    }
  ]
}

Notes

  • Le préfixe de ressource est toujours l'instance : Les ARN de ressources doivent commencer par acs:ots:$region:$accountId:instance/$instanceName/. Ni Knowledge Storage ni Memory Storage n'ont de forme de ressource inter-instances.

  • Le parent couvre l'enfant : Une ressource de niveau supérieur couvre intrinsèquement ses sous-ressources. L'autorisation au niveau de la base de connaissances couvre tous ses sous-espaces ; l'autorisation au niveau du magasin de mémoire memorystore/$store/* couvre toutes ses portées. Pour un contrôle plus fin, descendez au niveau du sous-espace ou au niveau de la portée.

  • Le compte principal n'est pas lié par les politiques : Les politiques ci-dessus s'appliquent uniquement aux utilisateurs et rôles RAM. Le compte principal (Root) conserve par défaut toutes les autorisations sur ses propres ressources.