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.
Permisos y políticas de Amazon Managed Grafana para los orígenes de datos de AWS
Amazon Managed Grafana ofrece tres modos de permisos:
-
Permisos administrados por servicios para cuentas actuales
-
Permisos administrados por servicios para organizaciones
-
Permisos administrados por el cliente
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 administrados por servicios, Amazon Managed Grafana crea los roles y las políticas que se necesitan para acceder a los orígenes de datos de AWS de su cuenta u organización y descubrirlos. A continuación, puede editar estas políticas en la consola de IAM si así lo desea.
Permisos administrados por servicios para una sola cuenta
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 servicio de AWS al que seleccione acceder desde el espacio de trabajo de Amazon Managed Grafana.
- CloudWatch
-
Amazon Managed Grafana adjunta la política administrada por AWS llamada AmazonGrafanaCloudWatchAccess.
nota
Para los espacios de trabajo que utilizaban CloudWatch antes de que se creara la política administrada AmazonGrafanaCloudWatchAccess, Amazon Managed Grafana creó una política administrada por el cliente con el nombre AmazonGrafanaCloudWatchPolicy-
random-id
. - Amazon OpenSearch Service
-
Amazon Managed Grafana crea una política administrada por el cliente con el nombre AmazonGrafanaOpenSearchPolicy-
random-id
. Los permisos Get/Post son necesarios para acceder al origen de datos. Amazon Managed Grafana utiliza los permisos List/Describe para descubrir orígenes de datos, pero no son necesarios para que el complemento de orígenes 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 política administrada por AWS llamada AWSIoTSiteWiseReadOnlyAccess.
- Amazon Redshift
-
Amazon Managed Grafana adjunta la política administrada por AWS llamada AmazonGrafanaRedshiftAccess.
- Amazon Athena
-
Amazon Managed Grafana adjunta la política administrada por AWS llamada AmazonGrafanaAthenaAccess.
- Servicio administrado por Amazon para Prometheus
-
Amazon Managed Grafana crea una política administrada por el cliente con el nombre AmazonGrafanaPrometheusPolicy-
random-id
. Amazon Managed Grafana utiliza los permisos List/Describe para descubrir orígenes 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 administrada 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 cadenagrafana
. 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:*:
accountId
:grafana*" ] } ] } - Timestream
-
Amazon Managed Grafana adjunta la política administrada por AWS llamada AmazonTimestreamReadOnlyAccess.
- X-Ray
-
Amazon Managed Grafana adjunta la política administrada por AWS llamada AWSXrayReadOnlyAccess.
Permisos administrados por servicios para una organización
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.
nota
Crear recursos como los espacios de trabajo de Amazon Managed Grafana en la cuenta de administración de una organización va en contra de las prácticas recomendadas de seguridad de AWS.
En este modo, Amazon Managed Grafana crea todos los roles de IAM necesarios para acceder a los recursos de AWS de otras cuentas de la organización de AWS. En cada cuenta de las unidades organizativas que seleccione, Amazon Managed Grafana crea un rol llamado AmazonGrafanaOrgMemberRole-random-id
. Esta creación de roles se lleva a cabo mediante una integración con StackSets de AWS CloudFormation.
Este rol tiene una política adjunta para cada origen de datos de AWS que seleccione para usar en el espacio de trabajo. Para ver el contenido de estas políticas de datos, consulte Permisos administrados por servicios para una sola cuenta .
Amazon Managed Grafana también crea un rol llamado AmazonGrafanaOrgAdminRole-random-id
en la cuenta de administración de la organización. Este rol permite al espacio de trabajo de Amazon Managed Grafana acceder a otras cuentas de la organización. Las políticas del canal de notificación de servicios de AWS también están asociadas a este rol. 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 StackSets de AWS CloudFormation como servicio de confianza en su organización de AWS. Para obtener más información, consulte Active el acceso confiable con AWS Organizations.
Este es el contenido del conjunto de pilas 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]
Este es el contenido de AmazonGrafanaOrgAdminPolicy-random-id
.
{ "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
" }] }
Permisos administrados por el cliente
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:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "grafana.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Para que ese rol pueda acceder a los orígenes de datos o los canales de notificación de AWS de esa cuenta, debe tener los permisos de las políticas enumeradas anteriormente en esta sección. Por ejemplo, para usar el origen de datos de CloudWatch, debe tener los permisos de la política de CloudWatch que se indican en Permisos administrados por servicios para una sola cuenta .
Los permisos List
y Describe
de las políticas de Amazon OpenSearch Service y Amazon Managed Service para Prometheus que se muestran en Permisos administrados por servicios para una sola cuenta solo son necesarios para que la detección y el aprovisionamiento del origen de datos funcionen correctamente. No son necesarios si solo desea configurar estos orígenes de datos manualmente.
Acceso entre cuentas
Cuando se crea un espacio de trabajo en la cuenta 111111111111, se debe proporcionar un rol en la cuenta 1111111111111. Para este ejemplo, llame a este rol WorkspaceRole. Para acceder a los datos de la cuenta 999999999999, debe crear un rol en la cuenta 999999999999. Llámelo DataSourceRole. A continuación, debe establecer una relación de confianza entre WorkspaceRole y DataSourceRole. Para obtener más información sobre establecer confianza entre dos roles, consulte Tutorial de IAM: delegación del acceso entre cuentas de AWS mediante roles de IAM.
DataSourceRole debe contener las declaraciones de política enumeradas anteriormente en esta sección para cada origen de datos que desee utilizar. Una vez establecida la relación de confianza, puede especificar el ARN de DataSourceRole (arn:aws:iam::999999999999:role:DataSourceRole) en el campo ARN de rol de asunción de la página de configuración del origen de datos de cualquier origen de datos de AWS de su espacio de trabajo. A continuación, el origen de datos accede a la cuenta 999999999999 con los permisos definidos en DataSourceRole.