

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.

# Autorisations et politiques d'Amazon Managed Grafana pour les sources de données AWS
<a name="AMG-manage-permissions"></a>

Amazon Managed Grafana propose trois modes d'autorisation :
+ Service-managed autorisations pour le compte courant
+ Service-managed autorisations pour les organisations
+ Customer-managed autorisations

Lorsque vous créez un espace de travail, vous choisissez le mode d'autorisation à utiliser. Vous pouvez également le modifier ultérieurement si vous le souhaitez.

Dans l'un ou l'autre des modes d'autorisation gérés par le service, Amazon Managed Grafana crée les rôles et les politiques nécessaires pour accéder aux sources de AWS données de votre compte ou de votre organisation et les découvrir. Vous pouvez ensuite modifier ces politiques dans la console IAM si vous le souhaitez.

## Service-managed autorisations pour un seul compte
<a name="AMG-service-managed-account"></a>

**Dans ce mode, Amazon Managed Grafana crée un rôle appelé AmazonGrafanaServiceRole -. {{random-id}}** Amazon Managed Grafana associe ensuite une politique à ce rôle pour chaque AWS service auquel vous choisissez d'accéder depuis l'espace de travail Amazon Managed Grafana.

**CloudWatch**  
Amazon Managed Grafana joint la politique AWS gérée. **AmazonGrafanaCloudWatchAccess**  
**Pour les espaces de travail utilisés CloudWatch avant la création de la politique **AmazonGrafanaCloudWatchAccess**gérée, Amazon Managed Grafana a créé une politique gérée par le client avec le nom -. AmazonGrafanaCloudWatchPolicy {{random-id}}**

**Amazon OpenSearch Service**  
**Amazon Managed Grafana crée une politique gérée par le client avec le nom -. AmazonGrafanaOpenSearchPolicy {{random-id}}** Les Get/Post autorisations sont nécessaires pour accéder à la source de données. Les List/Describe autorisations sont utilisées par Amazon Managed Grafana pour la découverte de sources de données, mais elles ne sont pas requises pour que le plug-in de source de données fonctionne. Le contenu de cette politique est le suivant :    
****  

```
{
    "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 joint la politique AWS gérée. **AWSIoTSiteWiseReadOnlyAccess**

**Amazon Redshift**  
Amazon Managed Grafana joint la politique AWS gérée. **AmazonGrafanaRedshiftAccess**

**Amazon Athena**  
Amazon Managed Grafana joint la politique AWS gérée. **AmazonGrafanaAthenaAccess**

**Amazon Managed Service for Prometheus**  
**Amazon Managed Grafana crée une politique gérée par le client avec le nom -. AmazonGrafanaPrometheusPolicy {{random-id}}** Les List/Describe autorisations sont utilisées par Amazon Managed Grafana pour la découverte des sources de données, elles ne sont pas requises pour que le plug-in fonctionne. Le contenu de cette politique est le suivant :    
****  

```
{
    "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 crée une politique gérée par le client avec le nom -. AmazonGrafanaSNSPolicy {{random-id}}** La politique vous interdit d'utiliser uniquement les rubriques SNS de votre compte qui commencent par la chaîne. `grafana` Cela n'est pas nécessaire si vous créez votre propre politique. Le contenu de cette politique est le suivant :    
****  

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

**Timestream**  
Amazon Managed Grafana joint la politique AWS gérée. **AmazonTimestreamReadOnlyAccess**

**X-Ray**  
Amazon Managed Grafana joint la politique AWS gérée. **AWSXrayReadOnlyAccess**

## Service-managed autorisations pour une organisation
<a name="AMG-service-managed-organization"></a>

Ce mode n'est pris en charge que pour les espaces de travail créés dans des comptes de gestion ou des comptes d'administrateur délégué au sein d'une organisation. Les comptes d'administrateur délégué peuvent créer et administrer des ensembles de piles pour l'organisation. Pour plus d'informations sur les comptes d'administrateur délégué, voir [Enregistrer un administrateur délégué](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html).

**Note**  
La création de ressources telles que les espaces de travail Grafana gérés par Amazon dans le compte de gestion d'une organisation va à l'encontre des meilleures pratiques en matière de AWS sécurité.

Dans ce mode, Amazon Managed Grafana crée tous les rôles IAM nécessaires pour accéder aux AWS ressources des autres comptes de votre organisation. AWS **Dans chaque compte des unités organisationnelles que vous sélectionnez, Amazon Managed Grafana crée un rôle appelé AmazonGrafanaOrgMemberRole -. {{random-id}}** Cette création de rôle s'effectue par le biais d'une intégration avec AWS CloudFormation StackSets.

Ce rôle est associé à une politique pour chaque source de AWS données que vous choisissez d'utiliser dans l'espace de travail. Pour le contenu de ces politiques relatives aux données, consultez[Service-managed autorisations pour un seul compte](#AMG-service-managed-account).

Amazon Managed Grafana crée également un rôle appelé **AmazonGrafanaOrgAdminRole- {{random-id}}** dans le compte de gestion de l'organisation. Ce rôle autorise l'espace de travail Amazon Managed Grafana à accéder à d'autres comptes de l'organisation. AWS les politiques du canal de notification de service sont également associées à ce rôle. Utilisez le menu **Source de AWS données** de votre espace de travail pour fournir rapidement des sources de données pour chaque compte auquel votre espace de travail peut accéder

Pour utiliser ce mode, vous devez activer CloudFormation Stacksets en tant que service fiable dans votre AWS organisation. Pour plus d'informations, voir [Activer l'accès sécurisé avec AWS Organizations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html).

Voici le contenu de l'ensemble **AmazonGrafanaStackSet- {{random-id}}** stack :

```
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]
```

Voici le contenu de **AmazonGrafanaOrgAdminPolicy- {{random-id}}**.

------
#### [ JSON ]

****  

```
{ 
    "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}}" 
    }]
}
```

------

## Customer-managed autorisations
<a name="AMG-customer-managed"></a>

Si vous choisissez d'utiliser des autorisations gérées par le client, vous spécifiez un rôle IAM existant dans votre compte lorsque vous créez un espace de travail Grafana géré par Amazon. Le rôle doit avoir une politique de confiance basée sur la confiance`grafana.amazonaws.com`.

Voici un exemple d'une telle politique :

------
#### [ JSON ]

****  

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

------

Pour que ce rôle puisse accéder aux sources de AWS données ou aux canaux de notification de ce compte, il doit disposer des autorisations définies dans les politiques répertoriées plus haut dans cette section. Par exemple, pour utiliser la source de CloudWatch données, elle doit disposer des autorisations définies dans la CloudWatch politique répertoriée dans[Service-managed autorisations pour un seul compte](#AMG-service-managed-account).

Les `Describe` autorisations `List` et définies dans les politiques relatives à Amazon OpenSearch Service et Amazon Managed Service for Prometheus présentées [Service-managed autorisations pour un seul compte](#AMG-service-managed-account) dans le document ne sont nécessaires que pour que la découverte et le provisionnement des sources de données fonctionnent correctement. Ils ne sont pas nécessaires si vous souhaitez simplement configurer ces sources de données manuellement.

**Cross-account accès**

Lorsqu'un espace de travail est créé dans le compte 111111111111, un rôle dans le compte 1111111111111 doit être fourni. Pour cet exemple, appelez ce rôle *WorkspaceRole*. Pour accéder aux données du compte 999999999999, vous devez créer un rôle dans le compte 999999999999. Appelle ça *DataSourceRole*. Vous devez ensuite établir une relation de confiance entre *WorkspaceRole*et *DataSourceRole*. Pour plus d'informations sur l'établissement de la confiance entre deux rôles, consultez le [didacticiel IAM : déléguer l'accès entre AWS comptes à l'aide de rôles IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html).

*DataSourceRole*doit contenir les déclarations de politique répertoriées plus haut dans cette section pour chaque source de données que vous souhaitez utiliser. Une fois la relation de confiance établie, vous pouvez spécifier l'ARN de *DataSourceRole*(arn:aws:iam : :99999999999999:role :DataSourceRole) dans le champ **ARN Assume le rôle sur la page de configuration de la source de données de n'importe quelle source de données** de votre espace de travail. AWS La source de données accède ensuite au compte 999999999999 avec les autorisations définies dans. *DataSourceRole* 