Simple Log Service は、データ変換ジョブに対してデフォルトロールおよびカスタムロールをサポートしています。カスタムロールを使用するには、該当するログストアに対する読み取りおよび書き込み権限をそのロールに付与する必要があります。
前提条件
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 ロールにソースログストアへの読み取りアクセス権限を付与します。「データ変換ジョブの作成」時にこのロールを指定します。
-
Alibaba Cloud アカウントまたは管理権限を持つ RAM ユーザーで、RAM コンソール にログインします。
カスタムポリシーを作成します。ここでは、ソースログストアに対する読み取り専用権限を付与する
log-etl-source-reader-policyポリシーを作成する例を示します。詳細については、「JSON エディターの使用」をご参照ください。ポリシー作成ページの JSON タブで、コードエディタ内の既存のスクリプトを、権限付与に 完全に一致 または あいまい一致 を使用するポリシードキュメントに置き換えます。
権限付与における完全一致
この例では、ソースプロジェクト名は log-project-prod、ソースログストア名は 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、ソースログストア名は 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" } ] }-
作成したカスタムポリシーを RAM ロールにアタッチします。詳細については、「RAM ロールの権限管理」をご参照ください。
送信先ログストアへの書き込み権限の付与(同一アカウント)
ソースログストアと送信先ログストアが同じ Alibaba Cloud アカウントに属している場合、RAM ロールに送信先ログストアへの書き込みアクセス権限を付与します。「データ変換ジョブの作成」時にこのロールを指定します。
カスタムポリシーを作成します。ここでは、変換結果を送信先ログストアに書き込む権限を付与する
log-etl-target-writer-policyポリシーを作成する例を示します。詳細については、「JSON エディターの使用」をご参照ください。ポリシー作成ページの JSON タブで、コードエディタ内の既存のスクリプトを、権限付与に 完全に一致 または あいまい一致 を使用するポリシードキュメントに置き換えます。
権限付与における完全一致
この例では、送信先プロジェクト名は log-project-prod、送信先ログストア名は 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、送信先ログストア名は 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" } ] }-
作成したカスタムポリシーを RAM ロールにアタッチします。詳細については、「RAM ロールの権限管理」をご参照ください。
送信先ログストアへの書き込み権限の付与(クロスアカウント)
ソースログストアと送信先ログストアが異なる Alibaba Cloud アカウントに属している場合、送信先アカウントの RAM ロールの信頼ポリシーを変更して、クロスアカウントアクセスを許可する必要があります。以下の手順では、アカウント A(ソース)とアカウント B(送信先)を例として説明します。
開始前に、「送信先ログストアへの書き込み権限の付与(同一アカウント)」の説明に従って、アカウント B の RAM ロールに送信先ログストアへの書き込みアクセス権限を付与してください。
-
Alibaba Cloud アカウントまたは管理権限を持つ RAM ユーザーで、RAM コンソール にログインします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
対象の RAM ロールを検索してクリックします。
-
信頼ポリシー タブで、信頼ポリシーの編集 をクリックします。
Serviceフィールドに、ソースログストアが属する Alibaba Cloud アカウント A の IDを追加します。ソースログストアが属する Alibaba Cloud アカウント A の IDは、アカウント管理 から実際のアカウント ID に置き換えてください。このポリシーにより、アカウント A が一時的な SLS トークンを使用してアカウント B のリソースを操作できるようになります。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "Alibaba Cloud account ID of Account A@log.aliyuncs.com" ] } } ], "Version": "1" } -
RAM ロールの Alibaba Cloud リソースネーム (ARN) を取得します。詳細については、「RAM ロールの表示」をご参照ください。
次のステップ
「データ変換ジョブの作成」時に RAM ロールの ARN を指定します。