As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Permissões e políticas do Amazon Managed Grafana para fontes de dados da AWS
O Amazon Managed Grafana oferece três modos de permissão:
-
Permissões gerenciadas por serviço para a conta atual
-
Permissões gerenciadas por serviço para organizações
-
Permissões gerenciadas pelo cliente
Ao criar um espaço de trabalho, você escolhe o modo de permissão a ser usado. Caso deseje, você também poderá alterar essa configuração posteriormente.
Em qualquer um dos modos de permissão gerenciada por serviço, o Amazon Managed Grafana cria perfis e políticas que são necessários para acessar e descobrir fontes de dados da AWS na conta ou organização. Você então pode editar essas políticas no console do IAM, caso deseje.
Permissões gerenciadas por serviço para uma conta única
Nesse modo, o Amazon Managed Grafana cria um perfil denominado AmazonGrafanaServiceRole-random-id
. Em seguida, o Amazon Managed Grafana anexa uma política a esse perfil para cada serviço da AWS que você seleciona para acessar no espaço de trabalho do Amazon Managed Grafana.
- CloudWatch
-
O Amazon Managed Grafana anexa a política AmazonGrafanaCloudWatchAccess gerenciada pela AWS.
nota
Para espaços de trabalho que usavam o CloudWatch antes da criação da política gerenciada AmazonGrafanaCloudWatchAccess, o Amazon Managed Grafana criou uma política gerenciada pelo cliente denominada AmazonGrafanaCloudWatchPolicy-
random-id
. - Amazon OpenSearch Service
-
O Amazon Managed Grafana cria uma política gerenciada pelo cliente denominada AmazonGrafanaOpenSearchPolicy-
random-id
. As permissões Get/Post são necessárias para o acesso à fonte de dados. As permissões List/Describe são usadas pelo Amazon Managed Grafana para a descoberta da fonte de dados, mas não são necessárias para que o plug-in da fonte de dados funcione. Veja abaixo o conteúdo dessa política:{ "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
-
O Amazon Managed Grafana anexa a política AWSIoTSiteWiseReadOnlyAccess gerenciada pela AWS.
- Amazon Redshift
-
O Amazon Managed Grafana anexa a política AmazonGrafanaRedshiftAccess gerenciada pela AWS.
- Amazon Athena
-
O Amazon Managed Grafana anexa a política AmazonGrafanaAthenaAccess gerenciada pela AWS.
- Amazon Managed Service for Prometheus
-
O Amazon Managed Grafana cria uma política gerenciada pelo cliente denominada AmazonGrafanaPrometheusPolicy-
random-id
. As permissões List/Describe são usadas pelo Amazon Managed Grafana para a descoberta da fonte de dados, mas não são necessárias para que o plug-in funcione. Veja abaixo o conteúdo dessa política:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aps:ListWorkspaces", "aps:DescribeWorkspace", "aps:QueryMetrics", "aps:GetLabels", "aps:GetSeries", "aps:GetMetricMetadata" ], "Resource": "*" } ] }
- Amazon SNS
-
O Amazon Managed Grafana cria uma política gerenciada pelo cliente denominada AmazonGrafanaSNSPolicy-
random-id
. A política restringe você a usar somente tópicos do SNS na sua conta que comecem com a stringgrafana
. Isso não será necessário caso crie sua própria política. Veja abaixo o conteúdo dessa política:{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:*:
accountId
:grafana*" ] } ] } - Timestream
-
O Amazon Managed Grafana anexa a política AmazonTimestreamReadOnlyAccess gerenciada pela AWS.
- X-Ray
-
O Amazon Managed Grafana anexa a política AWSXrayReadOnlyAccess gerenciada pela AWS.
Permissões gerenciadas por serviço para uma organização
Esse modo é compatível somente com espaços de trabalho criados em contas de gerenciamento ou contas de administrador delegado em uma organização. As contas de administrador delegado podem criar e administrar conjuntos de pilhas para a organização. Para obter mais informações sobre como delegar contas de administrador, consulte Registrar um administrador delegado.
nota
Criar recursos como espaços de trabalho do Amazon Managed Grafana na conta de gerenciamento de uma organização é contra as práticas recomendadas de segurança da AWS.
Nesse modo, o Amazon Managed Grafana cria todos os perfis do IAM necessários para acessar recursos da AWS em outras contas na organização da AWS. Em cada conta nas unidades organizacionais que você seleciona, o Amazon Managed Grafana cria um perfil denominado AmazonGrafanaOrgMemberRole-random-id
. Essa criação de perfil é realizada por meio de uma integração com o AWS CloudFormation StackSets.
Esse perfil tem uma política anexada para cada fonte de dados da AWS que você seleciona para usar no espaço de trabalho. Para ver o conteúdo dessas políticas do Athena, consulte Permissões gerenciadas por serviço para uma conta única .
O Amazon Managed Grafana também cria um perfil denominado AmazonGrafanaOrgAdminRole-random-id
na conta de gerenciamento da organização. Esse perfil permite que o espaço de trabalho do Amazon Managed Grafana acesse outras contas na organização. As políticas do canal de notificação de serviços da AWS também são anexadas a esse perfil. Use o menu Fonte de dados da AWS no espaço de trabalho para provisionar rapidamente fontes de dados para cada conta que o espaço de trabalho pode acessar.
Para usar esse modo, você deve habilitar o AWS CloudFormation Stacksets como um serviço confiável na organização da AWS. Para obter mais informações, consulte Habilitar o acesso confiável com o AWS Organizations.
Veja aqui o conteúdo do conjunto de pilhas 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]
Veja aqui o conteúdo do conjunto de pilhas 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
" }] }
Permissões gerenciadas pelo cliente
Se você optar por usar permissões gerenciadas pelo cliente, você especificará um perfil do IAM existente na conta ao criar um espaço de trabalho do Amazon Managed Grafana. O perfil deve ter uma política de confiança que confie em grafana.amazonaws.com
.
Veja abaixo um exemplo dessa política:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "grafana.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Para que esse perfil acesse canais de notificação ou fontes de dados da AWS nessa conta, ela deve ter as permissões nas políticas listadas anteriormente nesta seção. Por exemplo, para usar a fonte de dados CloudWatch, ela deve ter as permissões na política do CloudWatch listada em Permissões gerenciadas por serviço para uma conta única .
As permissões List
e Describe
nas políticas do Amazon OpenSearch Service e do Amazon Managed Service for Prometheus mostradas em Permissões gerenciadas por serviço para uma conta única são necessárias somente para que a descoberta e o provisionamento da fonte de dados funcionem corretamente. Elas não serão necessárias se você quiser apenas configurar essas fontes de dados manualmente.
Acesso entre contas
Quando um espaço de trabalho é criado na conta 111111111111, um perfil na conta 1111111111111 deve ser fornecido. Neste exemplo, denomine esse perfil como WorkspaceRole. Para acessar dados na conta 999999999999, você deve criar um perfil na conta 999999999999. Denomine isso como DataSourceRole. Em seguida, você deve estabelecer uma relação de confiança entre WorkspaceRole e DataSourceRole. Para obter mais informações sobre como estabelecer uma confiança entre dois perfis, consulte Tutorial do IAM: delegar acesso entre contas da AWS usando perfis do IAM.
DataSourceRole precisa conter as instruções de política listadas anteriormente nesta seção para cada fonte de dados que você deseja usar. Depois que a relação de confiança for estabelecida, você poderá especificar o ARN de DataSourceRole (arn:aws:iam::999999999999:role:DataSourceRole) no campo ARN do perfil de admissão na página de configuração da fonte de dados de qualquer fonte de dados da AWS no espaço de trabalho. Em seguida, a fonte de dados acessa a conta 999999999999 com as permissões definidas em DataSourceRole.