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

Simple Log Service:データ変換ジョブの権限設定

最終更新日:Dec 11, 2025

データ変換には、2 種類の権限付与が含まれます:

  • データ変換ジョブの作成、削除、変更、表示、コンソールまたはソフトウェア開発キット (SDK) を使用したデータプレビューなど、データ変換操作を実行するための権限。

  • データ変換ジョブがデータにアクセスするための権限。これには、ソース Logstore からのデータ読み取りと、変換結果の宛先 Logstore への書き込みが含まれます。

RAM ユーザーへのデータ変換操作権限の付与

データ変換操作には、データ変換ジョブの作成、削除、変更、表示、およびデータのプレビューが含まれます。権限を付与する前に、RAM ユーザーが作成されていることを確認してください。権限は、次の 2 つの方法のいずれかで付与できます:

  • システムポリシーの使用:この方法は設定が簡単ですが、広範な権限に対する制御が粗粒度になります。

  • カスタムポリシーの使用:この方法は、特定のプロジェクトまたは Logstore の操作に対して細粒度の制御を提供します。厳格な権限要件を持つ環境に適しています。

システムポリシーの使用

  1. Alibaba Cloud アカウントまたは RAM 管理者として Resource Access Management (RAM) コンソールにログインします。

  2. 詳細については、RAM ユーザー権限の管理をご参照ください。次の 2 つのシステムポリシーを RAM ユーザーにアタッチします:

    • AliyunRAMFullAccess

    • AliyunLogFullAccess

  3. 設定を保存すると、RAM ユーザーは次の操作を実行できます:

    • データ変換ジョブの作成、削除、変更、表示。

    • ソース Logstore からデータを読み取り、ジョブをプレビューする。

カスタムポリシーの使用

  1. Alibaba Cloud アカウントまたは RAM 管理者として RAM コンソールにログインします。

  2. スクリプトモードでカスタムポリシーを作成します。この例では、ポリシーに log-etl-operator-policy という名前を付けます。[スクリプトエディター] タブで、既存のコンテンツを次のテンプレートに置き換えます。テンプレートでは、プロジェクト名と Logstore 名を実際の値に置き換えてください。

    {
        "Version":"1",
        "Statement":[
            {
                "Effect":"Allow",
                "Action":[
                    "log:CreateLogStore",
                    "log:CreateIndex",
                    "log:UpdateIndex",
                    "log:Get*"
                ],
                "Resource":"acs:log:*:*:project/your-project-name/logstore/internal-etl-log"
            },
            {
                "Action":[
                    "log:List*"
                ],
                "Resource":"acs:log:*:*:project/*",
                "Effect":"Allow"
            },
            {
                "Action":[
                    "log:Get*",
                    "log:List*"
                ],
                "Resource":[
                    "acs:log:*:*:project/your-project-name/logstore/your-logstore-name"
                ],
                "Effect":"Allow"
            },
            {
                "Effect":"Allow",
                "Action":[
                    "log:GetDashboard",
                    "log:CreateDashboard",
                    "log:UpdateDashboard"
                ],
                "Resource":"acs:log:*:*:project/your-project-name/dashboard/internal-etl-insight*"
            },
            {
                "Effect":"Allow",
                "Action":"log:CreateDashboard",
                "Resource":"acs:log:*:*:project/your-project-name/dashboard/*"
            },
            {
                "Effect":"Allow",
                "Action":[
                    "log:*"
                ],
                "Resource":"acs:log:*:*:project/your-project-name/job/*"
            },{
                "Effect":"Allow",
                "Action":[
                    "log:*"
                ],
                "Resource":"acs:log:*:*:project/your-project-name/etl/*"
            },
            {
                "Effect": "Allow",
                "Action": [
                    "ram:PassRole",
                    "ram:GetRole",
                    "ram:ListRoles"
                ],
                "Resource": "*"
             }
        ]
    }
  3. 作成したカスタムポリシーを RAM ユーザーにアタッチします

データ変換ジョブへの Logstore データアクセス権限の付与

同一アカウント内の Logstore への書き込み

このシナリオは、ソース Logstore と宛先 Logstore が同じ Alibaba Cloud アカウントに属する場合に適用されます。権限は、デフォルトのシステムロールまたはカスタムロールを使用して付与できます。

デフォルトロールの使用

データ変換ジョブの作成時に、デフォルトロール AliyunLogETLRole を選択できます。 AliyunLogETLRole システムロールには、次の組み込み権限があります。

  • ソース Logstore からデータを読み取る。

  • 変換結果を同一アカウント内の宛先 Logstore に書き込む。

カスタムロールの使用

ステップ 1:RAM ロールの作成と信頼ポリシーの設定
  • 信頼できるエンティティタイプAlibaba Cloud サービス

  • 信頼できるエンティティ名: Simple Log Service

  • ロールが作成されたら、その信頼ポリシーを確認します。Service パラメーターには、少なくとも "log.aliyuncs.com" が含まれている必要があります。

ステップ 2:RAM ロールへのソース Logstore 読み取り専用アクセスの付与
  1. カスタムポリシーを作成します。たとえば、log-etl-source-reader-policy という名前を付けます。このポリシーにより、カスタムロールは特定のソース Logstore からデータを読み取ることができます。

    [スクリプトエディター] タブで、既存のコンテンツを完全一致での権限付与またはワイルドカードでの権限付与のスクリプトに置き換えます。

    完全一致での権限付与

    たとえば、ソースプロジェクトの名前が log-project-prod で、ソース Logstore の名前が access_log の場合です。これらの名前を実際の値に置き換えてください。

    {
      "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 など。この場合、ワイルドカードでの権限付与を使用します。

    {
      "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"
        }
      ]
    }
  2. 詳細については、RAM ロールへの権限付与をご参照ください。このポリシーをステップ 1で作成したカスタム RAM ロールにアタッチします。

ステップ 3:RAM ロールへの宛先 Logstore 書き込み権限の付与
  1. カスタムポリシーを作成します。たとえば、log-etl-target-writer-policy という名前を付けます。このポリシーにより、カスタムロールは変換結果を宛先 Logstore に書き込むことができます。

    [スクリプトエディター] タブで、既存のコンテンツを完全一致での権限付与またはワイルドカードでの権限付与のスクリプトに置き換えます。

    完全一致での権限付与

    たとえば、宛先プロジェクトの名前が log-project-prod で、宛先 Logstore の名前が access_log_output の場合です。これらの名前を実際の値に置き換えてください。

    {
      "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 など。この場合、ワイルドカードでの権限付与を使用します。

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

別アカウント内の Logstore への書き込み

このシナリオは、ソース Logstore と宛先 Logstore が異なる Alibaba Cloud アカウントに属する場合に適用されます。この場合、カスタムロールを使用してのみ Logstore データへのアクセスを許可できます。

シナリオ例:Alibaba Cloud アカウント A のソース Logstore からデータを変換し、その結果を Alibaba Cloud アカウント B の宛先 Logstore に保存する必要があります。これを行うには、Alibaba Cloud アカウント B にログインし、次の手順で説明するように権限を付与する必要があります。

操作手順

ステップ 1:RAM ロールの作成と信頼ポリシーの設定

アカウント A とアカウント B に、それぞれ RAM ロール A と RAM ロール B の 2 つの RAM ロールを作成します。アカウント A はソース Logstore を所有するアカウントで、アカウント B は宛先 Logstore を所有するアカウントです。

  • 信頼されたエンティティタイプ: Alibaba Cloud サービス

  • 信頼できるエンティティ名Simple Log Service

  • ロールの作成後、その信頼ポリシーの Service パラメーターに、少なくとも "log.aliyuncs.com" が含まれていることを確認してください。

ステップ 2:ソース Logstore のデータ読み取り権限の付与
  1. ソース Logstore を所有する Alibaba Cloud アカウント A で、カスタムポリシーを作成します。たとえば、log-etl-source-reader-policy という名前を付けます。このポリシーにより、カスタムロールは特定のソース Logstore からデータを読み取ることができます。

    [スクリプトエディター] タブで、既存のコンテンツを完全一致での権限付与またはワイルドカードでの権限付与のスクリプトに置き換えます。

    完全一致での権限付与

    たとえば、ソースプロジェクトの名前が log-project-prod で、ソース Logstore の名前が access_log の場合です。これらの名前を実際の値に置き換えてください。

    {
      "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 の場合です。この場合、ワイルドカードでの権限付与を使用します。これらの名前を実際の値に置き換えてください。

    {
      "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"
        }
      ]
    }
  2. このポリシーをステップ 1で作成したカスタムの RAM ロール A にアタッチします。

ステップ 3:宛先 Logstore へのデータ書き込み権限の付与
  1. 宛先 Logstore を所有する Alibaba Cloud アカウント B で、カスタムポリシーを作成します。たとえば、log-etl-target-writer-policy という名前を付けます。このポリシーにより、カスタムロールは変換結果を宛先 Logstore に書き込むことができます。

    [スクリプトエディター] タブで、既存のコンテンツを完全一致での権限付与またはワイルドカードでの権限付与のスクリプトに置き換えます。

    完全一致での権限付与

    たとえば、宛先プロジェクトの名前が log-project-prod で、宛先 Logstore の名前が access_log_output の場合です。これらの名前を実際の値に置き換えてください。

    {
      "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 など。この場合、ワイルドカードでの権限付与を使用します。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/app_*_log_output",
          "Effect": "Allow"
        }
      ]
    }
  2. このポリシーをステップ 1で作成したカスタムの RAM ロール B にアタッチします。

ステップ 4:信頼ポリシーの設定

宛先 Logstore を所有する Alibaba Cloud アカウント B で、次の操作を行います:

  1. RAM コンソールにログインします。

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

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

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

    {
      "Version": "1",
      "Statement": [
        {
          "Action": "sts:AssumeRole",
          "Effect": "Allow",
          "Principal": {
            "Service": [
              "ID-of-account-A-that-owns-the-source-Logstore@log.aliyuncs.com"
            ]
          }
        }
      ]
    }
    

注:

  • "ID-of-account-A-that-owns-the-source-Logstore@log.aliyuncs.com" をアカウント A の ID (例:1234567890123***@log.aliyuncs.com) に置き換えてください。

  • このポリシーは、アカウント A が Simple Log Service から一時的な認証情報を取得して、アカウント B でこのロールを偽装できることを示します。これにより、アカウント A は、宛先 Logstore など、アカウント B で設定されているリソースにアクセスできます。

  • ロールの詳細で、ロールの Alibaba Cloud リソース名 (ARN) を記録します。この ARN は、アカウント A でデータ変換ジョブを作成するときに必要になります。