AWS クラウドインテグレーションのロール認可設定¶
ロール認可を使用すると、長期の Access Key や Secret Key を提供することなく、AWS クラウドアカウントを Guance に接続できます。
このドキュメントに従って AWS 側の設定を完了したら、Guance に戻ってアカウント ID とロール名を入力し、クラウドアカウントをテストして保存できます。
設定前の準備¶
- 接続する AWS アカウントを準備し、その所属リージョンが中国リージョンか国際リージョンかを確認します。
- その AWS アカウントで IAM ロールの作成と、ロールへのインラインポリシー追加の権限があることを確認します。権限がない場合は、AWS 管理者に問い合わせて支援を受けてください。
- Guance でクラウドアカウントを追加できることを確認します。
このドキュメントは、Access Key と Secret Key を入力する必要がないロール認可モードに適用されます。
ステップ1: 認可情報の取得¶
- Guance でインテグレーション > クラウドアカウント管理に移動し、AWS クラウドアカウントを新規作成します。
- 認証方法を選択でロール認可を選択します。
- 接続する AWS アカウントに応じて、中国リージョンまたは国際リージョンを選択します。
- ページに表示されている Guance アカウント ID(AWS)と外部 ID をコピーし、このページを開いたままにします。後続の設定で必要になります。
ここでコピーするのは、Guance プラットフォームが提供するアカウント ID であり、お客様自身の AWS アカウント ID ではありません。外部 ID は Guance プラットフォームが自動生成するため、他の値を入力しないでください。
ステップ2: AWS での信頼されたエンティティの選択¶
- 接続する AWS アカウントにログインし、IAM コンソールでロール > ロールを作成に移動します。
- 信頼されたエンティティを選択ページで、信頼されたエンティティタイプを AWS アカウントに設定します。中国リージョンのコンソールでは「Amazon Web Services アカウント」と表示されます。
- 別の AWS アカウントを選択します。中国リージョンのコンソールでは「別の Amazon Web Services アカウント」と表示されます。
- アカウント ID に、ステップ1 でコピーした Guance アカウント ID(AWS)、つまり Guance プラットフォームが提供する 12 桁のアカウント ID を入力します。
- 外部 ID が必要にチェックを入れ、外部 ID にステップ1 で現在のクラウドアカウント設定ページからコピーした値を貼り付けます。
- アカウント ID と外部 ID を確認したら、次へをクリックしてアクセス許可を追加ページに進みます。
ここでのアカウント ID は、Guance プラットフォームが提供する AWS アカウント ID です。Guance プラットフォームに戻ってクラウドアカウント情報を入力する際は、ご自身がロールを作成した AWS アカウント ID を入力してください。
ステップ3: インラインポリシーの追加とロールの作成¶
- アクセス許可を追加ページで、インラインポリシーを作成を選択します。
-
以下の内容を展開し、JSON 全体をコピーして、ポリシーエディターのデフォルト内容と置き換えます。
収集権限ポリシー JSON を展開
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "account:GetAccountInformation", "acm:ListCertificates", "airflow:GetEnvironment", "airflow:ListEnvironments", "aoss:ListCollections", "apigateway:GET", "appsync:ListGraphqlApis", "appsync:ListTagsForResource", "autoscaling:Describe*", "aws-portal:ViewBilling", "backup:DescribeBackupVault", "backup:List*", "batch:DescribeJobDefinitions", "batch:DescribeJobQueues", "batch:DescribeJobs", "batch:ListJobs", "bcm-data-exports:GetExport", "bcm-data-exports:ListExports", "budgets:ViewBudget", "ce:GetCostAndUsageWithResources", "ce:GetDimensionValues", "cloudfront:GetDistributionConfig", "cloudfront:ListDistributions", "cloudfront:ListTagsForResource", "cloudtrail:DescribeTrails", "cloudtrail:GetTrail", "cloudtrail:GetTrailStatus", "cloudtrail:ListTrails", "cloudtrail:LookupEvents", "cloudwatch:Describe*", "cloudwatch:Get*", "cloudwatch:List*", "codebuild:BatchGetProjects", "codebuild:ListProjects", "codedeploy:BatchGet*", "codedeploy:List*", "cognito-idp:DescribeUserPool", "cognito-idp:ListUserPools", "cost-optimization-hub:GetRecommendation", "cost-optimization-hub:ListRecommendations", "cur:DescribeReportDefinitions", "dax:DescribeClusters", "directconnect:Describe*", "dms:DescribeReplicationInstances", "dms:DescribeReplicationTasks", "dms:ListTagsForResource", "dsql:GetCluster", "dsql:ListClusters", "dsql:ListTagsForResource", "dynamodb:Describe*", "dynamodb:List*", "ec2:Describe*", "ecr:DescribeRepositories", "ecs:Describe*", "ecs:List*", "eks:DescribeCluster", "eks:ListClusters", "elasticache:Describe*", "elasticache:List*", "elasticbeanstalk:DescribeEnvironments", "elasticfilesystem:DescribeAccessPoints", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeTags", "elasticloadbalancing:Describe*", "elasticmapreduce:Describe*", "elasticmapreduce:List*", "es:DescribeDomains", "es:DescribeElasticsearchDomains", "es:ListDomainNames", "es:ListTags", "events:CreateEventBus", "events:ListRules", "firehose:DescribeDeliveryStream", "firehose:ListDeliveryStreams", "fsx:DescribeFileSystems", "fsx:ListTagsForResource", "globalaccelerator:ListAccelerators", "glue:BatchGetJobs", "glue:GetJob", "glue:GetJobRuns", "glue:GetJobs", "glue:ListJobs", "health:DescribeAffectedEntities", "health:DescribeEventDetails", "health:DescribeEvents", "healthlake:DescribeFHIRDatastore", "healthlake:ListFHIRDatastores", "healthlake:ListTagsForResource", "iam:GetAccountAuthorizationDetails", "iam:GetLoginProfile", "iam:GetPolicyVersion", "iam:GetRole", "iam:ListAccountAliases", "iam:ListAttachedRolePolicies", "iam:ListAttachedUserPolicies", "iam:ListGroupsForUser", "iam:ListMFADevices", "iam:ListPolicies", "iam:ListPolicyTags", "iam:ListRoleTags", "iam:ListSSHPublicKeys", "iam:ListUserTags", "iam:ListUsers", "iam:ListVirtualMFADevices", "iot:GetV2LoggingOptions", "kafka:ListClustersV2", "kafkaconnect:DescribeConnector", "kafkaconnect:ListConnectors", "kinesis:Describe*", "kinesis:List*", "kinesisanalytics:ListApplications", "kms:DescribeKey", "kms:ListKeys", "lambda:GetFunctionConfiguration", "lambda:GetMicrovmImageVersion", "lambda:List*", "logs:DeleteSubscriptionFilter", "logs:DescribeDeliveries", "logs:DescribeDeliverySources", "logs:DescribeLogGroups", "logs:DescribeLogStreams", "logs:DescribeSubscriptionFilters", "logs:FilterLogEvents", "logs:GetDeliveryDestination", "logs:ListTagsForResource", "logs:PutSubscriptionFilter", "logs:TestMetricFilter", "memorydb:DescribeClusters", "memorydb:ListTags", "mq:ListBrokers", "network-firewall:DescribeFirewall", "network-firewall:DescribeLoggingConfiguration", "network-firewall:ListFirewalls", "oam:ListAttachedLinks", "oam:ListSinks", "organizations:Describe*", "organizations:List*", "pcs:ListClusters", "pcs:ListComputeNodeGroups", "pcs:ListQueues", "rds:Describe*", "rds:List*", "redshift-serverless:ListNamespaces", "redshift-serverless:ListTagsForResource", "redshift-serverless:ListWorkgroups", "redshift:DescribeClusters", "redshift:DescribeLoggingStatus", "route53:List*", "route53resolver:ListResolverQueryLogConfigs", "s3:GetBucketAcl", "s3:GetBucketLocation", "s3:GetBucketLogging", "s3:GetBucketNotification", "s3:GetBucketPolicy", "s3:GetBucketPolicyStatus", "s3:GetBucketPublicAccessBlock", "s3:GetBucketTagging", "s3:GetBucketVersioning", "s3:GetBucketWebsite", "s3:GetEncryptionConfiguration", "s3:GetLifecycleConfiguration", "s3:GetObject", "s3:GetReplicationConfiguration", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:PutBucketNotification", "sagemaker:DescribeEndpoint", "sagemaker:ListEndpoints", "secretsmanager:DescribeSecret", "secretsmanager:ListSecrets", "ses:Get*", "ses:List*", "sns:GetSubscriptionAttributes", "sns:GetTopicAttributes", "sns:List*", "sns:Publish", "sqs:GetQueueAttributes", "sqs:GetQueueUrl", "sqs:ListQueueTags", "sqs:ListQueues", "ssm:GetServiceSetting", "ssm:ListCommands", "states:DescribeStateMachine", "states:ListStateMachines", "states:ListTagsForResource", "storagegateway:DescribeGatewayInformation", "storagegateway:DescribeNFSFileShares", "storagegateway:DescribeSMBFileShares", "storagegateway:ListFileShares", "storagegateway:ListGateways", "support:DescribeTrustedAdvisor*", "support:RefreshTrustedAdvisorCheck", "tag:GetResources", "tag:GetTagKeys", "tag:GetTagValues", "timestream:DescribeEndpoints", "trustedadvisor:ListRecommendationResources", "trustedadvisor:ListRecommendations", "wafv2:GetWebACL", "wafv2:ListLoggingConfigurations", "wafv2:ListWebACLs", "xray:BatchGetTraces", "xray:GetTraceSummaries" ], "Resource": "*" } ] }以上が基本的な収集に必要な完全な権限リストです。必ず全体をコピーしてください。
-
AWS ページの指示に従って権限の範囲を確認し、エラーやセキュリティ警告に対処してから次へをクリックします。所属組織の要件に適合するか不明な場合は、AWS 管理者にレビューを依頼してください。
- 名前、確認、作成ページで、ページの指示に従ってロール名(例:
CloudIntegrationRole)を入力し、設定を確認してからロールを作成をクリックします。 - 作成したロール名と、そのロールが属する AWS アカウント ID をメモしておきます。次のステップで入力する際に必要です。
ステップ4: Guance プラットフォームでのアカウント情報の入力¶
ステップ1 で開いたままにしておいたクラウドアカウント設定ページに戻り、以下の情報を入力します。
| 設定項目 | 入力内容 |
|---|---|
| アカウント ID | ご自身の AWS アカウント ID(ステップ3 でロールを作成したアカウント)を入力します。ページ上部に表示されている Guance プラットフォームのアカウント ID は入力しないでください。 |
| ロール名 | ステップ3 で作成したロール名(例: CloudIntegrationRole)を入力します。ロール ARN 全体を入力する必要はありません。 |
| アカウントエイリアス | このクラウドアカウントを識別しやすい名前を入力します。収集したデータにもこのエイリアスが付与されます。 |
| アカウントタグ | 必要に応じてタグ名と値を追加します。例: 名前 env、値 production。追加をクリックします。不要な場合は空欄のままで構いません。入力ルールはアカウントタグを参照してください。 |
ステップ5: テストと保存¶
- テストをクリックして、現在の認可設定を確認します。
- テストに成功したら、保存をクリックします。
- インテグレーションの設定の説明に従って、必要な AWS インテグレーションをインストールし、データが報告されているか確認します。
クラウドアカウントを保存した後も、対応するインテグレーションをインストールしないとデータ収集を開始できません。
よくある質問¶
テストに失敗した場合¶
まず以下の情報を確認し、修正してから再度テストしてください。
- リージョンが正しく選択されているか。
- アカウント ID が、ロールを作成した AWS アカウント ID であるか。
- ロール名が AWS 内のものと一致しているか。
- ロールの信頼関係のアカウント ID が、選択したリージョンの Guance プラットフォームの AWS アカウント ID であるか。
- 外部 ID が必要にチェックが入っているか、入力した外部 ID が現在のクラウドアカウント設定ページのものと完全に一致しているか。
それでもテストに合格しない場合は、具体的なエラーメッセージを AWS 管理者または Guance サポート担当者に提供し、調査を依頼してください。
テストに成功したのにデータが収集されない場合¶
対応する AWS インテグレーションがインストール・有効化されているか、正しい収集リージョンが選択されているか、ステップ3 でロールに完全な収集権限のインラインポリシーが追加されているかを確認してください。収集時に権限不足のエラーが発生する場合は、AWS 管理者に具体的なエラーメッセージを確認してもらってください。
外部 ID を再生成した後の対応¶
AWS ロールの信頼ポリシー内の外部 ID も同期して更新する必要があります。両側の外部 ID が一致しない場合、後続の認可が失敗し、収集に影響する可能性があります。すでに収集を実行しているアカウントの場合は、まず Guance サポート担当者に連絡して更新手順を確認してください。