このトピックでは、CloudOps Orchestration Service (OOS) でサービスロールを使用するシナリオについて説明します。サービスロールには、AliyunServiceRoleForOOSBandwidthScheduler、AliyunServiceRoleForOOSInstanceScheduler、AliyunServiceRoleForOOSExecutionDelivery、および AliyunServiceRoleForOOSAppliactionManager が含まれます。このトピックでは、OOS のサービスロールを削除する方法についても説明します。
背景情報
OOS のサービスロール
AliyunServiceRoleForOOSInstanceScheduler
AliyunServiceRoleForOOSBandwidthScheduler
は、OOS が特定のタスクを実行するために他の Alibaba Cloud サービスへのアクセス権限を取得するために提供される RAM ロールです。
AliyunServiceRoleForOOSExecutionDelivery ロールは、OOS が実行レコードを配信するために他の Alibaba Cloud サービスへのアクセス権限を取得するために提供される RAM ロールです。
AliyunServiceRoleForOOSAppliactionManager ロールは、OOS がリソースを作成または削除するために他の Alibaba Cloud サービスへのアクセス権限を取得するために提供される RAM ロールです。詳細については、「サービスロール」をご参照ください。
シナリオ
Elastic Compute Service (ECS) リソースにアクセスして OOS で次の O&M タスクを実行するには、OOS によって自動的に作成される AliyunServiceRoleForOOSBandwidthScheduler ロールまたは AliyunServiceRoleForOOSInstanceScheduler ロールを使用して、ECS に対するアクセス権限を取得できます。
簡易 Log Service および Object Storage Service (OSS) のリソースにアクセスして OOS 実行レコードを配信するには、OOS によって自動的に作成される AliyunServiceRoleForOOSExecutionDelivery ロールを使用して、簡易 Log Service および OSS に対するアクセス権限を取得できます。
CloudMonitor リソースにアクセスして CloudMonitor アプリケーショングループを自動的に作成または削除するために、OOS は、AliyunServiceRoleForOOSAppliactionManager という名前のサービスロールを自動的に作成して、CloudMonitor に対するアクセス権限を取得します。OOS
AliyunServiceRoleForOOSInstanceScheduler
インスタンスをスケジュールに従って起動またはシャットダウンするために必要な RAM ロールが存在しない場合、OOS は、AliyunServiceRoleForOOSInstanceScheduler という名前のサービスロールを自動的に作成します。さらに、OOS は AliyunServiceRoleForOOSInstanceSchedulerPolicy ポリシーをサービスロールにアタッチします。OOS は、このロールを引き受けて関連 API 操作を呼び出し、スケジュールに従ってインスタンスを起動またはシャットダウンできます。
ポリシー:
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:StartInstance",
"ecs:StopInstance",
"ecs:DescribeInstances"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
AliyunServiceRoleForOOSBandwidthScheduler
インスタンスの帯域幅を一時的にスペックアップするために必要な RAM ロールが存在しない場合、OOS は、AliyunServiceRoleForOOSBandwidthScheduler という名前のサービスロールを自動的に作成します。さらに、OOS は AliyunServiceRoleForOOSBandwidthSchedulerPolicy ポリシーをサービスロールにアタッチします。OOS は、このロールを引き受けて関連 API 操作を呼び出し、帯域幅を一時的にスペックアップできます。
ポリシー:
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:ModifyInstanceNetworkSpec",
"ecs:DescribeInstances"
],
"Resource": "*",
"Effect": "Allow"
}
]
}
AliyunServiceRoleForOOSExecutionScheduler
スケジュールされたタスクを実行するために必要な RAM ロールが存在しない場合、OOS は AliyunServiceRoleForOOSExecutionScheduler という名前のサービスロールを自動的に作成します。さらに、OOS は AliyunServiceRolePolicyForOOSExecutionScheduler ポリシーをサービスロールにアタッチします。OOS はこのロールを引き受けて関連 API 操作を呼び出し、スケジュールされたタスクを実行できます。
ポリシー:
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:CreateSnapshot",
"ecs:DescribeCloudAssistantStatus",
"ecs:DescribeDisks",
"ecs:DescribeInstances",
"ecs:DescribeInvocationResults",
"ecs:DescribeInvocations",
"ecs:DescribeManagedInstances",
"ecs:DescribeSnapshots",
"ecs:RebootInstance",
"ecs:StartInstance",
"ecs:StopInstance",
"ecs:ModifyInstanceNetworkSpec",
"ecs:AcceptInquiredSystemEvent"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ecd:CreateSnapshot",
"ecd:DescribeCloudAssistantStatus",
"ecd:DescribeDesktops",
"ecd:DescribeInvocations",
"ecd:DescribeSnapshots",
"ecd:RebootDesktops"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"rds:StartDBInstance",
"rds:StopDBInstance",
"rds:DescribeDBInstances"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "oos:ListInstancePatchStates",
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "executionscheduler.oos.aliyuncs.com"
}
}
}
]
AliyunServiceRolePolicyForOOSPatchManager
パッチのスキャンまたはインストールに必要な RAM ロールが存在しない場合、OOS は、AliyunServiceRoleForOOSPatchManager という名前のサービスロールを自動的に作成します。さらに、OOS は AliyunServiceRolePolicyForOOSPatchManager ポリシーをサービスロールにアタッチします。OOS は、このロールを引き受けてパッチをスキャンまたはインストールできます。
ポリシー:
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:CreateSnapshot",
"ecs:DescribeCloudAssistantStatus",
"ecs:DescribeDisks",
"ecs:DescribeInstances",
"ecs:DescribeInvocationResults",
"ecs:DescribeInvocations",
"ecs:DescribeManagedInstances",
"ecs:DescribeSnapshots",
"ecs:RebootInstance",
"ecs:RunCommand"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"ecd:CreateSnapshot",
"ecd:DescribeCloudAssistantStatus",
"ecd:DescribeDesktops",
"ecd:DescribeInvocations",
"ecd:DescribeSnapshots",
"ecd:RebootDesktops",
"ecd:RunCommand"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": [
"oos:ListInstancePatchStates"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "patchmanager.oos.aliyuncs.com"
}
}
}
]
}
AliyunServiceRoleForOOSExecutionDelivery
簡易 Log Service および OSS のリソースにアクセスして OOS 実行レコードを配信するために、OOS は AliyunServiceRoleForOOSExecutionDelivery という名前のサービスロールを自動的に作成して、簡易 Log Service および OSS に対するアクセス権限を取得します。
ポリシー:
{
"Version": "1",
"Statement": [
{
"Action": [
"oss:PutObject",
"oss:GetBucketInfo",
"log:GetProject",
"log:GetLogStore",
"log:CreateLogStore",
"log:PostLogStoreLogs"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "executiondelivery.oos.aliyuncs.com"
}
}
}
]
}
AliyunServiceRoleForOOSApplicationManager
CloudMonitor リソースにアクセスして CloudMonitor アプリケーショングループを自動的に作成または削除するために、OOS は、AliyunServiceRoleForOOSAppliactionManager という名前のサービスロールを自動的に作成して CloudMonitor に対するアクセス権限を取得します。OOS
ポリシー:
{
"Statement": [
{
"Effect": "Allow",
"Action": [
"cms:CreateDynamicTagGroup",
"cms:DescribeDynamicTagRuleList",
"cms:DescribeMonitorGroups",
"cms:DeleteDynamicTagGroup"
],
"Resource": "*"
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "applicationmanager.oos.aliyuncs.com"
}
}
}
],
"Version": "1"
}
AliyunServiceRoleForOOSSystemEventOperator
システムイベントのデフォルト操作を受け入れ、システムにデフォルト操作の実行を承認するために必要な RAM ロールが存在しない場合、OOS は、AliyunServiceRoleForOOSSystemEventOperator という名前のサービスロールを自動的に作成します。さらに、OOS は AliyunServiceRolePolicyForOOSSystemEventOperator ポリシーをサービスロールにアタッチします。OOS は、このロールを引き受けて関連 API 操作を呼び出し、システムイベントのデフォルト操作を受け入れ、システムにデフォルト操作の実行を承認できます。
ポリシー:
{
"Version": "1",
"Statement": [
{
"Action": [
"ecs:AcceptInquiredSystemEvent",
"ecs:StopInstance",
"ecs:DescribeInstances",
"ecs:StartInstance"
],
"Resource": "*",
"Effect": "Allow"
},
{
"Action": "ram:DeleteServiceLinkedRole",
"Resource": "*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": "systemeventoperator.oos.aliyuncs.com"
}
}
}
]
}
OOS のサービスロールの削除
AliyunServiceRoleForOOSBandwidthScheduler ロールまたは AliyunServiceRoleForOOSInstanceScheduler ロールを削除する前に、ロールに依存する OOS 実行をキャンセルする必要があります。 AliyunServiceRoleForOOSExecutionDelivery ロールと AliyunServiceRoleForOOSAppliactionManager ロールは直接削除できます。
次の例は、AliyunServiceRoleForOOSExecutionDelivery ロールを削除する方法を示しています。
OOS 実行レコードを配信してから、セキュリティのために AliyunServiceRoleForOOSExecutionDelivery ロールを削除する場合、ロールの削除による影響を理解する必要があります。 AliyunServiceRoleForOOSExecutionDelivery ロールが削除されると、現在のアカウント内の OOS 実行レコードを OOS または SLS に配信できなくなります。OOS
Resource Access Management (RAM) コンソール にログインします。左側のナビゲーションウィンドウで、[ID] > ロール を選択します。
[ロール] ページで、検索ボックスに AliyunServiceRoleForOOSExecutionDelivery と入力し、検索アイコンをクリックします。AliyunServiceRoleForOOSExecutionDelivery ロールが表示されます。
[操作] 列で、[ロールの削除] をクリックします。
[ロールの削除] メッセージで、[ロールの削除] をクリックします。
よくある質問
RAM ユーザーとしてログインすると、OOS がサービスロール AliyunServiceRoleForOOSExecutionDelivery を自動的に作成するように有効にできないのはなぜですか?
RAM ユーザーとしてログインしたときに OOS が AliyunServiceRoleForOOSExecutionDelivery ロールを自動的に作成または削除するようにするには、必要な権限を RAM ユーザーに付与する必要があります。この場合、次のポリシーを RAM ユーザーにアタッチします。
{
"Statement": [
{
"Action": [
"ram:CreateServiceLinkedRole"
],
"Resource": "acs:ram:*:Alibaba Cloud アカウント ID:role/*",
"Effect": "Allow",
"Condition": {
"StringEquals": {
"ram:ServiceName": [
"executiondelivery.oos.aliyuncs.com"
]
}
}
}
],
"Version": "1"
}
関連情報
サービスロールの削除方法の詳細については、「サービスロール」をご参照ください。