すべてのプロダクト
Search
ドキュメントセンター

Tablestore:RAM ポリシー

最終更新日:Jun 23, 2026

Resource Access Management (RAM) ポリシーは、RAM アイデンティティ (ユーザー、ユーザーグループ、またはロール) にアタッチされる権限ポリシーです。RAM ユーザーまたはロールが Tablestore リソースに対して実行できることを制御するには、許可される操作とリソースを指定した RAM ポリシーをアタッチします。

仕組み

RAM ポリシーは、アイデンティティベースの認可を使用します。RAM ユーザー、ユーザーグループ、またはロールにアタッチされたポリシーは、アイデンティティが実行できる操作 (Action)、アクセスできるリソース (Resource)、およびポリシーが適用される条件 (Condition) を指定します。

RAM アイデンティティがリクエストを送信すると、システムは適用可能なすべてのポリシーを次の順序で評価します:

  1. 明示的な拒否が優先:いずれかのポリシーにリクエストと一致する Deny ルールが含まれている場合、リクエストは直ちに拒否されます

  2. 明示的な許可の確認:一致する Deny ルールがない場合、一致する Allow ルールがあればリクエストは許可されます

  3. 暗黙の拒否:Deny ルールも Allow ルールも一致しない場合、リクエストはデフォルトで拒否されます

Tablestore は、2 種類の RAM ポリシーをサポートしています:

  • システムポリシー:一般的な認可シナリオ向けに Alibaba Cloud によって事前定義されています。これらのポリシーはアタッチできますが、変更はできません。

  • カスタムポリシー:お客様が作成および管理します。カスタムポリシーを使用すると、リソーススコープ、操作、およびその適用条件をきめ細かく制御できます。

システムポリシーによる権限の付与

Alibaba Cloud が作成するシステムポリシーは、RAM コンソールで直接ユーザーアイデンティティにアタッチできます。以下の手順では、RAM ユーザーを例として使用します。

  1. RAM ユーザーページに移動し、目的のユーザーの操作列で権限付与をクリックします。

  2. 検索ボックスに、アタッチするシステムポリシーの名前を入力して選択します。Tablestore は、以下の 3 つのシステムポリシーをサポートしています:

    システムポリシー

    権限スコープ

    AliyunOTSFullAccess

    Tablestore に対する完全な管理権限。

    AliyunOTSReadOnlyAccess

    Tablestore への読み取り専用アクセス。

    AliyunOTSWriteOnlyAccess

    Tablestore への書き込み専用アクセス。

  3. Grant permissions をクリックして権限設定を完了します。

カスタムポリシーによる権限の付与

カスタムポリシーは、ポリシーの作成と、ユーザーアイデンティティへのアタッチという 2 つのステップで作成・管理します。

ステップ 1:カスタムポリシーの作成

  1. ポリシーページに移動し、ポリシーの作成 をクリックします。

  2. JSON を選択し、エディターに JSON 形式でポリシーを入力します。

    以下のポリシー例は、example-instance という名前のインスタンスと、そのインスタンス内のすべてのテーブルに対するすべての操作を許可します。

    {
      "Version": "1",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": "ots:*",
          "Resource": [
            "acs:ots:*:*:instance/example-instance",
            "acs:ots:*:*:instance/example-instance/table/*"
          ]
        }
      ]
    }

    RAM ポリシーには、VersionStatement の 2 つのトップレベル要素が含まれています。

    トップレベル要素

    説明

    Version

    ポリシーバージョンは 1 に固定されており、変更できません。

    Statement

    ポリシーの本文。1 つ以上の認可または拒否ルールが含まれます。各ルールには、Effect (認可効果)、Action (認可される操作)、Resource (認可されるリソース)、Condition (認可条件) の 4 つのサブ要素が含まれます。詳細については、次の表をご参照ください。

    Statement のサブ要素

    説明

    Effect

    ポリシーの効果。有効な値: Allow または Deny

    Action

    リソースに対して実行される特定の操作。必要に応じて、ots: プレフィックスを追加し、ワイルドカード * を使用します。

    Resource

    リソーススコープ。 形式は acs:ots:[region]:[user_id]:instance/[instance_name]/table/[table_name] です。

    Condition

    ポリシーが有効になる条件。

    複数の条件を指定した場合、ポリシーが適用されるには、すべての条件を満たす必要があります (論理 AND)。

    ポリシーの要素と構文の詳細については、「認可ポリシーの構文と要素」をご参照ください。

  3. OK をクリックし、ポリシー名 を入力し、次に OK をクリックしてカスタムポリシーの作成を完了します。

ステップ 2:ポリシーをユーザーアイデンティティにアタッチ

前のステップで作成したポリシーをユーザーアイデンティティにアタッチします。以下の手順では、RAM ユーザーを例として使用します。

  1. RAM ユーザーページに移動し、対象のユーザーの操作列で権限付与をクリックします。

  2. Grant permissions をクリックして権限設定を完了します。

一般的な認可シナリオ

以下は、Tablestore での RAM ポリシーの典型的なユースケースです。それぞれについて、完全な JSON ポリシーの例を示します。

シナリオ 1:IP、時刻、プロトコルの複合条件による読み取りおよび書き込み権限の付与

10.10.XX.XX/24 CIDR ブロックのユーザーは、HTTPS 経由で、かつ 2028-01-01 00:00:00 以前である場合に限り、online-01 および online-02 インスタンスとそのすべてのテーブルに対して読み取りと書き込みができます。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ots:BatchGet*",
        "ots:BatchWrite*",
        "ots:Create*",
        "ots:Delete*",
        "ots:Get*",
        "ots:Insert*",
        "ots:Put*",
        "ots:Update*"
       ],
      "Resource": [
        "acs:ots:*:*:instance/online-01",
        "acs:ots:*:*:instance/online-01/table/*",
        "acs:ots:*:*:instance/online-02",
        "acs:ots:*:*:instance/online-02/table/*"
      ],
      "Condition": {
        "IpAddress": {
          "acs:SourceIp": [
            "10.10.XX.XX/24"
          ]
        },
        "DateLessThan": {
          "acs:CurrentTime": "2028-01-01T00:00:00+08:00"
        },
        "Bool": {
          "acs:SecureTransport": "true"
        }
      }
    }
  ]
}

シナリオ 2:特定の IP アドレスから特定のインスタンスへの書き込みリクエストの拒否

中国 (北京) リージョンで、名前が online または product で始まるインスタンス内のすべてのテーブルに対し、IP アドレス 10.10.XX.XX からのユーザーの書き込みアクセスを拒否します。このルールは、インスタンス自体に対する操作を制限しません。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Deny",
      "Action": [
        "ots:Create*",
        "ots:Insert*",
        "ots:Put*",
        "ots:Update*",
        "ots:Delete*",
        "ots:BatchWrite*"
      ],
      "Resource": [
        "acs:ots:cn-beijing:*:instance/online*/table/*",
        "acs:ots:cn-beijing:*:instance/product*/table/*"
      ],
      "Condition": {
        "IpAddress": {
          "acs:SourceIp": [
            "10.10.XX.XX"
          ]
        }
      }
    }
  ]
}

シナリオ 3:RAM ユーザーの管理を特定のインスタンスに限定

RAM ユーザーに対し、指定されたインスタンスのみを管理する権限を付与します。このポリシーには、コンソールのクエリ権限、対象インスタンスに対する完全な操作権限、および CloudMonitor のクエリ権限をそれぞれ付与する 3 つのステートメントが含まれています。

{
  "Version": "1",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ots:ListInstance",
        "ots:ListTagResources"
      ],
      "Resource": "acs:ots:*:*:instance/*"
    },
    {
      "Effect": "Allow",
      "Action": "ots:*",
      "Resource": [
        "acs:ots:*:*:instance/yourInstance",
        "acs:ots:*:*:instance/yourInstance/table/*"
      ]
    },
    {
      "Effect": "Allow",
      "Action": "cms:Query*",
      "Resource": "*"
    }
  ]
}

各ステートメントは、次の表で説明するように特定の役割を果たします。

ポリシー

説明

{
  "Effect": "Allow",
  "Action": [
    "ots:ListInstance",
    "ots:ListTagResources"
  ],
  "Resource": "acs:ots:*:*:instance/*"
}

Tablestore コンソールの概要ページでは、インスタンスリストとタグリストが読み込まれます。このステートメントは、RAM ユーザーがこれらを読み込むために必要なクエリ権限を付与します。

説明

コンソールを介してインスタンスを管理する RAM ユーザーは、これらの権限を持っている必要があります。

{
  "Effect": "Allow",
  "Action": "ots:*",
  "Resource": [
    "acs:ots:*:*:instance/yourInstance",
    "acs:ots:*:*:instance/yourInstance/table/*"
  ]
}

RAM ユーザーに yourInstance インスタンスとその中のテーブルに対するすべての権限を付与します。

{
  "Effect": "Allow",
  "Action": "cms:Query*",
  "Resource": "*"
}

RAM ユーザーに、インスタンスとテーブルのモニタリングデータを表示するための CloudMonitor 権限を付与します。