サービスリンクロール (SLR) は、手動での権限設定を必要とせずに、Alibaba Cloud サービスがお客様に代わって他のサービスに安全にアクセスできるようにする、事前定義された RAM ロールです。
概要
サービスリンクロール (SLR) は、Alibaba Cloud がサービス間のアクセスを可能にするために事前に定義した Resource Access Management (RAM) ロールの一種です。次のような特徴があります。
-
特定のクラウドサービスへの紐づけ:SLR は、特定の Alibaba Cloud サービスに紐づく特殊なタイプの RAM ロールです。
-
リンクされたサービスのみが引き受け可能:SLR は、リンク先の Alibaba Cloud サービスのみが引き受けることができます。他のアイデンティティは使用できません。
-
Alibaba Cloud による事前定義:ロール、その権限、および信頼ポリシー (ロールを引き受けることができるクラウドサービスを指定) はすべて、関連するクラウドサービスが事前に定義しています。
-
メンテナンスフリー:SLR を手動で設定またはメンテナンスする必要はありません。
サービスリンクロールをサポートするクラウドサービスの一覧については、「サービスリンクロールをサポートするクラウドサービス」をご参照ください。関連ドキュメントセクションのリンクをクリックすると、各クラウドサービスの SLR ドキュメントを表示できます。
メリット
SLR がない場合、クラウドサービスが別のサービスにアクセスする必要があるたびに、手動で RAM ロールを作成し、権限ポリシーと信頼ポリシーを設定する必要があります。これはエラーが発生しやすく、サービスの障害やセキュリティリスクにつながる可能性があります。SLR は、これらの問題を解決します。
-
サービス間の認可を簡素化します。たとえば、Cloud Config は、コンプライアンスレポートを生成するために、リソースリストや設定などのクラウドリソース情報を読み取る権限を必要とします。これには、ECS や RDS などの他のクラウドサービスへのアクセスが必要です。SLR を作成して引き受けることで、Cloud Config は必要な権限を取得します。
-
設定の複雑さと運用リスクを軽減します。SLR の権限ポリシーは、関連するクラウドサービスが事前に定義しており、必要最小限の権限のみを付与します。これにより、手動での権限設定が不要になり、セキュリティと運用上の安定性が向上します。
仕組み
次の例では、Cloud Config を使用して SLR の仕組みを説明します。
-
Alibaba Cloud がサービスリンクロールを事前定義:Alibaba Cloud は、Cloud Config 用に
AliyunServiceRoleForConfigという名前のサービスリンクロールを事前定義します。このロールには以下が含まれます。-
config.aliyuncs.comのみがこのロールを引き受けることを許可する信頼ポリシー。これにより、Cloud Config サービスのみがこのロールを使用できます。 -
ECS や RDS などのクラウドサービスからリソース情報を読み取る権限を付与する権限ポリシー。
-
-
Cloud Config がロールを引き受ける:Cloud Config がコンプライアンスレポートを生成するためにクラウドリソース情報を読み取る必要がある場合、サービスリンクロールを引き受けて一時的なセキュリティ認証情報を取得します。
-
Cloud Config が他のクラウドサービスにアクセス:Cloud Config は、サービスリンクロールのアイデンティティと権限を使用して、ECS や RDS などの他のクラウドサービスに安全にアクセスし、リソースリストと設定を読み取ります。
-
タスクの完了:必要なクラウドリソース情報を取得した後、Cloud Config はコンプライアンスレポートを生成します。
これにより、Cloud Config は、ユーザーが手動で権限ポリシーを設定しなくても、他のサービスに安全にアクセスできます。
サービスリンクロールとサービスロールの比較
サービスロールと同様に、SLR もクラウドサービスが引き受けることで必要な権限を取得します。ただし、使用方法が異なります。
|
項目 |
サービスリンクロール (SLR) |
サービスロール |
|
作成方法 |
通常、Alibaba Cloud サービスが自動的に作成します。 |
通常、管理者が手動で作成します。 |
|
メンテナンス方法 |
通常、Alibaba Cloud サービスが自動的にメンテナンスします。SLR は変更できません。 |
通常、管理者が手動でメンテナンスします。サービスロールは変更できます。 |
|
削除条件 |
SLR がどのクラウドリソースでも使用されていないことを確認した後にのみ、SLR を削除できます。 |
管理者はいつでもロールを削除できます。 |
|
権限ポリシー |
事前定義済み。変更できず、権限ポリシーのアタッチやデタッチもできません。 |
管理者がカスタマイズします。権限ポリシーをアタッチまたはデタッチできます。 |
|
信頼ポリシー |
事前定義済み。変更できません。特定のリンクされた Alibaba Cloud サービスのみを信頼します。 |
管理者がカスタマイズします。信頼ポリシーは変更できます。 |
必要な権限
SLR の管理操作は、作成と削除に限られます。SLR や、それに関連する権限ポリシーおよび信頼ポリシーは変更できません。
RAM ユーザーが SLR を作成または削除するには、特定の権限が必要です。これらの権限は通常、AliyunResourceDirectoryFullAccess など、対応するクラウドサービスの管理者ポリシーに含まれています。RAM ユーザーがクラウドサービスの管理者権限を持っている場合、通常はそのサービスの SLR を作成できます。
特定のサービスの SLR を管理する権限を RAM ユーザーに付与するカスタムポリシーを作成することもできます。ram:ServiceName の値は、「サービスリンクロールをサポートするクラウドサービス」の[クラウドサービス識別子]列に記載されています。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ram:CreateServiceLinkedRole",
"ram:DeleteServiceLinkedRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ram:ServiceName": "resourcemanager.aliyuncs.com"
}
}
}
]
}
サービスリンクロールの作成
-
クラウドサービスによる作成:ほとんどの場合、クラウドリソースの作成や機能の有効化など、特定の操作を実行すると、クラウドサービスが自動的にサービスリンクロールを作成します。または、サービスが管理者にロールを作成するための認可を求めるプロンプトを表示する場合もあります。SLR の自動作成の詳細については、「サービスリンクロールをサポートするクラウドサービス」の対応するクラウドサービスのドキュメントをご参照ください。
-
手動での作成:サービスリンクロールを手動で作成することもできます。手順については、「サービスリンクロールの作成」をご参照ください。
SLR は RAM ロールのクォータを消費します。クォータの上限に達した場合でも SLR は作成できますが、他の種類のロールは作成できません。クォータの詳細については、「使用上の注意」をご参照ください。
サービスリンクロールの削除
-
クラウドサービスによる削除:関連するすべてのリソースの削除や機能の無効化など、特定の操作を実行すると、クラウドサービスは関連するサービスリンクロールを自動的に削除します。
-
手動での削除:サービスリンクロールを手動で削除することもできます。手順については、「RAM ロールの削除」をご参照ください。SLR を手動で削除する前に、RAM はそのロールをまだ使用しているクラウドリソースがないか確認します。
-
ロールが使用中でない場合、削除は成功します。
-
ロールがまだ使用中の場合、削除は失敗します。エラーメッセージには、どのクラウドリソースがロールを使用しているかが表示されます。ロールを削除する前に、これらのリソースを削除する必要があります。SLR の削除条件はクラウドサービスによって異なります。詳細については、「サービスリンクロールをサポートするクラウドサービス」の特定のクラウドサービスのドキュメントをご参照ください。
-
SLR を誤って削除すると、関連する Alibaba Cloud サービスの機能が正常に動作しなくなる可能性があります。SLR を削除する前に、関連する機能を使用しなくなったこと、またはすべての依存リソースを削除したことを確認してください。
サービスリンクロールの引き受け
サービスリンクロールは、リンク先のクラウドサービスのみが引き受けることができます。RAM ユーザーや他の RAM ロールなど、他のアイデンティティは SLR を引き受けることはできません。
信頼されたサービスの表示
どのクラウドサービスがサービスリンクロールを引き受けることができるかは、ロールのトラスト規則 タブの Service フィールドで確認できます。たとえば、AliyunServiceRoleForConfig ロールの信頼ポリシーは、config.aliyuncs.com サービスのみがそれを引き受けることを許可します。
サービスリンクロールのモニタリング
ActionTrail を使用して、SLR のライフサイクルと使用状況を監査できます。
-
イベント名によるクエリ:
-
CreateServiceLinkedRole:SLR の作成イベントをクエリします。 -
DeleteServiceLinkedRole:SLR の削除イベントをクエリします。 -
AssumeRole:クラウドサービスが SLR を引き受けたイベントを検索します。イベント詳細のuserIdentityセクションにはクラウドサービス名が、requestParametersには引き受けられた SLR の ARN が含まれます。例:{ ... "requestParameters": { ... "RoleArn": "acs:ram::ACCOUNT_ID:role/aliyunservicerolefortag", "RoleSessionName": "tag_operate", }, ... "userIdentity": { ... "principalId": "tag.aliyuncs.com", "userName": "tag.aliyuncs.com" }, "eventName": "AssumeRole" }
-
-
イベントタイプによるクエリ:
イベントタイプを AliyunServiceEvent に設定し、SLR 名を使用して [操作者名] でフィルタリングします。これにより、その SLR が実行した操作が表示されます。
よくある質問
広範な権限とセキュリティリスク
-
SLR の権限ポリシーは Alibaba Cloud が事前に定義しており、最小権限の原則に従います。リンクされたサービスが機能するために必要な権限のみを付与します。
-
SLR の信頼ポリシーは、その使用を対応する Alibaba Cloud サービスに制限します。他のアイデンティティはロールを引き受けることはできません。
-
特定の SLR の権限について懸念がある場合は、次のことができます。
-
クラウドサービスの SLR ドキュメントを確認する。
-
クラウドサービスのサポートチームに連絡する。
-
RAM コンソールでの SLR の検索
サービスリンクロールの名前は、常にプレフィックス AliyunServiceRoleFor で始まり、その後に AliyunServiceRoleForConfig のようなクラウドサービス識別子が続きます。検索する際は、完全なロール名またはプレフィックス (AliyunServiceRoleFor) を入力して、対応するサービスリンクロールを検索する必要があります。
RAM コンソールでサービスリンクロールを見つけるには、次の 2 つの方法があります。
-
[ID] >[ロール] ページに移動し、検索ボックスにロール名を入力して、SLR がロールリスト に存在するかどうかを確認します。ロールの詳細ページでは、ロールタイプがサービスリンクロールとして表示され、その権限ポリシーはシステムが事前に定義したものであり、変更できません。 -
[権限] >[許可] ページに移動し、ロール名を検索して、SLR の認可レコードを表示します。
ロールが見つからない場合、そのクラウドサービスの SLR がまだ作成されていない可能性があります。SLR は通常、サービスを初めて使用するときに自動的に作成されます。サービスを一度も有効にしていない場合、その SLR は作成されていません。
AliyunServiceRoleFor を検索すると、アカウントで作成されたすべての SLR を確認できます。
削除が失敗する理由
ロールが 1 つ以上のクラウドリソースでまだ使用されています。ロールを削除する前に、これらの依存リソースを削除してください。詳細については、本トピックの「サービスリンクロールの削除」セクションをご参照ください。