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

Simple Log Service:シナリオ2: カスタムロールを使用して同じAlibaba Cloudアカウント内でデータを転送する

最終更新日:Aug 28, 2024

Resource Access Management (RAM) ユーザーを使用してデータ変換ジョブを作成する場合、同じAlibaba Cloudアカウント内でデータを転送するカスタムロールを指定できます。

前提条件

  • プロジェクトが作成されます。 ソースLogstoreとターゲットLogstoreがプロジェクトに作成されます。 ソースLogstoreとターゲットLogstoreの名前とプロジェクトの名前が取得されます。 詳細については、「Logstoreの管理」および「プロジェクトの管理」をご参照ください。

  • RAMユーザーが作成され、データ変換操作を実行するために必要な権限がRAMユーザーに付与されます。 詳細については、「RAMユーザーにデータ変換ジョブを管理する権限を付与する」をご参照ください。

背景情報

Alibaba Cloudアカウントが1つしか含まれないシナリオでは、RAMユーザーを使用してデータ変換ジョブが作成されます。 ロールAには、ソースLogstoreに対する読み取り権限が必要であり、ロールBには、ターゲットLogstoreに対する書き込み権限が必要です。 権限付与の要件を次の図に示します。

image

ステップ1: Alibaba Cloudアカウントを使用してロールAを作成する

  1. RAMコンソールAlibaba Cloudアカウントを使用します。

  2. ロールAを作成します。

    詳細については、「信頼できるAlibaba CloudサービスのRAMロールの作成」をご参照ください。 次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    信頼できるエンティティの選択

    [Alibaba Cloudサービス] を選択します。

    ロールタイプ

    [通常のサービスロール] を選択します。

    RAMロール名

    ロールの名前を入力します。 この例では、role-Aと入力します。

    信頼できるサービスの選択

    [Log Service] を選択します。

ステップ2: Alibaba Cloudアカウントを使用してロールAに読み取り権限を付与する

  1. RAMコンソールAlibaba Cloudアカウントを使用します。

  2. JSONタブでカスタムポリシーを作成します。 ポリシーは、ソースLogstoreからデータを読み取る権限を付与します。 この例では、ori_readという名前のポリシーを作成します。

    詳細については、「カスタムポリシーの作成」をご参照ください。 次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    名前

    カスタムポリシーの名前を入力します。 この例では、ori_readと入力します。

    ポリシードキュメント

    コードエディターの内容を次のスクリプトに置き換えます。

    この例では、ソースプロジェクトの名前は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"
        }
      ]
    }
  3. ソースLogstoreの読み取り権限をロールAに付与します。

    詳細については、「RAMロールへの権限の付与」をご参照ください。 次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    承認済みスコープ

    [Alibaba Cloudアカウント] を選択します。 権限付与は、現在のAlibaba Cloudアカウント内で有効になります。

    プリンシパル

    role-Aを選択します。 role-Aは、手順1: Alibaba Cloudアカウントを使用してロールAを作成するで作成されたロールAの名前です。

    カスタムポリシー

    ori_readを選択します。

  4. ロールAのAlibaba Cloudリソース名 (ARN) を取得します。

    ロールAの詳細ページの [基本情報] セクションで、ロールのARNを取得します。 例: acs:ram::1379 ****** 44:role/role-a

ステップ3: Alibaba Cloudアカウントを使用してロールBを作成する

  1. RAMコンソールAlibaba Cloudアカウントを使用します。

  2. ロールBを作成します。

    詳細については、「信頼できるAlibaba CloudサービスのRAMロールの作成」をご参照ください。 次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    信頼できるエンティティの選択

    [Alibaba Cloudサービス] を選択します。

    ロールタイプ

    [通常のサービスロール] を選択します。

    RAMロール名

    ロールの名前を入力します。 この例では、role-Bと入力します。

    信頼できるサービスの選択

    [Log Service] を選択します。

ステップ4: Alibaba Cloudアカウントを使用してロールBに書き込み権限を付与する

  1. RAMコンソールAlibaba Cloudアカウントを使用します。

  2. JSONタブでカスタムポリシーを作成します。 ポリシーは、宛先Logstoreにデータを書き込む権限を付与します。 この例では、writeという名前のポリシーを作成します。

    詳細については、「カスタムポリシーの作成」をご参照ください。 次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    名前

    カスタムポリシーの名前を入力します。 この例では、writeと入力します。

    ポリシードキュメント

    コードエディターの内容を次のスクリプトに置き換えます。

    この例では、ターゲットプロジェクトの名前はlog-project-prod、ターゲットLogstoreの名前はaccess_log_outputです。 ビジネス要件に基づいて、プロジェクト名とLogstore名を置き換えます。

    {
      "Version": "1",
      "Statement": [
        {
          "Action": [
            "log:Post*",
            "log:BatchPost*"
          ],
           "Resource": "acs:log:*:*:project/log-project-prod/logstore/access_log_output",
          "Effect": "Allow"
        }
      ]
    }
  3. 宛先ログストアの書き込み権限をロールBに付与します。

    詳細については、「RAMロールへの権限の付与」をご参照ください。 次の表に、主要なパラメーターを示します。

    パラメーター

    説明

    承認済みスコープ

    [Alibaba Cloudアカウント] を選択します。 権限付与は、現在のAlibaba Cloudアカウント内で有効になります。

    プリンシパル

    role-Bを選択します。 role-Bは、手順3: Alibaba Cloudアカウントを使用してロールBを作成するで作成されたロールBの名前です。

    カスタムポリシー

    writeを選択します。

  4. ロールBのARNを取得します。

    ロールBの詳細ページの [基本情報] セクションで、ロールのARNを取得します。 例: acs:ram::1379 ****** 44:role/role-b

ステップ5: RAMユーザーを使用してデータ変換ジョブを作成する

  1. RAMユーザーを使用して、Simple Log Serviceコンソールにログインします。

  2. データ変換ページに移動します。

    1. [プロジェクト] セクションで、管理するプロジェクトをクリックします。

    2. ログストレージ > ログストアタブで、管理するLogstoreをクリックします。

    3. クエリと分析ページで、[データ変換] をクリックします。

  3. ページの右上隅で、変換するログデータの時間範囲を指定します。

    [生ログ] タブにログデータが存在することを確認します。

  4. コードエディターで、データ変換ステートメントを入力します。

    詳細については、「データ変換構文」をご参照ください。

  5. 変換結果をプレビューします。

    1. [クイック] をクリックします。

      [クイック] または [詳細] を選択できます。 詳細については、「プレビューモードの概要」をご参照ください。

    2. [データのプレビュー] をクリックします。

      プレビュー結果を表示します。

      • 指定されたステートメントが無効であるか、付与された権限が無効であるためにデータの変換に失敗した場合は、画面の指示に従って障害のトラブルシューティングを行います。

      • 変換されたデータが期待どおりに返された場合は、次のステップに進みます。

  6. データ変換ジョブを作成します。

    1. 変換ジョブとして保存.

    2. データ変換ジョブの作成パネル、パラメータを設定し、OK.

      パラメーターの詳細については、「データ変換の開始」をご参照ください。 次の表に、主要なパラメーターを示します。

      パラメーター

      説明

      権限付与方法

      [カスタムロール] をクリックします。

      ロールARN

      ロールAのARNを入力します。例: acs:ram::1379 ****** 44: Role /role-a

      ストレージの宛先での権限付与方法

      [カスタムロール] をクリックします。

      ロールARN

      ロールBのARNを入力します。例: acs:ram::1379 ****** 44: Role /role-b

    データ変換ジョブを作成して実行すると、同じAlibaba Cloudアカウント内でデータを転送できます。 詳細については、「データ変換ジョブの管理」をご参照ください。