Tous les produits
Search
Centre de documentation

Tablestore:Syntaxe et éléments des politiques d'autorisation

Dernière mise à jour :Aug 19, 2026

Tablestore utilise des politiques d'autorisation au format JSON pour un contrôle d'accès aux ressources granulaire. Chaque politique définit les éléments Action, Resource et Condition, et s'applique aux politiques d'instance, aux politiques RAM et aux politiques de contrôle.

Syntaxe d'autorisation

Une politique d'autorisation utilise le format JSON et se compose d'un numéro de version (Version) ainsi que d'une ou plusieurs instructions d'autorisation (Statement). Chaque instruction contient les éléments Effect, Action, Resource et Condition.

Structure de la syntaxe

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": ["ots:ActionName"],
            "Resource": ["acs:ots:region:account-id:instance-and-resource-path"],
            "Condition": {
                "ConditionOperator": {
                    "ConditionKey": ["ConditionValue"]
                }
            }
        }
    ]
}

description des champs

Champ

description

Obligatoire

Version

Numéro de version de la politique d'autorisation. La valeur est fixée à 1.

Oui

Statement

Corps de l'autorisation. Vous pouvez configurer une ou plusieurs instructions.

Oui

Effect

Effet de l'autorisation. Valeurs valides : Allow et Deny.

Oui

Action

Opérations à autoriser ou à refuser. Pour plus d'informations, consultez la section Action.

Oui

Resource

Ressources à autoriser. Pour plus d'informations, consultez la section Resource.

Oui

Condition

Conditions dans lesquelles l'autorisation prend effet. Pour plus d'informations, consultez la section Condition.

Non

Action

L'élément Action spécifie les opérations à autoriser ou à refuser sur une ressource. Chaque action doit être préfixée par ots:, et plusieurs actions sont séparées par des virgules (,). Le caractère générique astérisque (*) prend en charge la correspondance de préfixe et de suffixe. Définitions d'action courantes :

Une seule opération API

"Action": "ots:GetRow"

Plusieurs opérations API

"Action": [
    "ots:PutRow",
    "ots:GetRow"
]

Toutes les opérations API en lecture seule

"Action": [
    "ots:BatchGet*",
    "ots:Describe*",
    "ots:Get*",
    "ots:List*",
    "ots:Consume*",
    "ots:Search",
    "ots:ComputeSplitPointsBySize"
]

Toutes les opérations API en lecture et écriture

"Action": "ots:*"

Toutes les opérations API SQL

"Action": "ots:SQL*"

Resource

L'élément Resource spécifie l'étendue des ressources accessibles et se compose de champs tels que le produit, la région, l'ID de compte, le nom de l'instance et le nom de la table. Chaque champ prend en charge le caractère générique astérisque (*) pour la correspondance de préfixe et de suffixe. Le format est le suivant :

acs:ots:[region]:[user_id]:instance/[instance_name]/table/[table_name]

Le produit est fixé à ots. [region] correspond à l'ID de la région où réside la ressource, par exemple cn-hangzhou. [user_id] représente l'ID du compte Alibaba Cloud. [instance_name] et [table_name] correspondent respectivement aux noms de l'instance et de la table. Remplacez ces espaces réservés par vos valeurs réelles.

Pour les opérations Tunnel, l'élément Resource ne peut être spécifié qu'au niveau de l'instance. Le format est le suivant :

acs:ots:[region]:[user_id]:instance/[instance_name]

notes

  • Les noms d'instance dans Tablestore ne sont pas sensibles à la casse. Spécifiez [instance_name] en minuscules dans une définition Resource.

  • Les éléments Action et Resource sont vérifiés par correspondance de chaînes, et le caractère générique astérisque (*) distingue la correspondance de préfixe de celle de suffixe. Par exemple, une définition Resource telle que acs:ots:*:*:instance/abc ne correspond pas à acs:ots:*:*:instance/abc/table/xyz.

  • Pour gérer les ressources d'instance dans la console Tablestore, celle-ci doit obtenir la liste des instances. Par conséquent, accordez à l'utilisateur des permissions de lecture sur la ressource acs:ots:[region]:[user_id]:instance/*.

  • Pour les opérations API par lot (telles que BatchGetRow et BatchWriteRow), Tablestore autorise chaque table accédée séparément. L'opération s'exécute uniquement si toutes les tables passent l'autorisation. Dans le cas contraire, une erreur de permission est renvoyée.

Définitions Resource typiques

  • Toutes les ressources de tous les comptes dans toutes les régions.

    "Resource": "acs:ots:*:*:*"
  • Toutes les instances et leurs tables du compte 123456 dans la région Chine (Hangzhou).

    "Resource": "acs:ots:cn-hangzhou:123456:instance*"
  • L'instance nommée abc et toutes ses tables du compte 123456 dans la région Chine (Hangzhou).

    "Resource": [
        "acs:ots:cn-hangzhou:123456:instance/abc",
        "acs:ots:cn-hangzhou:123456:instance/abc/table*"
    ]
  • Toutes les instances dont le nom commence par abc et toutes leurs tables.

    "Resource": "acs:ots:*:*:instance/abc*"
  • Toutes les tables dont le nom commence par xyz dans toutes les instances dont le nom commence par abc (à l'exclusion de la ressource d'instance, qui ne correspond pas à acs:ots:*:*:instance/abc*).

    "Resource": "acs:ots:*:*:instance/abc*/table/xyz*"

Types d'API et ressources

Les opérations de l'API Tablestore se répartissent en deux catégories : les opérations de gestion des instances et les opérations de lecture/écriture des tables et des données. La configuration des ressources pour chaque type est la suivante :

Ressources accessibles via les opérations de l'API de gestion

Les opérations de l'API de gestion traitent les tâches au niveau de l'instance et sont appelées à la fois par la console et par OpenAPI. Les ressources ci-dessous omettent le préfixe acs:ots:[region]:[user_id]: et n'affichent que la partie relative à l'instance.

Opération d'API

Action

Ressource accessible

CreateInstance

ots:InsertInstance

instance/[instance_name]

UpdateInstance

ots:UpdateInstance

instance/[instance_name]

GetInstance

ots:GetInstance

instance/[instance_name]

DeleteInstance

ots:DeleteInstance

instance/[instance_name]

ListInstances

ots:ListInstance

instance/*

ChangeResourceGroup

ots:UpdateInstance

instance/[instance_name]

ListTagResources

ots:ListTagResourcesCustomTags

instance/*

TagResources

ots:TagResourcesCustomTags

instance/[instance_name]

UntagResources

ots:UntagResourcesCustomTags

instance/[instance_name]

UpdateInstancePolicy

ots:UpdateInstancePolicy

instance/[instance_name]

DeleteInstancePolicy

ots:DeleteInstancePolicy

instance/[instance_name]

CheckInstancePolicy

ots:CheckInstancePolicy

instance/[instance_name]

UpdateInstanceElasticVCUUpperLimit

ots:UpdateInstanceElasticVCUUpperLimit

instance/[instance_name]

Ressources accessibles via les opérations de l'API de données

Les opérations de l'API de données gèrent les tâches au niveau des tables et des lignes, et sont appelées à la fois par la console et par les SDK. Les définitions des actions et des ressources influencent l'expérience utilisateur dans la console. Les ressources ci-dessous omettent le préfixe acs:ots:[region]:[user_id]: et n'affichent que les parties relatives à l'instance et à la table.

Opération d'API

Action

Ressource accessible

ListTable

ots:ListTable

instance/[instance_name]/table*

CreateTable

ots:CreateTable

instance/[instance_name]/table/[table_name]

UpdateTable

ots:UpdateTable

instance/[instance_name]/table/[table_name]

DescribeTable

ots:DescribeTable

instance/[instance_name]/table/[table_name]

DeleteTable

ots:DeleteTable

instance/[instance_name]/table/[table_name]

CreateGlobalTable

ots:CreateGlobalTable, ots:UpdateTable, ots:CreateTunnel, ots:DescribeTunnel, ots:ListTunnel, ots:TunnelReadRecords, ots:BatchWriteRow

instance/[instance_name]/table/[table_name]

DescribeGlobalTable

ots:DescribeGlobalTable

instance/[instance_name]/table/[table_name]

UpdateGlobalTable

ots:UpdateGlobalTable, ots:UpdateTable, ots:CreateTunnel, ots:DescribeTunnel, ots:ListTunnel, ots:TunnelReadRecords, ots:BatchWriteRow

instance/[instance_name]/table/[table_name]

BindGlobalTable

ots:BindGlobalTable, ots:UpdateTable, ots:CreateTunnel, ots:DescribeTunnel, ots:ListTunnel, ots:TunnelReadRecords, ots:BatchWriteRow

instance/[instance_name]/table/[table_name]

UnbindGlobalTable

ots:UnbindGlobalTable, ots:UpdateTable, ots:DeleteTunnel

instance/[instance_name]/table/[table_name]

AddDefinedColumn

ots:AddDefinedColumn

instance/[instance_name]/table/[table_name]

DeleteDefinedColumn

ots:DeleteDefinedColumn

instance/[instance_name]/table/[table_name]

GetRow

ots:GetRow

instance/[instance_name]/table/[table_name]

PutRow

ots:PutRow

instance/[instance_name]/table/[table_name]

UpdateRow

ots:UpdateRow

instance/[instance_name]/table/[table_name]

DeleteRow

ots:DeleteRow

instance/[instance_name]/table/[table_name]

GetRange

ots:GetRange

instance/[instance_name]/table/[table_name]

BatchGetRow

ots:BatchGetRow

instance/[instance_name]/table/[table_name]

BatchWriteRow

ots:BatchWriteRow

instance/[instance_name]/table/[table_name]

ComputeSplitPointsBySize

ots:ComputeSplitPointsBySize

instance/[instance_name]/table/[table_name]

StartLocalTransaction

ots:StartLocalTransaction

instance/[instance_name]/table/[table_name]

CommitTransaction

ots:CommitTransaction

instance/[instance_name]/table/[table_name]

AbortTransaction

ots:AbortTransaction

instance/[instance_name]/table/[table_name]

CreateIndex

ots:CreateIndex

instance/[instance_name]/table/[table_name]

DropIndex

ots:DropIndex

instance/[instance_name]/table/[table_name]

CreateSearchIndex

ots:CreateSearchIndex

instance/[instance_name]/table/[table_name]

UpdateSearchIndex

ots:UpdateSearchIndex

instance/[instance_name]/table/[table_name]

DeleteSearchIndex

ots:DeleteSearchIndex

instance/[instance_name]/table/[table_name]

ListSearchIndex

ots:ListSearchIndex

instance/[instance_name]/table/[table_name]

DescribeSearchIndex

ots:DescribeSearchIndex

instance/[instance_name]/table/[table_name]

Search

ots:Search

instance/[instance_name]/table/[table_name]

ComputeSplits

ots:ComputeSplits

instance/[instance_name]/table/[table_name]

ParallelScan

ots:ParallelScan

instance/[instance_name]/table/[table_name]

CreateTunnel

ots:CreateTunnel

instance/[instance_name]/table/[table_name]

DeleteTunnel

ots:DeleteTunnel

instance/[instance_name]/table/[table_name]

ListTunnel

ots:ListTunnel

instance/[instance_name]/table/[table_name]

ConsumeTunnel

ots:ConsumeTunnel

instance/[instance_name]/table/[table_name]

DescribeTunnel

ots:DescribeTunnel

instance/[instance_name]/table/[table_name]

BulkImport

ots:BulkImport

instance/[instance_name]/table/[table_name]

BulkExport

ots:BulkExport

instance/[instance_name]/table/[table_name]

SQL_Select

ots:SQL_Select

instance/[instance_name]/table/[table_name]

SQL_Create

ots:SQL_Create

instance/[instance_name]/table/[table_name]

SQL_DropMapping

ots:SQL_DropMapping

instance/[instance_name]/table/[table_name]

Condition

Une condition définit les contraintes d'application d'une autorisation. Elle se compose d'un opérateur de condition, d'une clé de condition et d'une valeur de condition.

Opérateurs de condition

Un opérateur de condition définit la manière dont une clé de condition est comparée à une valeur de condition. Les types pris en charge incluent String, Number, Date and time, Boolean et IP address. Pour la liste complète, consultez Opérateurs de condition.

Clés de condition

Le tableau suivant répertorie les clés de condition personnalisées et communes prises en charge par Tablestore.

Type

Clé de condition

Description

Conditions personnalisées Tablestore

ots:EncryptionRequired

S'applique aux opérations CreateTable et UpdateTable. Spécifie si seule la création ou la mise à jour de tables chiffrées est autorisée.

Le type de valeur est String. Valeurs valides : true et false.

Exemple de configuration : "ots:EncryptionRequired": "true"

ots:IsFromTrustProxy

Spécifie si seul l'accès depuis un proxy de confiance est autorisé. L'accès depuis la console utilise un proxy de confiance.

Le type de valeur est String. Valeurs valides : true et false.

Exemple de configuration : "ots:IsFromTrustProxy": "true"

ots:AllowInstanceInternetAccess

S'applique aux opérations CreateInstance et UpdateInstance. Spécifie si seule la création d'instances non accessibles via Internet est autorisée.

Le type de valeur est String. Valeurs valides : true et false.

Exemple de configuration : "ots:AllowInstanceInternetAccess": "true"

ots:TLSVersion

Définit les versions TLS clientes autorisées. Cela restreint également l'accès au protocole HTTPS uniquement.

Le type de valeur est String. Valeurs valides : TLSv1, TLSv1.1, TLSv1.2 et TLSv1.3.

Une seule condition prend en charge plusieurs versions TLS. Lorsque plusieurs versions TLS sont configurées, un client peut accéder à Tablestore avec succès en utilisant l'une des versions configurées.

ots:AccessId

Restreint l'ID AccessKey (AK) de la source de la requête.

Le type de valeur est String. Pour spécifier plusieurs ID AccessKey, saisissez un ID AccessKey par ligne.

Conditions communes

acs:SourceIp

Restreint l'adresse IP source ou le bloc CIDR de l'accès.

Le type de valeur est String. Valeurs valides : adresses IP IPv4 ou IPv6 et blocs CIDR. Une seule condition prend en charge plusieurs adresses IP ou blocs CIDR.

Important

Dans une politique d'instance, si vous configurez acs:SourceIp, vous devez également configurer acs:SourceVpc pour spécifier la source réseau de la requête. Sinon, la configuration ne peut pas être envoyée. acs:SourceIp correspond uniquement à l'adresse IP source de la requête et ne distingue pas si l'adresse IP provient d'Internet ou d'un VPC ; l'utilisation de acs:SourceIp seul pour restreindre l'accès peut donc présenter un risque d'élévation de privilèges.

acs:SourceVpc

Restreint le VPC source de l'accès.

Le type de valeur est String. Valeurs valides : l'ID du VPC source et vpc-*. Une seule condition prend en charge plusieurs ID de VPC. Assurez-vous que les ID de VPC configurés sont corrects.

acs:SecureTransport

Restreint le protocole de requête, en particulier si l'accès utilise un transport sécurisé (HTTPS).

Le type de valeur est Bool. Valeurs valides :

  • true : Autorise uniquement les requêtes HTTPS.

  • false : Autorise uniquement les requêtes HTTP.

Si acs:SecureTransport n'est pas défini, les requêtes HTTP et HTTPS sont autorisées.

acs:CurrentTime

Restreint l'heure d'arrivée d'une requête sur le serveur Tablestore.

Le type de valeur est Date and time, au format ISO 8601, par exemple 2016-01-01T00:00:00+08:00.

acs:MFAPresent

Restreint l'utilisation de l'authentification multifacteur (MFA) pour l'accès.

Le type de valeur est Bool. Valeurs valides : true et false.