信頼された Alibaba Cloud サービスは、Resource Access Management (RAM) ロールを偽装して、他のクラウドサービスのリソースにアクセスできます。偽装できる RAM ロールには、通常のサービスロールとサービスリンクロールの 2 種類があります。このトピックでは、サービスリンクロールに焦点を当てます。
サービスリンクロールとは
Alibaba Cloud サービスは、機能を実装するために他のサービスにアクセスする必要がある場合があります。この場合、サービスはそれらのサービスにアクセスするための権限を付与される必要があります。たとえば、Cloud Config は、リソースリストやログデータなどのクラウドリソース情報を読み取るために、Elastic Compute Service (ECS) や ApsaraDB RDS などのサービスにアクセスする必要があります。これらの要件を満たすために、Alibaba Cloud はサービスリンクロールを提供しています。
サービスリンクロールは、Alibaba Cloud サービスによって事前定義され、リンクされている RAM ロールであり、サービス間の権限付与を簡素化します。ほとんどの場合、特定の機能を使用すると、リンクされたサービスがロールを自動的に作成または削除します。サービスリンクロールは、サービスが他のサービスにアクセスする権限を付与するプロセスを簡素化し、設定ミスのリスクを軽減します。
サービスリンクロールにアタッチされているポリシーは、リンクされたサービスによって事前定義されています。ポリシーを変更または削除したり、サービスリンクロールにポリシーをアタッチしたり、サービスリンクロールからポリシーをデタッチしたりすることはできません。
サービスリンクロールの作成
一部の Alibaba Cloud サービスでは、クラウドリソースの作成や機能の有効化など、特定の操作を実行すると、サービスリンクロールが自動的に作成されます。作成されたサービスリンクロールは、RAM コンソールの RAM ロールページ、または ListRoles への API または CLI 呼び出しからの応答で表示できます。
サービスリンクロールは手動で作成することもできます。詳細については、「信頼された Alibaba Cloud サービス用の RAM ロールを作成する」をご参照ください。
サービスリンクロールは、アカウントの RAM ロールクォータにカウントされます。ただし、クォータに達した場合でも、サービスリンクロールは作成できますが、他のタイプのロールの作成はブロックされます。
サービスリンクロールが自動的に作成される方法の詳細については、対応するクラウドサービスのドキュメントをご参照ください。
サービスリンクロールの削除
一部の Alibaba Cloud サービスでは、クラウドリソースの削除や機能の無効化など、特定の操作を実行すると、サービスリンクロールが自動的に削除されます。ただし、RAM コンソールでロールを手動で削除することもできます。詳細については、「RAM ロールを削除する」をご参照ください。
サービスリンクロールを削除しようとすると、RAM はまず、そのロールがまだクラウドリソースで使用されているかどうかを確認します:
ロールが使用されていない場合は、削除できます。
ロールがまだ使用されている場合、削除は失敗します。エラーメッセージには、どのリソースがロールを使用しているかが示されます。サービスリンクロールを削除する前に、これらのリソースを削除する必要があります。
サービスリンクロールを削除できる条件の詳細については、対応するクラウドサービスのドキュメントをご参照ください。
サービスリンクロールの作成と削除に必要な権限
RAM ユーザーがサービスリンクロールを作成または削除するには、特定の権限が必要です。この権限は、サービスリンクロールが自動的に作成される場合にも必要です。
次のサンプルポリシーは、Resource Management のサービスリンクロールを作成および削除する権限を RAM ユーザーに付与します。ram:ServiceName の値は、「サービスリンクロールと連携するサービス」の [サービス識別子] 列で確認できます。
{
"Action": [
"ram:CreateServiceLinkedRole",
"ram:DeleteServiceLinkedRole"
],
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "resourcemanager.aliyuncs.com"
}
}
}AliyunResourceDirectoryFullAccess などのクラウドサービスの管理ポリシーには、通常、そのサービスリンクロールを作成する権限が含まれています。したがって、サービスの管理者権限を持つ RAM ユーザーは、そのサービスのサービスリンクロールを作成することもできます。
サービスリンクロールの引き受け
サービスリンクロールは、リンクされたサービスによってのみ偽装できます。RAM ユーザーや他の RAM ロールなどのアイデンティティによって偽装することはできません。
サービスリンクロールを偽装できるサービスは、ロールの詳細ページの [信頼ポリシー] タブにある Service パラメーターで確認できます。
サービスリンクロールをサポートするサービス
サービスリンクロールをサポートするクラウドサービスのリストについては、「サービスリンクロールと連携するサービス」をご参照ください。
サービスリンクロールをサポートしていないクラウドサービスについては、通常のサービスロールを使用して権限を付与できます。