Resource Access Management (RAM) ユーザーを使用して、同じ Alibaba Cloud アカウント内または Alibaba Cloud アカウント間で Simple Log Service Logstore から Object Storage Service (OSS) バケットにログを転送する場合、RAM コンソールで RAM ユーザーに必要な権限を付与する必要があります。このトピックでは、RAM コンソールで承認を実行する方法について説明します。
ログを OSS に転送する古いバージョンは廃止されました。新しいバージョンを参照してください。
RAM ユーザーを使用して OSS データ転送ジョブを作成する(推奨)
OSS データ転送ジョブを作成する場合、指定できる OSS バケットは 1 つだけです。2 つの Alibaba Cloud アカウントの OSS バケットにログを転送する場合は、2 つのデータ転送ジョブを作成する必要があります。
同じ Alibaba Cloud アカウント内でデータを転送する
Logstore と OSS バケットは同じ Alibaba Cloud アカウントに属しています。
手順
ram-userという名前の RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。ram-userに、Logstore からデータを読み取り、OSS に転送するための権限を付与します。ShipLogsToOSSという名前のカスタムポリシーを作成します。次のコードはポリシードキュメントを示しています。詳細については、「カスタムポリシーの作成」をご参照ください。説明ビジネスシナリオに基づいて、ポリシードキュメントの プロジェクト名 と Logstore 名 を置き換えることができます。
{ "Version": "1", "Statement": [{ "Effect": "Allow", "Action": [ "log:GetLogStore", "log:GetIndex", "log:GetLogStoreHistogram", "log:GetLogStoreLogs" ], "Resource": [ "acs:log:*:*:project/プロジェクト名/logstore/Logstore名", // プロジェクト名とLogstore名を置き換えてください "acs:log:*:*:project/プロジェクト名/logstore/internal-diagnostic_log" // プロジェクト名を置き換えてください ] }, { "Effect": "Allow", "Action": [ "log:CreateJob", "log:UpdateJob", "log:DeleteJob", "log:ListJobs", "log:GetJob" ], "Resource": "acs:log:*:*:project/プロジェクト名/job/*" // プロジェクト名を置き換えてください }, { "Effect": "Allow", "Action": [ "log:ListLogStores", "log:ListDashboard", "log:ListSavedSearch" ], "Resource": "acs:log:*:*:project/プロジェクト名/*" // プロジェクト名を置き換えてください }, { "Effect": "Allow", "Action": [ "ram:PassRole", "ram:GetRole", "ram:ListRoles" ], "Resource": "*" } ] }
次の手順
RAM ユーザーとして Log Service コンソール にログインし、OSS データ転送ジョブを作成します。 詳細については、「Log Service から OSS にログデータを送信する」をご参照ください。
Alibaba Cloud アカウント間でデータを転送する
Logstore と OSS バケットは異なる Alibaba Cloud アカウントに属しています。Logstore は Alibaba Cloud アカウント A に属し、OSS バケットは Alibaba Cloud アカウント B に属しています。
手順
Alibaba Cloud アカウント B 内の AliyunLogDefaultRole ロールの信頼ポリシーを変更して、Alibaba Cloud アカウント A が Alibaba Cloud アカウント B の OSS バケットにデータを書き込むことを許可します。詳細については、「AliyunLogDefaultRole ロールの信頼ポリシーの変更」をご参照ください。
Alibaba Cloud アカウント A 用に
ram-user-aという名前の RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。ram-userに、Logstore からデータを読み取り、OSS に転送するための権限を付与します。ShipLogsToOSSという名前のカスタムポリシーを作成します。次のコードはポリシードキュメントを示しています。{Alibaba Cloud アカウント B の ID}をビジネスシナリオに基づいて置き換えます。詳細については、「カスタムポリシーの作成」をご参照ください。{ "Version": "1", "Statement": [{ "Effect": "Allow", "Action": [ "log:GetLogStore", "log:GetIndex", "log:GetLogStoreHistogram", "log:GetLogStoreLogs" ], "Resource": [ "acs:log:*:*:project/プロジェクト名/logstore/Logstore名", // プロジェクト名とLogstore名を置き換えてください "acs:log:*:*:project/プロジェクト名/logstore/internal-diagnostic_log" // プロジェクト名を置き換えてください ] }, { "Effect": "Allow", "Action": [ "log:CreateJob", "log:UpdateJob", "log:DeleteJob", "log:ListJobs", "log:GetJob" ], "Resource": "acs:log:*:*:project/プロジェクト名/job/*" // プロジェクト名を置き換えてください }, { "Effect": "Allow", "Action": [ "log:ListLogStores", "log:ListDashboard", "log:ListSavedSearch" ], "Resource": "acs:log:*:*:project/プロジェクト名/*" // プロジェクト名を置き換えてください }, { "Effect": "Allow", "Action": [ "ram:PassRole", "ram:GetRole", "ram:ListRoles" ], "Resource": "acs:ram::{Alibaba Cloud アカウント B の ID}:role/aliyunlogdefaultrole" // アカウントBのIDを置き換えてください } ] }ShipLogsToOSSポリシーをram-user-aにアタッチします。詳細については、「RAM ユーザーに権限を付与する」をご参照ください。
次の手順
RAM ユーザーとして [Simple Log Service コンソール] にログインし、OSS データ転送ジョブを作成します。 詳細については、「Simple Log Service から OSS にログデータを転送する」をご参照ください。
Alibaba Cloud アカウントを使用して OSS データ転送ジョブを作成する
Alibaba Cloud アカウントには、すべてのクラウドリソースを管理するための権限があります。セキュリティリスクを軽減するために、RAM ユーザーを使用することをお勧めします。
OSS データ転送ジョブを作成する場合、指定できる OSS バケットは 1 つだけです。2 つの Alibaba Cloud アカウントの OSS バケットにログを転送する場合は、2 つのデータ転送ジョブを作成する必要があります。
同じ Alibaba Cloud アカウント内でデータを転送する
Logstore と OSS バケットは同じ Alibaba Cloud アカウントに属しています。
手順
AliyunLogDefaultRole という名前の RAM ロールを作成します。詳細については、「クラウドリソースアクセス承認」をご参照ください。
次の手順
Alibaba Cloud アカウントを使用して Simple Log Service コンソール にログインし、OSS データ転送ジョブを作成します。 詳細については、「Simple Log Service から OSS にログデータを転送する」をご参照ください。
Alibaba Cloud アカウント間でデータを転送する
Logstore と OSS バケットは異なる Alibaba Cloud アカウントに属しています。Logstore は Alibaba Cloud アカウント A に属し、OSS バケットは Alibaba Cloud アカウント B に属しています。
手順
Alibaba Cloud アカウント B 用に AliyunLogDefaultRole という名前の RAM ユーザーを作成します。詳細については、「クラウドリソースアクセス承認」をご参照ください。
Alibaba Cloud アカウント B 内の AliyunLogDefaultRole ロールの信頼ポリシーを変更して、Alibaba Cloud アカウント A が Alibaba Cloud アカウント B の OSS バケットにデータを書き込むことを許可します。詳細については、「AliyunLogDefaultRole ロールの信頼ポリシーの変更」をご参照ください。
次の手順
Alibaba Cloud アカウントを使用して [Simple Log Service コンソール] にログインし、OSS データ転送ジョブを作成します。 詳細については、「Simple Log Service から OSS にログデータを転送する」をご参照ください。
AliyunLogDefaultRole ロールの信頼ポリシーを変更する
Alibaba Cloud アカウント A の Simple Log Service Logstore から Alibaba Cloud アカウント B の OSS バケットにログを転送するには、AliyunLogDefaultRole ロールの信頼ポリシーを変更する必要があります。詳細については、AliyunLogDefaultRole をご参照ください。手順:
Alibaba Cloud アカウント B を使用して クラウドリソースアクセス承認 ページに移動し、AliyunLogDefaultRole ロールを作成します。
Alibaba Cloud アカウント B を使用して RAM コンソール にログインします。
ID左側のナビゲーションウィンドウで、[ID] [>] を選択します。
[ロール] ページで、
AliyunLogDefaultRoleロールを見つけ、名前をクリックします。[信頼ポリシー] タブで、[信頼ポリシーの編集] をクリックします。
説明コードエディタで、
{Alibaba Cloud アカウント A の ID}@log.aliyuncs.comをService要素に追加します。{Alibaba Cloud アカウント A の ID}を Alibaba Cloud アカウントの ID に置き換えます。Alibaba Cloud アカウントの ID は、アカウントセンター コンソールで確認できます。{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "{Alibaba Cloud アカウント A の ID}@log.aliyuncs.com", // アカウントAのIDを置き換えてください "log.aliyuncs.com" ] } } ], "Version": "1" }