Izin dan kebijakan Grafana Terkelola Amazon untuk sumber data AWS - Amazon Managed Grafana

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Izin dan kebijakan Grafana Terkelola Amazon untuk sumber data AWS

Grafana yang Dikelola Amazon menawarkan tiga mode izin:

  • Izin yang dikelola layanan untuk akun saat ini

  • Izin yang dikelola layanan untuk organisasi

  • Izin yang dikelola pelanggan

Saat Anda membuat ruang kerja, Anda memilih mode izin yang akan digunakan. Anda juga dapat mengubahnya nanti jika Anda mau.

Di salah satu mode izin yang dikelola layanan, Grafana Terkelola Amazon membuat peran dan kebijakan yang diperlukan untuk mengakses dan menemukan sumber AWS data di akun atau organisasi Anda. Anda kemudian dapat mengedit kebijakan ini di konsol IAM jika Anda mau.

Izin yang dikelola layanan untuk satu akun

Dalam mode ini, Amazon Managed Grafana membuat peran yang disebut AmazonGrafanaServiceRole- random-id. Grafana Terkelola Amazon kemudian melampirkan kebijakan ke peran ini untuk setiap AWS layanan yang Anda pilih untuk diakses dari ruang kerja Grafana Terkelola Amazon.

CloudWatch

Grafana yang Dikelola Amazon melampirkan kebijakan terkelola. AWS AmazonGrafanaCloudWatchAccess

catatan

Untuk ruang kerja yang digunakan CloudWatch sebelum kebijakan AmazonGrafanaCloudWatchAccessterkelola dibuat, Grafana Terkelola Amazon membuat kebijakan yang dikelola pelanggan dengan nama - random-id. AmazonGrafanaCloudWatchPolicy

OpenSearch Layanan Amazon

Grafana Terkelola Amazon membuat kebijakan yang dikelola pelanggan dengan nama - random-id. AmazonGrafanaOpenSearchPolicy Izin Get/Post diperlukan untuk akses sumber data. Izin Daftar/Jelaskan digunakan oleh Grafana Terkelola Amazon untuk penemuan sumber data, tetapi izin tersebut tidak diperlukan agar plugin sumber data berfungsi. Isi kebijakan adalah sebagai berikut:

{ "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

Grafana yang Dikelola Amazon melampirkan kebijakan terkelola. AWS AWSIoTSiteWiseReadOnlyAccess

Amazon Redshift

Grafana yang Dikelola Amazon melampirkan kebijakan terkelola. AWS AmazonGrafanaRedshiftAccess

Amazon Athena

Grafana yang Dikelola Amazon melampirkan kebijakan terkelola. AWS AmazonGrafanaAthenaAccess

Layanan Dikelola Amazon untuk Prometheus

Grafana Terkelola Amazon membuat kebijakan yang dikelola pelanggan dengan nama - random-id. AmazonGrafanaPrometheusPolicy Izin Daftar/Jelaskan digunakan oleh Grafana Terkelola Amazon untuk penemuan sumber data, izin tersebut tidak diperlukan agar plugin berfungsi. Isi kebijakan adalah sebagai berikut:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "aps:ListWorkspaces", "aps:DescribeWorkspace", "aps:QueryMetrics", "aps:GetLabels", "aps:GetSeries", "aps:GetMetricMetadata" ], "Resource": "*" } ] }
Amazon SNS

Grafana Terkelola Amazon membuat kebijakan yang dikelola pelanggan dengan nama AmazonGrafana snsPolicy- random-id. Kebijakan membatasi Anda untuk hanya menggunakan topik SNS di akun Anda yang dimulai dengan string. grafana Ini tidak perlu jika Anda membuat kebijakan Anda sendiri. Isi kebijakan adalah sebagai berikut:

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

Grafana yang Dikelola Amazon melampirkan kebijakan terkelola. AWS AmazonTimestreamReadOnlyAccess

X-Ray

Grafana yang Dikelola Amazon melampirkan kebijakan terkelola. AWS AWSXrayReadOnlyAccess

Izin yang dikelola layanan untuk organisasi

Mode ini hanya didukung untuk ruang kerja yang dibuat di akun manajemen atau akun administrator yang didelegasikan dalam suatu organisasi. Akun administrator yang didelegasikan dapat membuat dan mengelola kumpulan tumpukan untuk organisasi. Untuk informasi selengkapnya tentang akun administrator yang didelegasikan, lihat Mendaftarkan administrator yang didelegasikan.

catatan

Membuat sumber daya seperti ruang kerja Grafana yang Dikelola Amazon di akun manajemen organisasi bertentangan dengan praktik terbaik AWS keamanan.

Dalam mode ini, Grafana Terkelola Amazon membuat semua peran IAM yang diperlukan untuk mengakses AWS sumber daya di akun lain di organisasi Anda. AWS Di setiap akun di Unit Organisasi yang Anda pilih, Grafana Terkelola Amazon membuat peran yang disebut AmazonGrafanaOrgMemberRole- random-id. Pembuatan peran ini dilakukan melalui integrasi dengan AWS CloudFormation StackSets.

Peran ini memiliki kebijakan yang dilampirkan untuk setiap sumber AWS data yang Anda pilih untuk digunakan di ruang kerja. Untuk isi kebijakan data ini, lihatIzin yang dikelola layanan untuk satu akun .

Grafana yang Dikelola Amazon juga membuat peran yang disebut AmazonGrafanaOrgAdminRole- random-id di akun manajemen organisasi. Peran ini memungkinkan izin ruang kerja Grafana Terkelola Amazon untuk mengakses akun lain di organisasi. AWSkebijakan saluran pemberitahuan layanan juga dilampirkan ke peran ini. Gunakan menu Sumber AWS Data di ruang kerja Anda untuk menyediakan sumber data dengan cepat untuk setiap akun yang dapat diakses oleh ruang kerja Anda

Untuk menggunakan mode ini, Anda harus mengaktifkan AWS CloudFormation Stacksets sebagai layanan tepercaya di organisasi AndaAWS. Untuk informasi selengkapnya, lihat Mengaktifkan akses tepercaya dengan AWS Organizations.

Berikut adalah isi dari kumpulan tumpukan 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]

Berikut adalah isi dari 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" }] }

Izin yang dikelola pelanggan

Jika Anda memilih untuk menggunakan izin yang dikelola pelanggan, Anda menentukan peran IAM yang ada di akun saat membuat ruang kerja Grafana Terkelola Amazon. Peran tersebut harus memiliki kebijakan kepercayaan yang dipercayagrafana.amazonaws.com.

Berikut ini adalah contoh kebijakan semacam itu:

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

Agar peran tersebut dapat mengakses sumber AWS data atau saluran notifikasi di akun tersebut, akun tersebut harus memiliki izin dalam kebijakan yang tercantum sebelumnya di bagian ini. Misalnya, untuk menggunakan sumber CloudWatch data, ia harus memiliki izin dalam CloudWatch kebijakan yang tercantum di dalamnyaIzin yang dikelola layanan untuk satu akun .

Izin List dan Describe izin dalam kebijakan untuk OpenSearch Layanan Amazon dan Layanan Terkelola Amazon untuk Prometheus yang ditampilkan hanya diperlukan agar Izin yang dikelola layanan untuk satu akun penemuan dan penyediaan sumber data berfungsi dengan benar. Mereka tidak diperlukan jika Anda hanya ingin mengatur sumber data ini secara manual.

Akses lintas akun

Ketika ruang kerja dibuat di akun 111111111111, peran dalam akun 1111111111111 harus disediakan. Untuk contoh ini, sebut peran ini WorkspaceRole. Untuk mengakses data di akun 999999999999, Anda harus membuat peran di akun 999999999999. Panggil itu DataSourceRole. Anda kemudian harus membangun hubungan kepercayaan antara WorkspaceRoledan DataSourceRole. Untuk informasi selengkapnya tentang membangun kepercayaan antara dua peran, lihat Tutorial IAM: Mendelegasikan akses di seluruh AWS akun menggunakan peran IAM.

DataSourceRoleperlu berisi pernyataan kebijakan yang tercantum sebelumnya di bagian ini untuk setiap sumber data yang ingin Anda gunakan. Setelah hubungan kepercayaan dibuat, Anda dapat menentukan ARN dari DataSourceRole(arn:aws:iam: :9999999999:role:DataSourceRole) di bidang Asumsikan Peran ARN pada halaman konfigurasi sumber data dari sumber data apa pun di ruang kerja Anda. AWS Sumber data kemudian mengakses akun 999999999999 dengan izin yang ditentukan dalam. DataSourceRole