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á.
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 gerenciados pelo serviço, o Amazon Managed Grafana cria funções e políticas que são necessárias para acessar e descobrir fontes de AWS dados em sua 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 uma função chamada AmazonGrafanaServiceRole -. random-id
Em seguida, o Amazon Managed Grafana atribui uma política a essa função para cada AWS serviço que você seleciona para acessar a partir do espaço de trabalho Amazon Managed Grafana.
- CloudWatch
-
O Amazon Managed Grafana anexa a política gerenciada AWS . AmazonGrafanaCloudWatchAccess
nota
Para espaços de trabalho usados CloudWatch antes da criação da política AmazonGrafanaCloudWatchAccessgerenciada, o Amazon Managed Grafana criou uma política gerenciada pelo cliente com o nome -. AmazonGrafanaCloudWatchPolicy
random-id
- OpenSearch Serviço Amazon
-
O Amazon Managed Grafana cria uma política gerenciada pelo cliente com o nome -. AmazonGrafanaOpenSearchPolicy
random-id
As Get/Post permissions are needed for data source access. The List/Describe permissões 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 gerenciada AWS . AWSIoTSiteWiseReadOnlyAccess
- Amazon Redshift
-
O Amazon Managed Grafana anexa a política gerenciada AWS . AmazonGrafanaRedshiftAccess
- Amazon Athena
-
O Amazon Managed Grafana anexa a política gerenciada AWS . AmazonGrafanaAthenaAccess
- Amazon Managed Service for Prometheus
-
O Amazon Managed Grafana cria uma política gerenciada pelo cliente com o nome -. 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 com o nome -. AmazonGrafana SNSPolicy
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 gerenciada AWS . AmazonTimestreamReadOnlyAccess
- X-Ray
-
O Amazon Managed Grafana anexa a política gerenciada AWS . AWSXrayReadOnlyAccess
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 Amazon Managed Grafana na conta de gerenciamento de uma organização é contra as melhores práticas de AWS segurança.
Nesse modo, o Amazon Managed Grafana cria todas as funções do IAM necessárias para acessar AWS
recursos em outras contas em sua AWS organização. Em cada conta nas unidades organizacionais que você seleciona, o Amazon Managed Grafana cria uma função chamada AmazonGrafanaOrgMemberRole -. random-id
Essa criação de função é realizada por meio de uma integração com AWS CloudFormation StackSets.
Essa função tem uma política anexada para cada fonte de AWS dados 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 uma função chamada AmazonGrafanaOrgAdminRole- random-id
na conta de gerenciamento da organização. Essa função permite que o espaço de trabalho Amazon Managed Grafana acesse outras contas na organização. AWS as políticas do canal de notificação de serviço também são associadas a essa função. 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 em sua AWS organização. Para obter mais informações, consulte Habilitar acesso confiável com AWS Organizations.
Aqui está o conteúdo do conjunto 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]
Aqui está o conteúdo 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
"
}]
}
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 essa função acesse fontes de AWS dados ou canais de notificação nessa conta, ela deve ter as permissões nas políticas listadas anteriormente nesta seção. Por exemplo, para usar a fonte de CloudWatch dados, ela deve ter as permissões na CloudWatch política listada emPermissões gerenciadas por serviço para uma conta única .
As Describe
permissões List
e as políticas do Amazon OpenSearch Service e do Amazon Managed Service para Prometheus mostradas Permissões gerenciadas por serviço para uma conta única em 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, chame essa função WorkspaceRole. Para acessar dados na conta 999999999999, você deve criar um perfil na conta 999999999999. Ligue para isso DataSourceRole. Você deve então estabelecer uma relação de confiança entre WorkspaceRoleDataSourceRolee. Para obter mais informações sobre como estabelecer confiança entre duas funções, consulte o Tutorial do IAM: Delegar acesso entre AWS contas usando funções do IAM.
DataSourceRoleprecisa conter as declaraçõ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: :9999999999:role:DataSourceRole) no campo Assumir função ARN na página de configuração da fonte de dados de qualquer fonte de dados em seu espaço de trabalho. AWS A fonte de dados então acessa a conta 999999999999 com as permissões definidas em. DataSourceRole