Autorizzazioni e policy di Amazon Managed Grafana per le fonti di dati AWS - Grafana gestito da Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Autorizzazioni e policy di Amazon Managed Grafana per le fonti di dati AWS

Amazon Managed Grafana offre tre modalità di autorizzazione:

  • Autorizzazioni gestite dal servizio per l'account corrente

  • Autorizzazioni gestite dal servizio per le organizzazioni

  • Autorizzazioni gestite dal cliente

Quando crei un'area di lavoro, scegli la modalità di autorizzazione da utilizzare. Puoi anche modificarla in un secondo momento, se lo desideri.

In entrambe le modalità di autorizzazione gestite dal servizio, Amazon Managed Grafana crea i ruoli e le politiche necessari per accedere e scoprire le fonti di AWS dati nel tuo account o organizzazione. Puoi quindi modificare queste politiche nella console IAM, se lo desideri.

Autorizzazioni gestite dal servizio per un singolo account

In questa modalità, Amazon Managed Grafana crea un ruolo chiamato AmazonGrafanaServiceRolerandom-id. Amazon Managed Grafana assegna quindi una policy a questo ruolo per ogni AWS servizio a cui scegli di accedere dall'area di lavoro di Amazon Managed Grafana.

CloudWatch

Amazon Managed Grafana allega la policy gestita AWS . AmazonGrafanaCloudWatchAccess

Nota

Per le aree di lavoro utilizzate CloudWatch prima della creazione della policy AmazonGrafanaCloudWatchAccessgestita, Amazon Managed Grafana ha creato una policy gestita dal cliente con il nome random-id. AmazonGrafanaCloudWatchPolicy

OpenSearch Servizio Amazon

Amazon Managed Grafana crea una policy gestita dal cliente con il nome random-id. AmazonGrafanaOpenSearchPolicy Le autorizzazioni Get/Post sono necessarie per l'accesso alle fonti di dati. Le autorizzazioni List/Descrivi vengono utilizzate da Amazon Managed Grafana per l'individuazione delle origini dati, ma non sono necessarie per il funzionamento del plug-in dell'origine dati. I contenuti della policy sono i seguenti:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "es:ESHttpGet", "es:DescribeElasticsearchDomains", "es:ListDomainNames" ], "Resource": "*" }, { "Effect": "Allow", "Action": "es:ESHttpPost", "Resource": [ "arn:aws:es:*:*:domain/*/_msearch*", "arn:aws:es:*:*:domain/*/_opendistro/_ppl" ] } ] }
AWS IoT SiteWise

Amazon Managed Grafana allega la policy gestita AWS . AWSIoTSiteWiseReadOnlyAccess

Amazon Redshift

Amazon Managed Grafana allega la policy gestita AWS . AmazonGrafanaRedshiftAccess

Amazon Athena

Amazon Managed Grafana allega la policy gestita AWS . AmazonGrafanaAthenaAccess

Amazon Managed Service per Prometheus

Amazon Managed Grafana crea una policy gestita dal cliente con il nome random-id. AmazonGrafanaPrometheusPolicy Le autorizzazioni List/Descrivi vengono utilizzate da Amazon Managed Grafana per l'individuazione delle fonti di dati e non sono necessarie per il funzionamento del plug-in. I contenuti della policy sono i seguenti:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aps:ListWorkspaces", "aps:DescribeWorkspace", "aps:QueryMetrics", "aps:GetLabels", "aps:GetSeries", "aps:GetMetricMetadata" ], "Resource": "*" } ] }
Amazon SNS

Amazon Managed Grafana crea una policy gestita dal cliente con il nome AmazonGrafana SNSPolicy-random-id. La policy ti limita a utilizzare nel tuo account solo argomenti SNS che iniziano con la stringa. grafana Questo non è necessario se crei la tua politica. I contenuti della politica sono i seguenti:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:*:accountId:grafana*" ] } ] }
Timestream

Amazon Managed Grafana allega la policy gestita AWS . AmazonTimestreamReadOnlyAccess

X-Ray

Amazon Managed Grafana allega la policy gestita AWS . AWSXrayReadOnlyAccess

Autorizzazioni gestite dal servizio per un'organizzazione

Questa modalità è supportata solo per le aree di lavoro create in account di gestione o account di amministratore delegato in un'organizzazione. Gli account amministratore delegati possono creare e amministrare set di stack per l'organizzazione. Per ulteriori informazioni sugli account di amministratore delegato, consulta Registrare un amministratore delegato.

Nota

La creazione di risorse come le aree di lavoro Amazon Managed Grafana nell'account di gestione di un'organizzazione è contraria alle migliori pratiche di AWS sicurezza.

In questa modalità, Amazon Managed Grafana crea tutti i ruoli IAM necessari per accedere alle AWS risorse di altri account dell'organizzazione. AWS In ogni account nelle unità organizzative selezionate, Amazon Managed Grafana crea un ruolo chiamato AmazonGrafanaOrgMemberRolerandom-id. La creazione di questo ruolo viene eseguita tramite un'integrazione con. AWS CloudFormation StackSets

A questo ruolo è associata una politica per ogni fonte di AWS dati che scegli di utilizzare nell'area di lavoro. Per i contenuti di queste politiche relative ai dati, consultaAutorizzazioni gestite dal servizio per un singolo account .

Amazon Managed Grafana crea anche un ruolo chiamato AmazonGrafanaOrgAdminRolerandom-id nell'account di gestione dell'organizzazione. Questo ruolo consente all'area di lavoro Amazon Managed Grafana l'autorizzazione ad accedere ad altri account dell'organizzazione. AWS A questo ruolo vengono associate anche le politiche del canale di notifica dei servizi. Utilizza il menu AWS Data Source nel tuo spazio di lavoro per fornire rapidamente le fonti di dati per ogni account a cui l'area di lavoro può accedere

Per utilizzare questa modalità, è necessario abilitare AWS CloudFormation Stacksets come servizio affidabile nell'organizzazione. AWS Per ulteriori informazioni, consulta Abilitare l'accesso affidabile con. AWS Organizations

Ecco il contenuto dello stack set AmazonGrafanaStackSet- random-id:

Parameters: IncludePrometheusPolicy: Description: Whether to include Amazon Prometheus access in the role Type: String AllowedValues: - true - false Default: false IncludeAESPolicy: Description: Whether to include Amazon Elasticsearch access in the role Type: String AllowedValues: - true - false Default: false IncludeCloudWatchPolicy: Description: Whether to include CloudWatch access in the role Type: String AllowedValues: - true - false Default: false IncludeTimestreamPolicy: Description: Whether to include Amazon Timestream access in the role Type: String AllowedValues: - true - false Default: false IncludeXrayPolicy: Description: Whether to include AWS X-Ray access in the role Type: String AllowedValues: - true - false Default: false IncludeSitewisePolicy: Description: Whether to include AWS IoT SiteWise access in the role Type: String AllowedValues: - true - false Default: false IncludeRedshiftPolicy: Description: Whether to include Amazon Redshift access in the role Type: String AllowedValues: - true - false Default: false IncludeAthenaPolicy: Description: Whether to include Amazon Athena access in the role Type: String AllowedValues: - true - false Default: false RoleName: Description: Name of the role to create Type: String AdminAccountId: Description: Account ID of the Amazon Grafana org admin Type: String Conditions: addPrometheus: !Equals [!Ref IncludePrometheusPolicy, true] addAES: !Equals [!Ref IncludeAESPolicy, true] addCloudWatch: !Equals [!Ref IncludeCloudWatchPolicy, true] addTimestream: !Equals [!Ref IncludeTimestreamPolicy, true] addXray: !Equals [!Ref IncludeXrayPolicy, true] addSitewise: !Equals [!Ref IncludeSitewisePolicy, true] addRedshift: !Equals [!Ref IncludeRedshiftPolicy, true] addAthena: !Equals [!Ref IncludeAthenaPolicy, true] Resources: PrometheusPolicy: Type: AWS::IAM::Policy Condition: addPrometheus Properties: Roles: - !Ref GrafanaMemberServiceRole PolicyName: AmazonGrafanaPrometheusPolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - aps:QueryMetrics - aps:GetLabels - aps:GetSeries - aps:GetMetricMetadata - aps:ListWorkspaces - aps:DescribeWorkspace Resource: '*' AESPolicy: Type: AWS::IAM::Policy Condition: addAES Properties: Roles: - !Ref GrafanaMemberServiceRole PolicyName: AmazonGrafanaElasticsearchPolicy PolicyDocument: Version: '2012-10-17' Statement: - Sid: AllowReadingESDomains Effect: Allow Action: - es:ESHttpGet - es:ESHttpPost - es:ListDomainNames - es:DescribeElasticsearchDomains Resource: '*' CloudWatchPolicy: Type: AWS::IAM::Policy Condition: addCloudWatch Properties: Roles: - !Ref GrafanaMemberServiceRole PolicyName: AmazonGrafanaCloudWatchPolicy PolicyDocument: Version: '2012-10-17' Statement: - Sid: AllowReadingMetricsFromCloudWatch Effect: Allow Action: - cloudwatch:DescribeAlarmsForMetric - cloudwatch:DescribeAlarmHistory - cloudwatch:DescribeAlarms - cloudwatch:ListMetrics - cloudwatch:GetMetricStatistics - cloudwatch:GetMetricData - cloudwatch:GetInsightRuleReport Resource: "*" - Sid: AllowReadingLogsFromCloudWatch Effect: Allow Action: - logs:DescribeLogGroups - logs:GetLogGroupFields - logs:StartQuery - logs:StopQuery - logs:GetQueryResults - logs:GetLogEvents Resource: "*" - Sid: AllowReadingTagsInstancesRegionsFromEC2 Effect: Allow Action: - ec2:DescribeTags - ec2:DescribeInstances - ec2:DescribeRegions Resource: "*" - Sid: AllowReadingResourcesForTags Effect: Allow Action: - tag:GetResources Resource: "*" GrafanaMemberServiceRole: Type: 'AWS::IAM::Role' Properties: RoleName: !Ref RoleName AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: AWS: !Sub arn:aws:iam::${AdminAccountId}:root Action: - 'sts:AssumeRole' Path: /service-role/ ManagedPolicyArns: - !If [addTimestream, arn:aws:iam::aws:policy/AmazonTimestreamReadOnlyAccess, !Ref AWS::NoValue] - !If [addXray, arn:aws:iam::aws:policy/AWSXrayReadOnlyAccess, !Ref AWS::NoValue] - !If [addSitewise, arn:aws:iam::aws:policy/AWSIoTSiteWiseReadOnlyAccess, !Ref AWS::NoValue] - !If [addRedshift, arn:aws:iam::aws:policy/service-role/AmazonGrafanaRedshiftAccess, !Ref AWS::NoValue] - !If [addAthena, arn:aws:iam::aws:policy/service-role/AmazonGrafanaAthenaAccess, !Ref AWS::NoValue]

Ecco il contenuto di - random-id. AmazonGrafanaOrgAdminPolicy

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "organizations:ListAccountsForParent", "organizations:ListOrganizationalUnitsForParent" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-organizationId" } } }, { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": "arn:aws:iam::*:role/service-role/AmazonGrafanaOrgMemberRole-random-Id" }] }

Autorizzazioni gestite dal cliente

Se scegli di utilizzare le autorizzazioni gestite dal cliente, specifichi un ruolo IAM esistente nel tuo account quando crei uno spazio di lavoro Amazon Managed Grafana. Il ruolo deve avere una politica di fiducia affidabile. grafana.amazonaws.com

Di seguito è riportato un esempio di tale politica:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "grafana.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Affinché quel ruolo possa accedere alle fonti di AWS dati o ai canali di notifica in quell'account, deve disporre delle autorizzazioni previste nelle politiche elencate in precedenza in questa sezione. Ad esempio, per utilizzare l'origine CloudWatch dati, deve disporre delle autorizzazioni indicate nella CloudWatch politica elencata in. Autorizzazioni gestite dal servizio per un singolo account

Le autorizzazioni List e Describe le autorizzazioni nelle politiche per Amazon OpenSearch Service e Amazon Managed Service for Prometheus mostrate Autorizzazioni gestite dal servizio per un singolo account in sono necessarie solo per il corretto funzionamento del rilevamento e del provisioning delle fonti di dati. Non sono necessarie se desideri semplicemente configurare queste fonti di dati manualmente.

Accesso multi-account

Quando viene creato uno spazio di lavoro nell'account 1111, deve essere fornito un ruolo nell'account 11111. Per questo esempio, chiama questo ruolo. WorkspaceRole Per accedere ai dati nell'account 9999, è necessario creare un ruolo nell'account 9999. Chiamalo. DataSourceRole È quindi necessario stabilire una relazione di fiducia tra WorkspaceRolee DataSourceRole. Per ulteriori informazioni su come stabilire la fiducia tra due ruoli, consulta IAM Tutorial: Delegare l'accesso tra AWS account utilizzando i ruoli IAM.

DataSourceRoledeve contenere le dichiarazioni politiche elencate in precedenza in questa sezione per ogni fonte di dati che desideri utilizzare. Dopo aver stabilito la relazione di trust, puoi specificare l'ARN di DataSourceRole(arn:aws:iam: :99999999:role:DataSourceRole) nel campo Assumi ruolo ARN nella pagina di configurazione dell'origine dati di qualsiasi origine dati nel tuo spazio di lavoro. AWS L'origine dati accede quindi all'account 9999 con le autorizzazioni definite in. DataSourceRole