Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Étape 1 : Création de l'intégration avec le OpenSearch service
La première étape consiste à créer l'intégration avec OpenSearch Service, ce que vous ne devez faire qu'une seule fois. La création de l'intégration créera les ressources suivantes dans votre compte.
Une collection de séries OpenSearch Service chronologiques sans haute disponibilité.
Une collection est un ensemble d'index de OpenSearch service qui fonctionnent ensemble pour prendre en charge une charge de travail.
Deux politiques de sécurité pour la collection. L'un définit le type de chiffrement, qui utilise soit une AWS KMS clé gérée par le client, soit une clé appartenant au service. L'autre politique définit l'accès au réseau, permettant à l'application OpenSearch de service d'accéder à la collection. Pour plus d'informations, consultez la section Chiffrement des données au repos pour Amazon OpenSearch Service.
Une politique d'accès aux données de OpenSearch service qui définit qui peut accéder aux données de la collection.
Une source de données de requête directe de type OpenSearch Service dont CloudWatch les journaux sont définis comme source.
Une application OpenSearch de service portant le nom
aws-analytics
. L'application sera configurée pour permettre la création d'un espace de travail. Si une application nommée existeaws-analytics
déjà, elle sera mise à jour pour ajouter cette collection en tant que source de données.Un espace OpenSearch de travail de service qui hébergera les tableaux de bord et permettra à tous ceux qui y ont accès de lire depuis l'espace de travail.
Autorisations requises
Pour créer l'intégration, vous devez être connecté à un compte doté de la politique IAM CloudWatchOpenSearchDashboardsFullAccessgérée ou d'autorisations équivalentes, comme indiqué ici. Vous devez également disposer de ces autorisations pour supprimer l'intégration, créer, modifier et supprimer des tableaux de bord, et pour actualiser le tableau de bord manuellement.
{ "Version": "2012-10-17", "Statement": [{ "Sid": "CloudWatchOpenSearchDashboardsIntegration", "Effect": "Allow", "Action": [ "logs:ListIntegrations", "logs:GetIntegration", "logs:DeleteIntegration", "logs:PutIntegration", "logs:DescribeLogGroups", "opensearch:ApplicationAccessAll", "iam:ListRoles", "iam:ListUsers" ], "Resource": "*" }, { "Sid": "CloudWatchLogsOpensearchReadAPIs", "Effect": "Allow", "Action": [ "aoss:BatchGetCollection", "aoss:BatchGetLifecyclePolicy", "es:ListApplications" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsOpensearchCreateServiceLinkedAccess", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::*:role/aws-service-role/opensearchservice.amazonaws.com/AWSServiceRoleForAmazonOpenSearchService", "Condition": { "StringEquals": { "iam:AWSServiceName": "opensearchservice.amazonaws.com", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsObservabilityCreateServiceLinkedAccess", "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::*:role/aws-service-role/observability.aoss.amazonaws.com/AWSServiceRoleForAmazonOpenSearchServerless", "Condition": { "StringEquals": { "iam:AWSServiceName": "observability.aoss.amazonaws.com", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsCollectionRequestAccess", "Effect": "Allow", "Action": [ "aoss:CreateCollection" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:RequestTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": "CloudWatchOpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsApplicationRequestAccess", "Effect": "Allow", "Action": [ "es:CreateApplication" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:RequestTag/OpenSearchIntegration": [ "Dashboards" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": "OpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsCollectionResourceAccess", "Effect": "Allow", "Action": [ "aoss:DeleteCollection" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:ResourceTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] } } }, { "Sid": "CloudWatchLogsApplicationResourceAccess", "Effect": "Allow", "Action": [ "es:UpdateApplication", "es:GetApplication" ], "Resource": "*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:ResourceTag/OpenSearchIntegration": [ "Dashboards" ] } } }, { "Sid": "CloudWatchLogsCollectionPolicyAccess", "Effect": "Allow", "Action": [ "aoss:CreateSecurityPolicy", "aoss:CreateAccessPolicy", "aoss:DeleteAccessPolicy", "aoss:DeleteSecurityPolicy", "aoss:GetAccessPolicy", "aoss:GetSecurityPolicy" ], "Resource": "*", "Condition": { "StringLike": { "aoss:collection": "cloudwatch-logs-*", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsAPIAccessAll", "Effect": "Allow", "Action": [ "aoss:APIAccessAll" ], "Resource": "*", "Condition": { "StringLike": { "aoss:collection": "cloudwatch-logs-*" } } }, { "Sid": "CloudWatchLogsIndexPolicyAccess", "Effect": "Allow", "Action": [ "aoss:CreateAccessPolicy", "aoss:DeleteAccessPolicy", "aoss:GetAccessPolicy", "aoss:CreateLifecyclePolicy", "aoss:DeleteLifecyclePolicy" ], "Resource": "*", "Condition": { "StringLike": { "aoss:index": "cloudwatch-logs-*", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsDQSRequestQueryAccess", "Effect": "Allow", "Action": [ "es:AddDirectQueryDataSource" ], "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:RequestTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": "CloudWatchOpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsStartDirectQueryAccess", "Effect": "Allow", "Action": [ "opensearch:StartDirectQuery", "opensearch:GetDirectQuery" ], "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*" }, { "Sid": "CloudWatchLogsDQSResourceQueryAccess", "Effect": "Allow", "Action": [ "es:GetDirectQueryDataSource", "es:DeleteDirectQueryDataSource" ], "Resource": "arn:aws:opensearch:*:*:datasource/cloudwatch_logs_*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:ResourceTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] } } }, { "Sid": "CloudWatchLogsPassRoleAccess", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:PassedToService": "directquery.opensearchservice.amazonaws.com", "aws:CalledViaFirst": "logs.amazonaws.com" } } }, { "Sid": "CloudWatchLogsAossTagsAccess", "Effect": "Allow", "Action": [ "aoss:TagResource" ], "Resource": "arn:aws:aoss:*:*:collection/*", "Condition": { "StringEquals": { "aws:CalledViaFirst": "logs.amazonaws.com", "aws:ResourceTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ] }, "ForAllValues:StringEquals": { "aws:TagKeys": "CloudWatchOpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsEsApplicationTagsAccess", "Effect": "Allow", "Action": [ "es:AddTags" ], "Resource": "arn:aws:opensearch:*:*:application/*", "Condition": { "StringEquals": { "aws:ResourceTag/OpenSearchIntegration": [ "Dashboards" ], "aws:CalledViaFirst": "logs.amazonaws.com" }, "ForAllValues:StringEquals": { "aws:TagKeys": "OpenSearchIntegration" } } }, { "Sid": "CloudWatchLogsEsDataSourceTagsAccess", "Effect": "Allow", "Action": [ "es:AddTags" ], "Resource": "arn:aws:opensearch:*:*:datasource/*", "Condition": { "StringEquals": { "aws:ResourceTag/CloudWatchOpenSearchIntegration": [ "Dashboards" ], "aws:CalledViaFirst": "logs.amazonaws.com" }, "ForAllValues:StringEquals": { "aws:TagKeys": "CloudWatchOpenSearchIntegration" } } } ] }
Création de l'intégration
Suivez ces étapes pour créer l'intégration.
Pour intégrer les CloudWatch journaux à Amazon OpenSearch Service
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. Dans le volet de navigation de gauche, choisissez Logs Insights, puis sélectionnez l' OpenSearchonglet Analyser avec.
Choisissez Créer une intégration.
Dans Nom de l'intégration, saisissez un nom pour l'intégration.
(Facultatif) Pour chiffrer les données écrites sur OpenSearch Service Serverless, entrez l'ARN de la AWS KMS clé que vous souhaitez utiliser dans l'ARN de la clé KMS. Pour plus d'informations, consultez la section Encryption at rest dans le manuel Amazon OpenSearch Service Developer Guide.
Pour la conservation des données, entrez la durée pendant laquelle vous souhaitez que les index de données du OpenSearch service soient conservés. Cela définit également la période maximale pendant laquelle vous pouvez afficher les données dans les tableaux de bord. Le choix d'une période de conservation des données plus longue entraînera des coûts de recherche et d'indexation supplémentaires. Pour plus d'informations, consultez la section Tarification des OpenSearch services sans serveur
. La durée maximale de conservation est de 30 jours.
La durée de conservation des données sera également utilisée pour créer la politique de cycle de vie de la collecte des OpenSearch services.
Pour le rôle IAM pour écrire dans la OpenSearch collection, créez un nouveau rôle IAM ou sélectionnez un rôle IAM existant à utiliser pour écrire dans la OpenSearch collection de services.
La création d'un nouveau rôle est la méthode la plus simple, et le rôle sera créé avec les autorisations nécessaires.
Note
Si vous créez un rôle, il sera autorisé à lire tous les groupes de journaux du compte.
Si vous souhaitez sélectionner un rôle existant, les autorisations doivent être répertoriées dansAutorisations nécessaires à l'intégration. Vous pouvez également choisir Utiliser un rôle existant, puis dans la section Vérifier les autorisations d'accès du rôle sélectionné, vous pouvez choisir Créer un rôle. De cette façon, vous pouvez utiliser les autorisations Autorisations nécessaires à l'intégration répertoriées dans un modèle et les modifier. Par exemple, si vous souhaitez spécifier un contrôle plus fin des groupes de journaux.
Pour les rôles IAM et les utilisateurs qui peuvent consulter les tableaux de bord, vous sélectionnez la manière dont vous souhaitez accorder l'accès aux rôles IAM et aux utilisateurs IAM pour l'accès au tableau de bord des journaux vendus :
Pour limiter l'accès au tableau de bord à certains utilisateurs, choisissez Sélectionner les rôles IAM et les utilisateurs autorisés à consulter les tableaux de bord, puis recherchez et sélectionnez dans la zone de texte les rôles IAM et les utilisateurs IAM auxquels vous souhaitez accorder l'accès.
Pour accorder l'accès au tableau de bord à tous les utilisateurs, choisissez Autoriser tous les rôles et utilisateurs de ce compte à consulter les tableaux de bord.
Important
La sélection de rôles ou d'utilisateurs, ou le choix de tous les utilisateurs, ne fait que les ajouter à la politique d'accès aux données nécessaire pour accéder à la collection de OpenSearch services qui stocke les données du tableau de bord. Pour qu'ils puissent consulter les tableaux de bord des journaux vendus, vous devez également accorder à ces rôles et à ces utilisateurs la politique IAM CloudWatchOpenSearchDashboardAccess gérée.
Choisissez Créer une intégration
La création de l'intégration prendra quelques minutes.