タグを使用して関数をグループ化し、さまざまなRAMユーザーまたはグループにさまざまな権限を割り当てることができます。 Alibaba CloudアカウントでFunction Computeに10個の関数を作成したとします。 これらの機能のうち5つを開発チームに割り当て、残りの5つをopsチームに割り当て、各チームがそれぞれの割り当てられた機能にのみアクセスおよび管理できるようにします。 この場合、タグを使用して10の機能をグループ化し、さまざまなRAMユーザーまたはRAMユーザーグループに異なる権限を付与できます。
前提条件
Function Computeコンソールで10個の関数を作成しました。 タグキーがteam、タグ値がdevのタグを5つの関数に追加し、タグキーがteam、タグ値がopsのタグを他の5つの関数に追加しました。 関数にタグを追加する方法の詳細については、「タグの管理」をご参照ください。
手順
関数がFunction Compute 2.0コンソールで作成された場合、関数の代わりに関数が属するサービスにタグが追加されます。 function Compute 2.0コンソールで作成された関数の名前は、Function Compute 3.0コンソールに追加のドル記号 ($) で表示されます。 詳細については、「タグ管理」をご参照ください。
最小権限の原則に従うには、
AliyunFCFullAccess
やAliyunFCReadOnlyAccess
などの権限レベルの高いポリシーをRAMユーザーにアタッチしないでください。 そうしないと、タグを使用してグループごとに関数の権限を管理できません。
Alibaba Cloudアカウント内に2人のRAMユーザーを作成します。 詳細については、「RAM ユーザーの作成」をご参照ください。
devおよびops RAMユーザーグループを作成します。 詳細については、「RAMユーザーグループの作成」をご参照ください。
2人のRAMユーザーをdevおよびops RAMユーザーグループに追加します。 詳細については、「RAMユーザーグループへのRAMユーザーの追加」をご参照ください。
異なる権限ポリシーをdevおよびops RAMユーザーグループにアタッチします。
Function Computeは、システムポリシーとカスタムポリシーをサポートしています。 ビジネス要件に基づいたポリシーを使用して、権限ポリシーを異なるRAMユーザーグループにアタッチできます。 このトピックでは、ユーザーグループにカスタムポリシーをアタッチする方法について説明します。
カスタムポリシーを作成します。
dev RAMユーザーグループ用にpolicyForDevTeamという名前のカスタムポリシーを作成します。 サンプルコード:
{ "Statement": [ { "Action": "fc:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "fc:tag/team": "dev" } } }, { "Action": "fc:ListFunctions", "Effect": "Allow", "Resource": "*" }, { "Action": "fc:ListTagResources", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
ops RAMユーザーグループ用にpolicyForOpsTeamという名前のカスタムポリシーを作成します。 サンプルコード:
{ "Statement": [ { "Action": "fc:*", "Effect": "Allow", "Resource": "*", "Condition": { "StringEquals": { "fc:tag/team": "ops" } } }, { "Action": "fc:ListFunctions", "Effect": "Allow", "Resource": "*" }, { "Action": "fc:ListTagResources", "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
policyForDevTeamポリシーをdev RAMユーザーグループに、policyForOpsTeamポリシーをops RAMグループにアタッチします。詳細については、「RAMユーザーグループへの権限付与」をご参照ください。
結果を確認するには、dev RAMユーザーグループのRAMユーザーとして、次にops RAMユーザーグループのRAMユーザーとしてFunction Computeコンソールにログインします。 詳細については、「Alibaba Cloud管理コンソールへのRAMユーザーとしてのログイン」をご参照ください。
ご覧のとおり、dev RAMユーザーグループのRAMユーザーは
team:dev
タグが追加された関数のみを管理でき、ops RAMユーザーグループのRAMユーザーはteam:ops
タグが追加された関数のみを管理できます。