リソースグループを使用すると、Function Compute (FC) のリソースを効率的に管理、整理できます。Resource Access Management (RAM) と組み合わせることで、リソースグループは単一の Alibaba Cloud アカウント内でのリソースの隔離ときめ細かな権限管理を可能にします。
利用シーン
単一の Alibaba Cloud アカウントを持つ企業が、異なるチームに特定の関数セットへのアクセス権を付与する必要がある場合があります。各チームは、他の関数にアクセスすることなく、自身に権限が付与された関数のみを表示および管理できなければなりません。
例:
開発チームは、開発環境に関連する機能のみを管理できます。
運用チームは、本番環境に関連する関数のみを管理できます。
メリット
リソースグループを使用して関数にグループ単位で権限を付与することには、以下のメリットがあります。
権限管理の簡素化:複数の関数をグループとして権限管理することで、個別に権限を付与する複雑さを回避できます。
明確なリソースの整理:リソースグループによってリソースが直感的に整理され、管理とメンテナンスが簡素化されます。
柔軟なアクセス制御:リソースグループに基づいて、きめ細かなアクセス制御を実装できます。
セキュリティの隔離:異なるチームは、権限が付与されたリソースグループにのみアクセスできます。これにより、リソースの隔離が強制されます。
注意事項
1 つのリソースグループには、異なるリージョンのリソースを含めることができます。
リソースの作成時にリソースグループを指定しない場合、そのリソースはデフォルトのリソースグループに割り当てられます。
エイリアス、トリガー、非同期設定などの関数のサブリソースは、その関数の権限を継承します。
RAM ユーザーは、対応する関数を表示および管理するために、コンソールで正しいリソースグループを選択する必要があります。
RAM ユーザーが選択したリージョンが、リソースグループ内の関数のリージョンと一致していることを確認してください。
操作手順
以下の例では、開発チーム用のリソースグループを作成し、指定された関数のみを表示および管理できるように権限を付与する方法を示します。
ステップ 1:RAM ユーザーとユーザーグループの作成
ご利用の Alibaba Cloud アカウントを使用して、以下の手順を実行します。
RAM コンソールにログインし、
developerなどの RAM ユーザーを作成します。詳細については、「RAM ユーザーの作成」をご参照ください。
developerなどの RAM ユーザーグループを作成し、そのdeveloperRAM ユーザーグループに RAM ユーザーを追加します。詳細については、「RAM ユーザーグループの作成」および「RAM ユーザーグループへの RAM ユーザーの追加」をご参照ください。
RAM ユーザーは、所属するユーザーグループからすべての権限を継承します。
ステップ 2:リソースグループの作成
Resource Management コンソールにログインし、dev などのリソースグループを作成します。詳細については、「リソースグループの作成」をご参照ください。
ステップ 3:リソースグループへの関数の追加
関数の作成時に関数をリソースグループに追加できます。詳細については、「関数の作成」をご参照ください。関数が既に存在する場合は、以下の手順に従ってリソースグループに追加します。
Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
上部のナビゲーションバーで、リージョンを選択します。関数ページで、対象の関数をクリックします。
関数の詳細ページで、設定 タブをクリックします。 で、[リソースグループ] の横にある
アイコンをクリックします。[リソースグループの変更] ダイアログボックスで、ステップ 2 で作成したリソースグループを選択し、送信 をクリックします。
Resource Management コンソールで関数をリソースグループに追加することもできます。詳細については、「リソースグループ内のリソースの管理」をご参照ください。
ステップ 4:リソースグループの権限付与
RAM コンソールにログインします。左側のナビゲーションウィンドウで、 を選択します。作成したユーザーグループの [操作] 列で、[権限の追加] をクリックします。
許可を与える パネルで、[スコープ] を [リソースグループ] に設定し、作成したリソースグループを選択します。[アクセスポリシー] セクションで、
AliyunFCFullAccessなどのポリシーを選択します。その後、[OK] をクリックします。重要実際のビジネス環境では、最小権限の原則 (PoLP) に従うことを推奨します。過剰な権限によるセキュリティリスクを回避するために、この原則に基づいて RAM ユーザーに権限を付与するカスタムポリシーを作成してください。詳細については、「カスタムポリシーの作成」をご参照ください。

ステップ 5:結果の確認
RAM ユーザーとして Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、を選択します。
RAM ユーザーとしてコンソールにログインする方法の詳細については、「RAM ユーザーとして Alibaba Cloud コンソールにログイン」をご参照ください。
上部のナビゲーションバーで、ステップ 3 で指定した関数と同じリージョンを選択します。次に、
devリソースグループを選択します。RAM ユーザーは、リソースグループを選択した後にのみ、その中の関数を表示できます。選択しない場合、関数リストは空になります。

関数リストで、選択したリソースグループ内の関数を表示および管理します。別のリソースグループに切り替えて、権限のない関数が表示されないことを確認してください。
追加設定
カスタムポリシーの作成
最小権限の原則 (PoLP) に従い、Function Compute のレイヤーやカスタムドメインなどの機能に必要なきめ細かな権限を付与するには、RAM ユーザーに権限を付与するためのカスタムポリシーを作成します。
ご利用の Alibaba Cloud アカウントを使用して RAM コンソールにログインし、カスタムポリシーを作成します。ポリシーに
FCPolicyForDevelopersという名前を付け、以下のポリシーコンテンツを使用します。{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "log:Get*", "log:List*", "log:Query*", "log:CreateProject", "log:CreateLogStore", "log:CreateIndex" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "fc:GetLayerVersionByArn", "fc:ListLayers", "fc:PutLayerACL", "fc:ListLayerVersions", "fc:CreateLayerVersion", "fc:DeleteLayerVersion", "fc:GetLayerVersion" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "fc:ListCustomDomains", "fc:GetCustomDomain", "fc:DeleteCustomDomain", "fc:UpdateCustomDomain", "fc:CreateCustomDomain" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ram:ListRoles", "Resource": "*" } ] }ステップ 1 で作成した
developerRAM ユーザーグループに、FCPolicyForDevelopersカスタムポリシーを付与します。ユーザーグループに権限を付与する方法の詳細については、「RAM ユーザーグループへの権限付与」をご参照ください。
他のプロダクトの権限
関数が他の Alibaba Cloud プロダクトを使用する場合、それらのプロダクトに必要な権限も付与する必要があります。たとえば、Simple Log Service (SLS) を管理するためのシステムポリシー AliyunLogFullAccess、Object Storage Service (OSS) を管理するための AliyunOSSFullAccess、File Storage NAS を管理するための AliyunNASFullAccess をアタッチします。
詳細については、「アクセスポリシーと例」をご参照ください。