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

CloudFlow:実行ロールの作成

最終更新日:Apr 26, 2025

このトピックでは、権限ポリシーと実行ロールの作成方法について説明します。

背景情報

CloudFlow を使用してアプリケーションを構築する場合、実行ロールを作成し、そのロールに権限を付与する必要があります。CloudFlow がフローを実行すると、このロールを借用し、ユーザーに代わって関数の実行、メッセージの送信、フローの実行など、クラウドサービスにアクセスします。

CloudFlow コンソールを使用して、実行ロールを作成し、システム権限をロールに付与できます。より細かい粒度でサービスへのアクセスを制御する場合、たとえば、Function Compute 内の 1 つまたは複数の関数へのみフローがアクセスできるようにするには、権限ポリシーを作成する必要があります。詳細については、以下の説明をご参照ください。

CloudFlow は、Resource Access Management (RAM) を使用してロールベースの権限管理を実装します。CloudFlow が RAM ユーザーに権限を付与する方法を以下に示します。ポリシー は、サービスにアクセスする機能を示します。ポリシーが ロール にバインドされると、このロールはサービスにアクセスできます。サードパーティがこのサービスにアクセスする場合、サービスにアクセスできるロールを借用するだけで済みます。これにより、長期キーの使用が回避され、システムのセキュリティが向上します。

ポリシーの作成

  1. 管理権限を持つ RAM ユーザーとして RAM コンソール にログオンします。

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

  3. [ポリシー] ページで、[ポリシーの作成] をクリックします。

    image

  4. [ポリシーの作成] ページで、[JSON] タブをクリックします。

    image

  5. ポリシードキュメントを入力し、[OK] をクリックします。

    RAM ポリシーの構文と構造の詳細については、「ポリシーの構造と構文」をご参照ください。次の表に、いくつかの一般的な権限を示します。

    説明

    効果

    アクション

    リソース

    RAM ロールが Test1 サービスの Function 関数にアクセスできるようにします。

    許可

    fc:InvokeFunction

    acs:fc:::services/Test1/functions/Func1

    RAM ロールが Test2 サービスのすべての関数にアクセスできるようにします。

    許可

    fc:InvokeFunction

    acs:fc:::services/Test2/functions/*

    RAM ロールが、名前が Public で始まるサービスのすべての関数にアクセスできるようにします。

    許可

    fc:InvokeFunction

    acs:fc:::services/Public*/functions/*

    RAM ロールが Test1 キューにメッセージを送信できるようにします。

    許可

    mns:SendMessage

    acs:mns:*:*:/queues/Test1/messages

    RAM ロールが Test1 フローを実行できるようにします。

    許可

    fnf:StartExecution

    acs:fnf:::flows/Test1/executions/*

    カスタムポリシーの内容を確認し、最適化します。

    • 基本的な最適化

      システムはポリシーのステートメントを自動的に最適化します。基本的な最適化では、システムは次の操作を実行します。

      • 不要な条件を削除します。

      • 不要な配列を削除します。

    • (オプション) 高度な最適化

      [オプション: 高度な最適化] にポインターを移動し、[実行] をクリックします。高度な最適化では、システムは次の操作を実行します。

      • アクションと互換性のないリソースまたは条件を分割します。

      • リソースを絞り込みます。

      • ポリシーステートメントの重複を削除またはマージします。

  6. [名前] パラメーターと [メモ] パラメーターを指定し、[OK] をクリックします。

実行ロールの作成

  1. 管理権限を持つ RAM ユーザーとして RAM コンソール にログオンします。

  2. 左側のナビゲーションウィンドウで、[ID] > [ロール] を選択します。

  3. [ロール] ページで、[ロールの作成] をクリックします。

    image

  4. [ロールの作成] ページで、[プリンシパルタイプ][クラウドサービス] に設定し、プリンシパル名パラメーターに Alibaba Cloud サービスを選択して、[OK] をクリックします。

    image

    説明

    [プリンシパル名] パラメーターに使用できる Alibaba Cloud サービスは、RAM コンソールによって異なります。

  5. [ロールの作成] ダイアログボックスで、[ロール名] パラメーターを設定し、[OK] をクリックします。

  6. 作成したポリシーを FnFExecutionRole ロールにアタッチします。

    詳細については、「RAM ロールへの権限の付与」をご参照ください。

  7. 作成した実行ロールをクリックします。[基本情報] セクションで、ロールの Alibaba Cloud リソースネーム (ARN) をコピーします。フローを作成または更新するときに、ARN を使用します。