このトピックでは、権限ポリシーと実行ロールの作成方法など、実行ロールに関連するコンテンツについて説明します。
背景情報
サーバーレスワークフロー を使用してアプリケーションを作成する場合、実行ロールを作成し、関連する権限を付与する必要があります。サーバーレスワークフロー がフローを実行すると、このロールが引き受けられ、ユーザーに代わって関数の実行、メッセージの送信、フローの実行など、クラウドサービスにアクセスします。
サーバーレスワークフロー コンソールを使用して、実行ロールを作成し、システム権限を付与できます。アクセス権限をより細かく制御する場合、たとえば、フローが Function Compute の 1 つまたは複数の関数にのみアクセスできるようにするには、以下の説明を参照してください。
サーバーレスワークフロー は、Resource Access Management (RAM) を使用して、ロールベースの権限管理を実装します。以下のコンテンツでは、承認の基本的な考え方について説明します。ポリシー は、サービスにアクセスする機能を示します。ポリシーが ロール にバインドされると、このロールはサービスにアクセスできます。サードパーティがこのサービスにアクセスする必要がある場合は、サービスにアクセスできるロールを引き受けるだけで済みます。これにより、長期キーの使用が回避され、システムのセキュリティが向上します。
権限ポリシーの作成
- RAM コンソール にログオンします。
- 左側のナビゲーションペインで、[権限] > [ポリシー] を選択します。
- [ポリシー] ページで、[ポリシーの作成] をクリックします。
- [ポリシー名] とメモを設定します。たとえば、ポリシー名を [fnfexecutionrolepolicy] に設定します。
- 構成モードで [スクリプト] を選択し、ポリシーを編集します。詳細については、「ポリシーの構造と構文」をご参照ください。次の表に、一般的な権限の例を示します。
| 説明 | 効果 | アクション | リソース |
| このポリシーは、Test1 サービスの Function 関数へのアクセスを許可します。 | 許可 | fc:InvokeFunction | acs:fc:::services/Test1/functions/Func1 |
| このポリシーは、Test2 サービスのすべての関数へのアクセスを許可します。 | 許可 | fc:InvokeFunction | acs:fc:::services/Test2/functions/* |
| このポリシーは、Public で始まるサービスのすべての関数へのアクセスを許可します。 | 許可 | fc:InvokeFunction | acs:fc:::services/Public*/functions/* |
| このポリシーは、Test1 キューへのメッセージの送信を許可します。 | 許可 | mns:SendMessage | acs:mns:*:*:/queues/Test1/messages |
| このポリシーは、Test1 フローの実行を許可します。 | 許可 | fnf:StartExecution | acs:fnf:::flows/Test1/executions/* |
実行ロールの作成
- RAM コンソール にログオンします。
- 左側のナビゲーションペインで、 を選択します。
- [ロールの作成] をクリックします。
- [ロールの作成] パネルで、次のパラメーターを構成します。
- [ロールタイプの選択] 手順の [信頼できるエンティティの選択] パラメーター:[alibaba Cloud サービス] を選択します。
- [ロールの構成] 手順の [RAM ロール名] パラメーター:[fnfexecutionrole] と入力します。
- [ロールの構成] 手順の [信頼できるサービスの選択] パラメーター:[function Flow] を選択します。
- [完了] 手順で、[RAM ロールに権限を追加] をクリックし、画面の指示に従って、作成した Fnf実行ロールポリシー[fnfexecutionrole] ロールに ポリシーをアタッチします。
- フローを作成または更新するときに使用するために、FnFExecutionRole ロールの Alibaba Cloud Resource Name (ARN) をコピーします。