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

IoT Platform:別のアカウントの RAM ユーザーにサーバー側サブスクリプションの使用を承認する

最終更新日:Mar 26, 2025

Resource Access Management (RAM) ロールを使用して、別の Alibaba Cloud アカウントの RAM ユーザーに IoT Platform のサーバー側サブスクリプション機能の使用を承認できます。たとえば、企業 A は Alibaba Cloud アカウントを使用して RAM ロールを作成し、このロールに権限を付与してから、このロールを企業 B の Alibaba Cloud アカウントに割り当てます。このようにして、企業 B の Alibaba Cloud アカウントとその RAM ユーザーは、企業 A のサーバー側サブスクリプションリソースにアクセスできます。

背景情報

Security Token Service (STS) を使用すると、Alibaba Cloud リソースへのアクセスに使用される一時的な認証情報を管理できます。RAM を使用すると、Alibaba Cloud アカウントの次の ID を作成および管理できます。RAM ユーザーと RAM ロール。

RAM ロールは、ポリシーをアタッチできる仮想 ID です。RAM ロールには、ログインパスワードまたは AccessKey ペアがありません。RAM ロールは、RAM ユーザー、Alibaba Cloud サービス、ID プロバイダー (IdP) などの信頼できるエンティティによって引き受けられる必要があります。信頼できるエンティティが RAM ロールを引き受けると、信頼できるエンティティは RAM ロールの STS トークンを取得して使用し、RAM ロールが権限を持つリソースにアクセスできます。

STS の機能と利点の詳細については、「STS とは」をご参照ください。

シナリオ

企業 A は Alibaba Cloud アカウントを使用して IoT Platform をアクティブ化し、企業 B の Alibaba Cloud アカウントにサーバー側サブスクリプションリソースへのアクセスを承認したいと考えています。

ソリューション

企業 A は、企業 B の従業員に IoT Platform のサーバー側サブスクリプションリソースへのアクセスを承認する必要があります。このトピックでは、アカウント A は企業 A の Alibaba Cloud アカウントを示し、アカウント B は企業 B の Alibaba Cloud アカウントを示します。アカウント B がアカウント A に属するリソースにアクセスできるようにするには、次の手順を実行します。

  1. 手順 1: RAM ロールを作成し、RAM ロールに権限を付与する

    企業 A はアカウント A を使用して RAM ロールを作成し、サーバー側サブスクリプションに関連するポリシーを RAM ロールにアタッチしてから、アカウント B に属する RAM ユーザーがこのロールを引き受けられるようにします。

  2. 手順 2: アカウント間で AMQP サーバー側サブスクリプションメッセージを受信する

    必要な権限が RAM ロールに付与されると、アカウント B に属する RAM ユーザーはアカウント A の RAM ロールを引き受けて、ロールの権限を取得します。

手順 1: RAM ロールを作成し、RAM ロールに権限を付与する

  1. 信頼できる Alibaba Cloud アカウントの RAM ロールを作成する: 企業 A はアカウント A を使用して RAM コンソール にログインし、企業 B のアカウント B の RAM ロールを作成します。

    [ロールの作成] ウィザードの [ロールの構成] ステップで、[信頼できる Alibaba Cloud アカウントの選択] パラメーターに [その他の Alibaba Cloud アカウント] を選択し、アカウント B の ID を入力します。

  2. JSON タブでカスタムポリシーを作成する: 企業 A はアカウント A を使用してカスタムポリシーを作成します。

    サーバー側サブスクリプションを使用する権限を付与するには、アクションiot:sub パラメーターを に設定します。次のコードは、ポリシーの内容を示しています。

    {
      "Statement": [
        {
          "Action": "iot:sub", // アクション
          "Effect": "Allow", // 許可
          "Resource": "*" // リソース
        }
      ],
      "Version": "1" // バージョン
    }
  3. RAM ロールに権限を付与する: 企業 A はアカウント A を使用して、前の手順で作成したカスタムポリシーを RAM ロールにアタッチします。

  4. RAM ユーザーを作成する: 企業 B はアカウント B を使用して RAM コンソール にログインし、RAM ユーザーを作成します。

  5. RAM ユーザーに権限を付与する: 企業 B はアカウント B を使用して、前の手順で作成した RAM ユーザーに AliyunSTSAssumeRoleAccess 権限を付与し、アカウント B の RAM ユーザーがアカウント A の RAM ロールを引き受けられるようにします。

手順 2: アカウント間で AMQP サーバー側サブスクリプションメッセージを受信する

  1. AMQP サーバー側サブスクリプションを設定する: 企業 A はアカウント A を使用して IoT Platform コンソール にログインし、Advanced Message Queuing Protocol (AMQP) サーバー側サブスクリプションを設定します。

  2. サーバー側サブスクリプションメッセージを受信するように AMQP クライアントを設定する: 企業 B は、作成された RAM ユーザーとして AMQP クライアントを IoT Platform に接続し、サーバー側サブスクリプション機能を使用して IoT Platform から企業 A のデバイスメッセージを受信します。