Simple Log Service (SLS) は、AliyunServiceRoleForSLSAudit サービスリンクロールを使用して、他の Alibaba Cloud サービスのリソースデータを読み取り、ログ収集の設定を調整します。このトピックでは、ロールが作成されるタイミング、付与される権限、および管理方法について説明します。
シナリオ
ログ監査サービスや EBS レンズなどの SLS アプリケーションは、他のクラウドサービスの OpenAPI 操作を呼び出してログを収集します。これを行うために、SLS は AliyunServiceRoleForSLSAudit ロールを引き受けます。このロールにより、SLS はそれらのサービス上のリソースデータを読み取り、ログ収集の設定を変更する権限を取得します。詳細については、「サービスリンクロール」をご参照ください。
AliyunServiceRoleForSLSAudit ロール
AliyunServiceRoleForSLSAudit ロールは、SLS を有効化すると自動的に作成されます。ロールを削除した場合、次回 SLS を有効化するか、このロールを必要とする SLS アプリケーションを使用すると、ロールが自動的に再作成されます。
ロール名: AliyunServiceRoleForSLSAudit
アクセスポリシー: AliyunServiceRolePolicyForSLSAudit
-
ポリシーの詳細:
{ "Version": "1", "Statement": [ { "Action": [ "resourcemanager:ListAccounts", "resourcemanager:GetAccount", "resourcemanager:GetResourceDirectory", "resourcemanager:GetFolder", "resourcemanager:ListFoldersForParent", "resourcemanager:ListAccountsForParent", "rds:DescribeRegions", "rds:DescribeSqlLogInstances", "rds:DescribeDBInstanceAttribute", "rds:ListTagResources", "rds:DisableSqlLogDistribution", "rds:EnableSqlLogDistribution", "rds:ModifySQLCollectorPolicy", "rds:DescribeSQLCollectorRetention", "polardb:DescribeRegions", "polardb:DescribeDBClusters", "polardb:DescribeSqlLogClusters", "polardb:ModifyDBClusterAuditLogCollector", "polardb:DescribeDBClusterAttribute", "polardb:DescribeSQLExplorerRetention", "kvstore:DescribeRegions", "kvstore:DescribeInstances", "kvstore:DescribeRedisLogConfig", "kvstore:ModifyAuditLogConfig", "kvstore:DescribeInstanceAttribute", "kvstore:DescribeEngineVersion", "kvstore:InitializeKvstorePermission", "drds:DescribeDrdsInstances", "drds:DescribeDrdsDBs", "drds:EnableSqlAuditExtraWrite", "drds:DisableSqlAuditExtraWrite", "drds:DescribeDrdsRegions", "drds:DescribeDrdsSqlAuditStatus", "slb:DescribeRegions", "slb:DescribeLoadBalancers", "slb:DescribeLoadBalancerAttribute", "slb:SetAccessLogsDownloadAttribute", "slb:DeleteAccessLogsDownloadAttribute", "slb:DescribeAccessLogsDownloadAttribute", "slb:ListTagResources", "alb:DescribeRegions", "alb:ListLoadBalancers", "alb:EnableLoadBalancerAccessLog", "alb:DisableLoadBalancerAccessLog", "alb:GetLoadBalancerAttribute", "cs:GetClustersByUid", "cs:GetClusters", "kms:DescribeKeyStores", "oss:GetBucketInfo", "oss:ListBuckets", "oss:GetBucketTagging", "oss:GetBucketWorm", "oss:GetBucketLifecycle", "oss:GetBucketReferer", "ecs:DescribeDisks", "ecs:DescribeSnapshots", "ecs:DescribeRegions", "ecs:DescribeInstances", "mse:GetGateway", "cen:ListTransitRouters", "cen:ListTransitRouterPeerAttachments", "cen:ListTransitRouterVbrAttachments", "vpc:DescribeVpcs", "vpc:GetNatGatewayAttribute", "vpc:DescribeNatGateways", "vpc:DescribeRegions", "hbase:DescribeInstance", "lindorm:GetLindormInstance" ], "Resource": "*", "Effect": "Allow" }, { "Action": [ "oos:StartExecution", "oos:ListExecutions" ], "Resource": [ "acs:oos:*:*:template/ACS-LOG-BulkyInstallLogtail", "acs:oos:*:*:execution/*" ], "Effect": "Allow" }, { "Action": [ "ecs:InvokeCommand", "ecs:DescribeInvocations", "ecs:DescribeInvocationResults", "ecs:DescribeCloudAssistantStatus" ], "Resource": [ "acs:ecs:*:*:instance/*", "acs:ecs:*:*:command/cmd-ACS-LOG-InstallLogtail-*" ], "Effect": "Allow" }, { "Action": [ "log:CreateProject", "log:GetProject", "log:ListProject", "log:ListLogStores", "log:GetLogStore", "log:GetLogStoreLogs", "log:PostLogStoreLogs", "log:BatchPostLogStoreLogs", "log:CreateIndex", "log:UpdateIndex", "log:CreateDashboard", "log:UpdateDashboard", "log:CreateLogStore", "log:CreateSavedSearch", "log:UpdateSavedSearch", "log:CreateJob", "log:UpdateJob", "log:ListShards", "log:GetCursorOrData", "log:GetConsumerGroupCheckPoint", "log:UpdateConsumerGroup", "log:ConsumerGroupHeartBeat", "log:ConsumerGroupUpdateCheckPoint", "log:ListConsumerGroup", "log:CreateConsumerGroup", "log:GetLogging", "log:CreateLogging", "log:UpdateLogging", "log:DeleteLogging", "log:PostProjectQuery", "log:GetProjectQuery", "log:PutProjectQuery", "log:DeleteProjectQuery", "log:GetMachineGroup", "log:ListMachineGroup" ], "Resource": [ "acs:log:*:*:project/*" ], "Effect": "Allow" }, { "Action": [ "log:GetApp", "log:UpdateApp", "log:CreateApp" ], "Resource": [ "acs:log:*:*:app/audit" ], "Effect": "Allow" }, { "Action": "ram:CreateServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": [ "r-kvstore.aliyuncs.com", "logdelivery.alb.aliyuncs.com" ] } } }, { "Action": "ram:DeleteServiceLinkedRole", "Resource": "*", "Effect": "Allow", "Condition": { "StringEquals": { "ram:ServiceName": "audit.log.aliyuncs.com" } } } ] }
ロールの削除
ログ監査サービスまたは EBS レンズを使用しなくなった場合は、AliyunServiceRoleForSLSAudit ロールを削除することで、SLS に付与された他のクラウドサービスへの権限を削除できます。
ロールを削除する前に、このロールに依存する SLS アプリケーション (ログ監査サービスや EBS レンズなど) のすべてのログ収集タスクを停止してください。収集タスクがアクティブな状態でロールを削除すると、これらのタスクは失敗します。
ロールを削除するには、RAM コンソールに移動し、AliyunServiceRoleForSLSAudit ロールを見つけて削除します。削除後に再度ロールが必要になった場合は、SLS を有効化するか、このロールを必要とする SLS アプリケーションを開きます。SLS によりロールが自動的に再作成されます。
RAM ユーザーへのロール管理権限の付与
デフォルトでは、AliyunServiceRoleForSLSAudit ロールを作成または削除できるのは Alibaba Cloud アカウントの所有者のみです。RAM ユーザーにロールの管理を許可するには、次の権限を付与するポリシーをアタッチしてください。
RAM ユーザーにロールの作成を許可するには、サービス名
audit.log.aliyuncs.comに対してram:CreateServiceLinkedRole権限を付与してください。RAM ユーザーにロールの削除を許可するには、サービス名
audit.log.aliyuncs.comに対してram:DeleteServiceLinkedRole権限を付与してください。
次のサンプルポリシーは、RAM ユーザーにロールの作成と削除の両方を行う権限を付与します。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ram:CreateServiceLinkedRole",
"ram:DeleteServiceLinkedRole"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"ram:ServiceName": "audit.log.aliyuncs.com"
}
}
}
]
}