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

Simple Log Service:カスタムロールを使用したデータへのアクセス

最終更新日:Dec 11, 2025

Simple Log Service では、デフォルトまたはカスタムロールを使用してデータ変換タスクを作成できます。このトピックでは、カスタムロールに Logstore 内のデータへのアクセスに必要な権限を付与する方法について説明します。

前提条件

RAM ロールが作成されていること。詳細については、「信頼できる Alibaba Cloud サービス用の RAM ロールを作成する」をご参照ください。

重要
  • RAM ロールを作成する際、[プリンシパルタイプ][クラウドサービス] に、[プリンシパル名][Simple Log Service] に設定します。

  • RAM ロールの信頼ポリシーを確認します。Service 要素に少なくとも "log.aliyuncs.com" が含まれていることを確認してください。

    {
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "log.aliyuncs.com"
            ]
          }
        }
      ],
      "Version": "1"
    }

RAM ロールへのソース Logstore に対する読み取り専用アクセスの付与

RAM ロールにソース Logstore に対する読み取り専用権限を付与すると、そのロールはソース Logstore からデータを読み取ることができるようになります。その後、データ変換タスクを作成する際にこの RAM ロールを使用できます。詳細については、「データ変換タスクの作成」をご参照ください。

  1. Alibaba Cloud アカウント、または管理権限を持つ RAM ユーザーを使用して RAM コンソールにログインします。

  2. カスタムポリシーを作成します。この例では、`log-etl-source-reader-policy` ポリシーが作成されます。このポリシーは、ソース Logstore に対する読み取り専用権限を付与します。詳細については、「JSON タブでのカスタムポリシーの作成」をご参照ください。

    [ポリシーの作成] ページの [JSON] タブで、完全一致またはあいまい一致による権限付与を使用するポリシードキュメントを使用して、コードエディタ内の既存のスクリプトを置き換えることができます。

    権限付与の完全一致

    この例では、ソースプロジェクト名は `log-project-prod`、ソース Logstore 名は `access_log` です。ビジネス要件に基づいてプロジェクト名と Logstore 名を置き換えてください。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:ListShards",
            "log:GetCursorOrData",
            "log:GetConsumerGroupCheckPoint",
            "log:UpdateConsumerGroup",
            "log:ConsumerGroupHeartBeat",
            "log:ConsumerGroupUpdateCheckPoint",
            "log:ListConsumerGroup",
            "log:CreateConsumerGroup"
          ],
          "Resource": [
            "acs:log:*:*:project/log-project-prod/logstore/access_log",
            "acs:log:*:*:project/log-project-prod/logstore/access_log/*"
          ],
          "Effect": "Allow"
        }
      ]
    }

    権限付与のあいまい一致

    この例では、ソースプロジェクト名は `log-project-dev-a`、`log-project-dev-b`、`log-project-dev-c` で、ソース Logstore 名は `app_a_log`、`app_b_log`、`app_c_log` です。ビジネス要件に基づいてプロジェクト名と Logstore 名を置き換えてください。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:ListShards",
            "log:GetCursorOrData",
            "log:GetConsumerGroupCheckPoint",
            "log:UpdateConsumerGroup",
            "log:ConsumerGroupHeartBeat",
            "log:ConsumerGroupUpdateCheckPoint",
            "log:ListConsumerGroup",
            "log:CreateConsumerGroup"
          ],
          "Resource": [
            "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log",
        "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log/*"
          ],
          "Effect": "Allow"
        }
      ]
    }
  3. 作成したカスタムポリシーを RAM ロールにアタッチします。詳細については、「RAM ロールへの権限付与」をご参照ください。

RAM ロールへの宛先 Logstore (同一アカウント) に対する書き込みアクセスの付与

ソース Logstore と宛先 Logstore が同じ Alibaba Cloud アカウント内にある場合、RAM ロールに書き込み権限を付与して、変換結果を宛先 Logstore に書き込めるようにする必要があります。データ変換タスクを作成する際にこの RAM ロールを使用できます。詳細については、「データ変換タスクの作成」をご参照ください。

  1. カスタムポリシーを作成します。この例では、`log-etl-target-writer-policy` ポリシーが作成されます。このポリシーは、変換結果を宛先 Logstore に書き込む権限を付与します。詳細については、「JSON タブでのカスタムポリシーの作成」をご参照ください。

    [ポリシーの作成] ページの [JSON] タブで、完全一致またはあいまい一致による権限付与を使用するポリシードキュメントを使用して、コードエディタ内の既存のスクリプトを置き換えることができます。

    権限付与の完全一致

    この例では、宛先プロジェクト名は `log-project-prod`、宛先 Logstore 名は `access_log_output` です。ビジネス要件に基づいてプロジェクト名と Logstore 名を置き換えてください。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*"
          ],
          "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output",
          "Effect": "Allow"
        }
      ]
    }

    権限付与のあいまい一致

    この例では、宛先プロジェクト名は `log-project-dev-a`、`log-project-dev-b`、`log-project-dev-c` で、宛先 Logstore 名は `app_a_log_output`、`app_b_log_output`、`app_c_log_output` です。ビジネス要件に基づいてプロジェクト名と Logstore 名を置き換えてください。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output",
          "Effect": "Allow"
        }
      ]
    }
  2. 作成したカスタムポリシーを RAM ロールにアタッチします。詳細については、「RAM ロールへの権限付与」をご参照ください。

RAM ロールへの宛先 Logstore (アカウント間) に対する書き込みアクセスの付与

ソース Logstore と宛先 Logstore が異なる Alibaba Cloud アカウントにある場合は、アカウント間の RAM 権限付与を行う必要があります。たとえば、データ変換タスクが Alibaba Cloud アカウント A のソース Logstore からデータを読み取り、変換後のデータを Alibaba Cloud アカウント B の宛先 Logstore に書き込む場合、Alibaba Cloud アカウント B にログインして必要な権限を付与する必要があります。

重要

開始する前に、「RAM ロールへの宛先 Logstore (同一アカウント) に対する書き込みアクセスの付与」で説明されている Alibaba Cloud アカウント B の手順を完了していることを確認してください。

  1. Alibaba Cloud アカウント、または管理権限を持つ RAM ユーザーを使用して RAM コンソールにログインします。

  2. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

  3. ロールリストで、宛先 RAM ロールの名前をクリックします。

  4. [信頼ポリシー] タブで、[信頼ポリシーの編集] をクリックします。

    Service 設定項目に、ソース Logstore が存在する Alibaba Cloud アカウント A の ID を追加します。ソース Logstore が存在する Alibaba Cloud アカウント A の ID を実際の Alibaba Cloud アカウント ID に置き換えてください。Alibaba Cloud アカウント ID は、アカウントセンターで確認できます。このポリシーにより、アカウント A は SLS を介して一時的なトークンを取得し、アカウント B のリソースを操作できるようになります。

    {
        "Statement": [
            {
                "Action": "sts:AssumeRole",
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "ソース Logstore が存在する Alibaba Cloud アカウント A の ID@log.aliyuncs.com"
                    ]
                }
            }
        ],
        "Version": "1"
    }
  5. RAM ロールの Alibaba Cloud リソース名 (ARN) を取得します。詳細については、「RAM ロールの情報の表示」をご参照ください。

次のステップ

データ変換タスクで RAM ロールの ARN を設定します。詳細については、「データ変換タスクの作成」をご参照ください。