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

Simple Log Service:RAMロールに、Alibaba Cloudアカウント全体のLogstoreにアクセスする権限を付与する

最終更新日:Dec 09, 2024

スケジュールされたSQLジョブが実行されると、ジョブはSQL文を実行してソースLogstoreのデータを分析し、分析結果を宛先Logstoreまたは宛先Metricstoreに保存します。 リソースアクセス管理 (RAM) ロールをスケジュールされたSQLジョブに割り当てて、上記の操作を完了できます。 ソースLogstoreとターゲットLogstoreが同じAlibaba Cloudアカウントに属していない場合は、このトピックで説明されている手順を実行して、RAMロールに権限を付与します。 スケジュールされたSQLジョブを設定するときに、LogstoreまたはMetricstoreを指定できます。 このトピックでは、Alibaba Cloudアカウント間でLogstoreにアクセスする権限をRAMロールに付与する方法について説明します。

前提条件

role-aという名前のRAMロールはAlibaba CloudアカウントAに作成されます。role-bという名前のRAMロールはAlibaba CloudアカウントBに作成されます。詳細については、「信頼できるAlibaba CloudサービスのRAMロールの作成」をご参照ください。

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

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

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

role-aにソースLogstoreのデータを分析する権限を付与する

role-aにAlibaba CloudアカウントAに属するソースLogstoreのデータを分析する権限を付与すると、スケジュールされたSQLジョブはrole-aを引き受けて、ソースLogstoreのデータに対してSQL分析を実行できます。

  1. Alibaba CloudアカウントAを使用して、RAMコンソールにログインします。

  2. ソースLogstoreのログデータを分析する権限を含むポリシーを作成します。

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

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

    3. [ポリシーの作成] ページで、[JSON] タブをクリックします。 コードエディターの既存のスクリプトを次のいずれかのポリシードキュメントに置き換えます。 完全一致またはファジー一致が承認にサポートされています。

      認証の完全一致

      この例では、ソースプロジェクトの名前はlog-project-prodです。 ソースLogstoreの名前はwebsite_logです。 名前は、プロジェクトとLogstoreの実際の名前に置き換える必要があります。

      重要

      ポリシーを作成するときは、Logstoreキーワードの後にlogstoreまたはMetricstoreを指定できます。 Metricstoreを管理する場合は、次のポリシードキュメントを参照してポリシーを作成することもできます。

      {
          "Version":"1",
          "Statement":[
              {
                  "Action":[
                      "log:PostProjectQuery"
                  ],
                  "Resource":[
                      "acs:log:*:*:project/log-project-prod/logstore/website_log",
                      "acs:log:*:*:project/log-project-prod/logstore/website_log/*"
                  ],
                  "Effect":"Allow"
              },
              {
                  "Action":[
                      "log:GetProjectQuery",
                      "log:PutProjectQuery",
                      "log:DeleteProjectQuery"
                  ],
                  "Resource":[
                      "acs:log:*:*:project/log-project-prod"
                  ],
                  "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:PostProjectQuery"
                  ],
                  "Resource":[
                      "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log",
                      "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log/*"
                  ],
                  "Effect":"Allow"
              },
              {
                  "Action":[
                      "log:GetProjectQuery",
                      "log:PutProjectQuery",
                      "log:DeleteProjectQuery"
                  ],
                  "Resource":[
                      "acs:log:*:*:project/log-project-dev-*"
                  ],
                  "Effect":"Allow"
              }
          ]
      }
    4. [OK] をクリックします。 表示されるダイアログボックスで、パラメーターを設定します。 下表に、各パラメーターを説明します。

      パラメーター

      説明

      名前

      ポリシー名です。

      脱着

      ポリシーの説明です。

  3. role-aに必要な権限を付与します。

    1. 左側のナビゲーションペインで、[ID] > [ロール] を選択します。

    2. RAMロールを見つけ、[操作] 列の [権限の付与] をクリックします。

    3. 手順2で作成したポリシーを選択し、[OK] をクリックします。

    4. 閉じるをクリックします。

role-bに、宛先Logstoreにデータを書き込む権限を付与する

Alibaba Cloudアカウントbに属する宛先Logstoreにデータを書き込む権限をrole-Bに付与すると、スケジュールされたSQLジョブはrole-bを引き受け、Alibaba CloudアカウントaのSQL分析結果を宛先Logstoreに書き込むことができます。

  1. Alibaba CloudアカウントBを使用して、RAMコンソールにログインします。

  2. 宛先Logstoreにデータを書き込む権限を含むポリシーを作成します。

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

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

    3. [ポリシーの作成] ページで、[JSON] タブをクリックします。 コードエディターの既存のスクリプトを次のいずれかのポリシードキュメントに置き換えます。 完全一致またはファジー一致が承認にサポートされています。

      認証の完全一致

      この例では、ソースプロジェクトの名前はlog-project-prodです。 ソースLogstoreの名前はwebsite_log_outputです。 名前は、プロジェクトとLogstoreの実際の名前に置き換える必要があります。

      重要

      ポリシーを作成するときは、Logstoreキーワードの後にlogstoreまたはMetricstoreを指定できます。 Metricstoreを管理する場合は、次のポリシードキュメントを参照してポリシーを作成することもできます。

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

      承認のためのファジーマッチ

      この例では、ソースプロジェクトの名前は、log-project-dev-a、log-project-dev-b、およびlog-project-dev-cです。 ソースLogstoreの名前は、website_a_log_output、website_b_log_output、およびwebsite_c_log_outputです。 名前は、プロジェクトとLogstoreの実際の名前に置き換える必要があります。

      {
        "Version": "1",
        "Statement": [
          {
            "Action": [
              "log:Post*",
              "log:BatchPost*"
            ],
             "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log_output",
            "Effect": "Allow"
          }
        ]
      }
    4. [OK] をクリックします。 表示されるダイアログボックスで、パラメーターを設定します。 下表に、各パラメーターを説明します。

      パラメーター

      説明

      名前

      ポリシー名です。

      脱着

      ポリシーの説明です。

  3. role-bに必要な権限を付与します。

    1. 左側のナビゲーションペインで、[ID] > [ロール] を選択します。

    2. RAMロールを見つけ、[操作] 列の [権限の付与] をクリックします。

    3. 手順2で作成したポリシーを選択し、[OK] をクリックします。

    4. 閉じるをクリックします。

  4. role-bの信頼ポリシーを編集します。

    1. [RAMロール] リストで、管理するRAMロールをクリックします。 この例では、role-Bをクリックします。

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

    3. ポリシーを変更します。

      [Alibaba CloudアカウントAのID][サービス] 要素に追加します。 ビジネスシナリオに基づいてIDを置き換えます。 アカウントセンターコンソールでAlibaba CloudアカウントのIDを確認できます。

      次のポリシーにより、Alibaba CloudアカウントAは、Alibaba cloudアカウントBのクラウドリソースを管理するための一時的なSTS (Security Token Service) トークンを取得できます。

      {
          "Statement": [
              {
                  "Action": "sts:AssumeRole",
                  "Effect": "Allow",
                  "Principal": {
                      "Service": [
                          "log.aliyuncs.com",
                          "ID of Alibaba Cloud Account A@log.aliyuncs.com"
                      ]
                  }
              }
          ],
          "Version": "1"
      }
    4. [信頼ポリシードキュメントの保存] をクリックします。