Resource Access Management (RAM) ユーザーを使用して、Simple Log Service Logstoreから同じAlibaba Cloudアカウント内または複数のAlibaba Cloudアカウント内のObject Storage Service (OSS) バケットにログを送信する場合は、RAMコンソールでRAMユーザーに必要な権限を付与する必要があります。 このトピックでは、RAMコンソールで権限付与を実行する方法について説明します。
制御ポリシー機能の動作
次のプロセスは、Simple Log Service LogstoreからOSSバケットにログを送信する方法を示しています。
Alibaba CloudアカウントまたはRAMユーザーがOSSデータ配布ジョブを作成します。
Simple Log Serviceは、AliyunLogDefaultRole RAMロールを引き受けます。
RAMロールはLogstoreのログを読み取ります。
RAMロールはログをバケットに送信します。
前提条件
AliyunLogDefaultRole RAMロールは、必要なOSSバケットの所有者によって作成されます。 詳細については、Cloud Resource Access Authorizationページをご参照ください。
RAMユーザーを使用したOSSデータ配布ジョブの作成
OSSデータシッピングジョブを作成するとき、指定できるOSSバケットは1つだけです。 2つのAlibaba CloudアカウントのOSSバケットにログを送信する場合は、2つのデータシッピングジョブを作成する必要があります。
Logstoreとバケットは同じAlibaba Cloudアカウントに属しています。
RAMユーザーを使用してデータ配布ジョブを作成する前に、Alibaba Cloudアカウントを使用してRAMユーザーに必要な権限を付与する必要があります。
Alibaba Cloudアカウントを使用して、RAMコンソール.
ポリシーを作成します。
左側のナビゲーションウィンドウで、 .
[ポリシー] ページで、ポリシーの作成.
[ポリシーの作成] ページで、JSONタブで、コードエディターの既存のスクリプトを次のスクリプトに置き換え、ポリシー情報を編集する次に.
説明ポリシーにPassRole権限を含める必要があります。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "log:*", "Resource": "*" }, { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "*" } ] }
RAMユーザーを作成します。 詳細については、「RAMユーザーの作成」をご参照ください。
ポリシーをRAMユーザーにアタッチします。
左側のナビゲーションウィンドウで、 .
[ユーザー] ページで、RAMユーザーを見つけ、権限の追加[アクション] 列に表示されます。
[権限付与] パネルで、カスタムポリシー[ポリシー] セクションのドロップダウンリストで、手順2で作成したポリシーを選択し、権限の付与.
Logstoreとバケットは異なるAlibaba Cloudアカウントに属しています。
Logstoreとバケットは異なるAlibaba Cloudアカウントに属しています。 LogstoreはAlibaba CloudアカウントAに属し、バケットはAlibaba CloudアカウントBに属します。
すべての前提条件がAlibaba CloudアカウントB内で満たされていることを確認します。
Alibaba CloudアカウントB内のAliyunLogDefaultRoleロールの信頼ポリシーを変更して、Alibaba CloudアカウントAがAlibaba CloudアカウントBのバケットにデータを書き込むことを許可します。詳細については、「AliyunLogDefaultRoleロールの信頼ポリシーの変更」をご参照ください。
Alibaba CloudアカウントAを使用して、RAMコンソールにログインします。
RAMユーザーA1の作成 詳細については、「RAM ユーザーの作成」をご参照ください。
AliyunRAMFullAccessポリシーをRAMユーザーA1にアタッチします。
左側のナビゲーションペインで、
を選択します。[ユーザー] ページで、RAMユーザーA1を見つけ、[操作] 列の [権限の追加] をクリックします。
[権限付与] パネルで、[ポリシー] セクションのドロップダウンリストから [システムポリシー] をクリックし、[AliyunRAMFullAccess] ポリシーを選択し、[権限付与] をクリックします。
RAMユーザーA1にポリシーをアタッチすると、RAMユーザーA1にはRAMに対するフルアクセス権限が付与されます。
RAMユーザーA1に、データをOSSに送信するために必要な権限のみを付与する場合は、RAMユーザーA1にカスタムポリシーをアタッチできます。 次のサンプルコードは、カスタムポリシーの例を示しています。
Resource
要素の値は、Alibaba CloudアカウントB内のAliyunLogDefaultRoleロールのAlibaba Cloudリソース名 (ARN) です。カスタムポリシーの作成方法の詳細については、「カスタムポリシーの作成」をご参照ください。{ "Statement": [ { "Action": "ram:PassRole", "Effect": "Allow", "Resource": "acs:ram::${ID of Alibaba Cloud Account B}:role/aliyunlogdefaultrole" } ], "Version": "1" }
RAM ロールの ARN を取得します。
RAMロールの詳細ページの [基本情報] セクションで、RAMロールのARNを取得します。 例: acs:ram::13234:role/logrole。
RAMユーザーA1を使用してデータシッピングジョブを作成する場合は、OSS Write RAM RoleフィールドにARNを入力します。
Alibaba Cloudアカウントを使用したOSSデータ配布ジョブの作成
Alibaba Cloudアカウントには、すべてのクラウドリソースを管理する権限があります。 セキュリティリスクを軽減するために、RAMユーザーを使用することを推奨します。
OSSデータシッピングジョブを作成するとき、指定できるOSSバケットは1つだけです。 2つのAlibaba CloudアカウントのOSSバケットにログを送信する場合は、2つのデータシッピングジョブを作成する必要があります。
Logstoreとバケットは同じAlibaba Cloudアカウントに属しています。 この場合、このトピックの「前提条件」セクションで説明されている権限設定のみを完了する必要があります。
Logstoreとバケットは異なるAlibaba Cloudアカウントに属しています。 LogstoreはAlibaba CloudアカウントAに属し、バケットはAlibaba CloudアカウントBに属します。
すべての前提条件がAlibaba CloudアカウントB内で満たされていることを確認します。
Alibaba CloudアカウントB内のAliyunLogDefaultRoleロールの信頼ポリシーを変更して、Alibaba CloudアカウントAがAlibaba CloudアカウントBのバケットにデータを書き込むことを許可します。詳細については、「AliyunLogDefaultRoleロールの信頼ポリシーの変更」をご参照ください。
AliyunLogDefaultRoleロールの信頼ポリシーの変更
Alibaba CloudアカウントaのSimple Log Service LogstoreからAlibaba CloudアカウントBのOSSバケットにログを送信する場合は、AliyunLogDefaultRoleロールの信頼ポリシーを変更する必要があります。
Alibaba CloudアカウントBを使用して [クラウドリソースアクセス許可] ページに移動し、AliyunLogDefaultRoleロールを作成します。
Alibaba Cloud のアカウント B を使用して、RAM コンソールにログインします。
左側のナビゲーションペインで、
を選択します。[ロール] ページで、
AliyunLogDefaultRole
ロールを見つけ、名前をクリックします。表示されるページで、[信頼ポリシー] タブをクリックします。 次に、[信頼ポリシーの編集] をクリックします。
コードエディターで、Alibaba CloudアカウントA@log.aliyuncs.comのIDを
Service
要素に追加します。Alibaba CloudアカウントAのID
をAlibaba CloudアカウントのIDに置き換えます。 Alibaba CloudアカウントのIDは、 アカウントセンターコンソール。 c{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "${ID of Alibaba Cloud Account A}@log.aliyuncs.com", "log.aliyuncs.com" ] } } ], "Version": "1" }
RAM ロールの ARN を取得します。 RAMロールの詳細ページの [基本情報] セクションで、RAMロールのARNを取得します。 例:
acs:ram::13234:role/logrole
Alibaba CloudアカウントAを使用してデータシッピングジョブを作成する場合、OSS Write RAM RoleフィールドにARNを入力します。
関連ドキュメント
Simple Log Serviceは、AliyunLogDefaultRoleを引き受けることで、すべてのバケットの書き込み権限を取得できます。 権限の範囲を絞り込む必要がある場合は、AliyunLogDefaultRoleロールからAliyunLogRolePolicy権限をデタッチし、RAMポリシーをAliyunLogDefaultRoleに付与します。