Simple Log Service vous permet d'utiliser le rôle par défaut AliyunLogETLRole ou un rôle RAM personnalisé pour créer une tâche SQL planifiée. Cette rubrique explique comment accorder des autorisations à un rôle RAM personnalisé afin d'analyser les journaux dans un logstore source et d'écrire les données dans un logstore de destination.
Accorder des autorisations d'analyse pour le logstore source
Connectez-vous à la console RAM avec le compte Alibaba Cloud qui contient le logstore source, ou en tant qu'administrateur RAM de ce compte.
-
Créez un rôle RAM. Par exemple, nommez le rôle
QueryLogStoreRole. Pour plus d'informations, consultez Créer un rôle RAM pour un service Alibaba Cloud de confiance.ImportantLors de la création du rôle RAM, définissez Principal Type sur Cloud Service et Principal Name sur Simple Log Service.
-
Vérifiez la politique de confiance du rôle RAM. Assurez-vous que l'élément
Servicecontient au moins"log.aliyuncs.com".{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
-
Créez une politique personnalisée, telle que
QueryLogStorePolicy, pour accorder des autorisations d'analyse des journaux dans le logstore source. Pour plus d'informations, consultez Créer une politique personnalisée dans l'éditeur JSON.Dans l'onglet JSON editor, remplacez le contenu de l'éditeur de politiques par une stratégie d'autorisation par correspondance exacte ou floue.
Autorisation par correspondance exacte
Remplacez
{project-name}et{logstore-name}par les noms réels de votre projet et de votre logstore.ImportantDans une politique personnalisée, le type de ressource
logstorecouvre à la fois les logstores et les metricstores ; cette politique s'applique donc également si la source est un metricstore.{ "Version":"1", "Statement":[ { "Action":[ "log:PostProjectQuery" ], "Resource":[ "acs:log:*:*:project/{project-name}/logstore/{logstore-name}" ], "Effect":"Allow" }, { "Action":[ "log:GetProjectQuery", "log:PutProjectQuery", "log:DeleteProjectQuery" ], "Resource":[ "acs:log:*:*:project/{project-name}" ], "Effect":"Allow" } ] }Autorisation par correspondance floue
Par exemple, si vos projets sources sont nommés
log-project-dev-a,log-project-dev-betlog-project-dev-c, et que vos logstores sources sont nomméswebsite_a_log,website_b_logetwebsite_c_log, vous pouvez utiliser l'autorisation par correspondance floue. Adaptez les noms de projet et de logstore dans la politique selon votre scénario.{ "Version":"1", "Statement":[ { "Action":[ "log:PostProjectQuery" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log" ], "Effect":"Allow" }, { "Action":[ "log:GetProjectQuery", "log:PutProjectQuery", "log:DeleteProjectQuery" ], "Resource":[ "acs:log:*:*:project/log-project-dev-*" ], "Effect":"Allow" } ] } Attachez la politique personnalisée
QueryLogStorePolicyau rôle RAMQueryLogStoreRole. Pour plus d'informations, consultez Gérer les autorisations d'un rôle RAM.
Étapes suivantes
Récupérez le nom de ressource Alibaba Cloud (ARN) du rôle RAM. Pour plus d'informations, consultez Afficher un rôle RAM.
Lors de la création d'une tâche SQL planifiée, sous SQL Execution Authorization, sélectionnez Custom Role et saisissez l'ARN du rôle RAM
QueryLogStoreRole. Pour plus d'informations, consultez Créer une tâche SQL planifiée.
Accorder des autorisations d'écriture pour le logstore de destination
Connectez-vous à la console RAM avec le compte Alibaba Cloud qui contient le logstore de destination, ou en tant qu'administrateur RAM de ce compte.
-
Créez un rôle RAM. Par exemple, nommez le rôle
WriteLogStoreRole. Pour plus d'informations, consultez Créer un rôle RAM pour un service Alibaba Cloud de confiance.ImportantLors de la création du rôle RAM, définissez Principal Type sur Cloud Service et Principal Name sur Simple Log Service.
-
Vérifiez la politique de confiance du rôle RAM. Assurez-vous que l'élément
Servicecontient au moins"log.aliyuncs.com".{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com" ] } } ], "Version": "1" }
-
Créez une politique personnalisée, telle que
WriteLogStorePolicy, pour accorder des autorisations d'écriture des données dans le logstore de destination. Pour plus d'informations, consultez Créer une politique personnalisée dans l'éditeur JSON.Dans l'onglet JSON editor, remplacez le contenu de l'éditeur de politiques par une stratégie d'autorisation par correspondance exacte ou floue.
Autorisation par correspondance exacte
Remplacez
{project-name}et{logstore-name}par les noms réels de votre projet et de votre logstore.ImportantDans une politique personnalisée, le type de ressource
logstorecouvre à la fois les logstores et les metricstores ; cette politique s'applique donc également si la source est un metricstore.{ "Version": "1", "Statement": [ { "Action": [ "log:PostLogStoreLogs", "log:PostProjectQuery" ], "Resource": "acs:log:*:*:project/{project-name}/logstore/{logstore-name}", "Effect": "Allow" } ] }Autorisation par correspondance floue
Par exemple, pour cibler des projets de destination tels que
log-project-dev-a,log-project-dev-betlog-project-dev-c, ainsi que des logstores tels quewebsite_a_log_output,website_b_log_outputetwebsite_c_log_output, vous pouvez utiliser l'autorisation par correspondance floue. Modifiez les noms de projet et de logstore dans la politique pour les adapter à votre scénario.{ "Version": "1", "Statement": [ { "Action": [ "log:Post*", "log:BatchPost*" ], "Resource": "acs:log:*:*:project/log-project-dev-*/logstore/website_*_log_output", "Effect": "Allow" } ] } Attachez la politique personnalisée
WriteLogStorePolicyau rôle RAMWriteLogStoreRole. Pour plus d'informations, consultez Gérer les autorisations d'un rôle RAM.-
(Facultatif) Si le logstore source et le logstore de destination appartiennent à des comptes Alibaba Cloud différents, vous devez également modifier la politique de confiance du rôle RAM
WriteLogStoreRole.Dans la liste des rôles RAM, cliquez sur le rôle RAM
WriteLogStoreRole.-
Dans l'onglet Trust Policy, cliquez sur Edit Trust Policy et remplacez le contenu de l'éditeur par la politique suivante.
ImportantRemplacez
{source-account-id}par l'ID du compte Alibaba Cloud où réside le logstore source. Vous trouverez l'ID du compte dans le Account Center.{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "log.aliyuncs.com", "{source-account-id}@log.aliyuncs.com" ] } } ], "Version": "1" }
Étapes suivantes
Récupérez le nom de ressource Alibaba Cloud (ARN) du rôle RAM. Pour plus d'informations, consultez Afficher un rôle RAM.
Lors de la création d'une tâche SQL planifiée, sous Write Authorization, sélectionnez Custom Role et saisissez l'ARN du rôle RAM
WriteLogStoreRole. Pour plus d'informations, consultez Créer une tâche SQL planifiée.