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

Simple Log Service:カスタムロールを使用してLogstoreからデータを読み取る

最終更新日:Aug 30, 2024

新しいバージョンのデータシッピングジョブがMaxComputeにデータを送信するために実行されている場合、ジョブはソースLogstoreからデータを読み取る必要があります。 この要件を満たすために、データ配布ジョブにカスタムロールを割り当てることができます。 このトピックでは、カスタムロールに権限を付与する方法について説明します。

前提条件

MaxcomputeShipRoleという名前のリソースアクセス管理 (RAM) ロールが作成されます。 詳細については、「RAM ロールの作成」をご参照ください。

RAMロールは次の要件を満たす必要があります。

  • RAMロールを作成するときに、信頼できるエンティティとしてAlibaba Cloud Serviceを選択します。

  • RAMロールの信頼ポリシーでは、以下に示すように、"サービス" フィールドに "log.aliyuncs.com" を含める必要があります。

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

    image

手順

RAMロールにLogstoreからデータを読み取る権限を付与した後、RAMロールをデータ配布ジョブに割り当てて、Logstoreからデータを読み取ることができます。

  1. RAMコンソール.

  2. Logstoreからデータを読み取る権限を付与するポリシーを作成します。

    1. 左側のナビゲーションウィンドウから、 [権限] > [ポリシー] を選択します。

    2. [ポリシー] ページで [ポリシーの作成] をクリックします。

    3. [ポリシーの作成] ページの [JSON] タブで、コードエディターのポリシードキュメントを次のいずれかのスクリプトに置き換えます。 次に、[次へ] をクリックしてポリシー情報を編集します。

      • 完全一致を使用するポリシー

        名前は、プロジェクトとLogstoreの実際の名前に置き換えることができます。

        {
            "Version":"1",
            "Statement":[
                {
                    "Action":[
                        "log:GetCursorOrData",
                        "log:ListShards"
                    ],
                    "Resource":[
                        "acs:log:*:*:project/Project name/logstore/Logstore name/*"
                    ],
                    "Effect":"Allow"
                }
            ]
        }
      • ファジーマッチを使用するポリシー

        この例では、プロジェクトの名前はlog-project-dev-a、log-project-dev-b、およびlog-project-dev-cです。 Logstoreの名前は、website_a_log、website_b_log、およびwebsite_c_logです。 名前は、プロジェクトとLogstoreの実際の名前に置き換えることができます。

        {
            "Version":"1",
            "Statement":[
                {
                    "Action":[
                        "log:GetCursorOrData",
                        "log:ListShards"
                    ],
                    "Resource":[
                        "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log*"
                    ],
                    "Effect":"Allow"
                }
            ]
        }
    4. 名前パラメーターをクリックし、OK.

      この例では、ポリシー名をlog-maxcompute-export-source-policyに設定します。

  3. ポリシーをRAMロールにアタッチします。

    1. 左側のナビゲーションウィンドウで、アイデンティティ > ロール.

    2. RAMロールを見つけて、権限付与[アクション] 列に表示されます。

    3. 手順2で作成したポリシーを選択します。 この例では、log-maxcompute-export-source-policyポリシーを選択します。

    4. 承認結果を確認します。 次に、[権限の付与] をクリックします。

設定を構成した後、カスタムRAMロールを新しいバージョンのデータ配布ジョブに割り当てて、ソースLogstoreからデータを読み取ることができます。 新しいバージョンのデータシッピングジョブを作成するときに、Simple Log Serviceの読み取り権限パラメーターをカスタムロールに設定し、カスタムRAMロールのAlibaba Cloudリソース名 (ARN) を入力します。 この例では、acs:ram::10 **** 12:role/maxcomputeshiproleと入力します。 RAMロールのARNを取得する方法の詳細については、「RAMロールに関する情報の表示」をご参照ください。 角色标识