

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Amazon gestionó los permisos y las políticas de Grafana para las fuentes de datos AWS
<a name="AMG-manage-permissions"></a>

Amazon Managed Grafana ofrece tres modos de permisos:
+ Service-managed permisos para la cuenta corriente
+ Service-managed permisos para organizaciones
+ Customer-managed permisos

Al crear un espacio de trabajo, elige el modo de permiso que se va a usar. También puede cambiarlo más adelante, si lo desea.

En cualquiera de los modos de permisos gestionados por el servicio, Amazon Managed Grafana crea las funciones y políticas necesarias para acceder a las fuentes de AWS datos de su cuenta u organización y descubrirlas. A continuación, puede editar estas políticas en la consola de IAM si así lo desea.

## Service-managed permisos para una sola cuenta
<a name="AMG-service-managed-account"></a>

**En este modo, Amazon Managed Grafana crea un rol denominado AmazonGrafanaServiceRole -. {{random-id}}** A continuación, Amazon Managed Grafana adjunta una política a este rol para cada AWS servicio al que seleccione acceder desde el espacio de trabajo de Amazon Managed Grafana.

**CloudWatch**  
Amazon Managed Grafana adjunta la AWS política gestionada. **AmazonGrafanaCloudWatchAccess**  
**Para los espacios de trabajo que se utilizaban CloudWatch antes de que se creara la política **AmazonGrafanaCloudWatchAccess**gestionada, Amazon Managed Grafana creó una política gestionada por el cliente con el nombre -. AmazonGrafanaCloudWatchPolicy {{random-id}}**

** OpenSearch Servicio Amazon**  
**Amazon Managed Grafana crea una política gestionada por el cliente con el nombre -. AmazonGrafanaOpenSearchPolicy {{random-id}}** Los Get/Post permisos son necesarios para acceder a la fuente de datos. Amazon Managed Grafana utiliza List/Describe los permisos para descubrir fuentes de datos, pero no son necesarios para que el complemento de fuentes de datos funcione. El contenido de la política se detalla a continuación:    
****  

```
{
    "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 adjunta la AWS política gestionada. **AWSIoTSiteWiseReadOnlyAccess**

**Amazon Redshift**  
Amazon Managed Grafana adjunta la AWS política gestionada. **AmazonGrafanaRedshiftAccess**

**Amazon Athena**  
Amazon Managed Grafana adjunta la AWS política gestionada. **AmazonGrafanaAthenaAccess**

**Servicio administrado por Amazon para Prometheus**  
**Amazon Managed Grafana crea una política gestionada por el cliente con el nombre -. AmazonGrafanaPrometheusPolicy {{random-id}}** Amazon Managed Grafana utiliza List/Describe los permisos para descubrir las fuentes de datos, pero no son necesarios para que el complemento funcione. El contenido de la política se detalla a continuación:    
****  

```
{
    "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 política gestionada por el cliente con el nombre -. AmazonGrafanaSNSPolicy {{random-id}}** La política le restringe el uso exclusivo de temas de SNS en su cuenta que comiencen por la cadena `grafana`. Esto no es necesario si crea su propia política. El contenido de la política se detalla a continuación:    
****  

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

**Timestream**  
Amazon Managed Grafana adjunta la AWS política gestionada. **AmazonTimestreamReadOnlyAccess**

**X-Ray**  
Amazon Managed Grafana adjunta la AWS política gestionada. **AWSXrayReadOnlyAccess**

## Service-managed permisos para una organización
<a name="AMG-service-managed-organization"></a>

Este modo solo es compatible con los espacios de trabajo creados en cuentas de administración o cuentas de administrador delegado de una organización. Las cuentas de administrador delegado pueden crear y administrar conjuntos de pilas para la organización. Para obtener más información acerca de las cuentas de administradores delegados, consulte [Registro de un administrador delegado](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html).

**nota**  
Crear recursos como los espacios de trabajo de Grafana gestionados por Amazon en la cuenta de administración de una organización va en contra de las mejores prácticas de AWS seguridad.

En este modo, Amazon Managed Grafana crea todas las funciones de IAM necesarias para acceder a AWS los recursos de otras cuentas de la organización. AWS **En cada cuenta de las unidades organizativas que selecciones, Amazon Managed Grafana crea un rol denominado AmazonGrafanaOrgMemberRole -. {{random-id}}** La creación de este rol se realiza mediante una integración con AWS CloudFormation StackSets.

Este rol tiene una política adjunta para cada fuente de AWS datos que seleccione usar en el espacio de trabajo. Para ver el contenido de estas políticas de datos, consulte [Service-managed permisos para una sola cuenta](#AMG-service-managed-account).

Amazon Managed Grafana también crea un rol llamado **AmazonGrafanaOrgAdminRole- {{random-id}}** en la cuenta de administración de la organización. Esta función permite al espacio de trabajo de Grafana gestionado por Amazon acceder a otras cuentas de la organización. AWS Las políticas del canal de notificación de servicios también están asociadas a esta función. Use el menú **Origen de datos de AWS ** de su espacio de trabajo para aprovisionar rápidamente los orígenes de datos para cada cuenta a la que pueda acceder su espacio de trabajo

Para usar este modo, debes habilitar CloudFormation Stacksets como un servicio de confianza en tu AWS organización. Para obtener más información, consulta [Habilitar el acceso de confianza](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-enable-trusted-access.html) con. AWS Organizations

Este es el contenido del conjunto de {{random-id}} pilas **AmazonGrafanaStackSet:**

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

Este es el contenido 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 permisos
<a name="AMG-customer-managed"></a>

Si opta por utilizar permisos administrados por el cliente, debe especificar un rol de IAM existente en su cuenta al crear un espacio de trabajo de Amazon Managed Grafana. El rol debe tener una política de confianza que confíe en `grafana.amazonaws.com`.

A continuación se muestra un ejemplo de una política de este tipo:

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

****  

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

------

Para que ese rol pueda acceder a las fuentes de AWS datos o los canales de notificación de esa cuenta, debe tener los permisos de las políticas enumeradas anteriormente en esta sección. Por ejemplo, para usar la fuente de CloudWatch datos, debe tener los permisos de la CloudWatch política que se indica en[Service-managed permisos para una sola cuenta](#AMG-service-managed-account).

Los `Describe` permisos `List` y permisos de las políticas de Amazon OpenSearch Service y Amazon Managed Service for Prometheus que se muestran [Service-managed permisos para una sola cuenta](#AMG-service-managed-account) en ellas solo son necesarios para que la detección y el aprovisionamiento de la fuente de datos funcionen correctamente. No son necesarios si solo desea configurar estos orígenes de datos manualmente.

**Cross-account access**

Cuando se crea un espacio de trabajo en la cuenta 111111111111, se debe proporcionar un rol en la cuenta 1111111111111. Para este ejemplo, llama a este rol. *WorkspaceRole* Para acceder a los datos de la cuenta 999999999999, debe crear un rol en la cuenta 999999999999. Llámalo así *DataSourceRole*. Luego debe establecer una relación de confianza entre *WorkspaceRole*y *DataSourceRole*. Para obtener más información sobre cómo establecer la confianza entre dos funciones, consulte el [tutorial de IAM: delegue el acceso entre AWS cuentas mediante funciones de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html).

*DataSourceRole*debe contener las declaraciones de política enumeradas anteriormente en esta sección para cada fuente de datos que desee utilizar. Una vez establecida la relación de confianza, puede especificar el ARN de *DataSourceRole*(arn:aws:iam: :379 9999:role:DataSourceRole) en el campo ARN para **asumir el rol de la página de configuración de la fuente de datos de cualquier fuente de datos** de su espacio de trabajo. AWS A continuación, la fuente de datos accede a la cuenta ⦁ 9999 con los permisos que se definen en. *DataSourceRole* 