コンテンツにスキップ

AWS クラウドインテグレーションのロール認可設定

ロール認可を使用すると、長期の Access Key や Secret Key を提供することなく、AWS クラウドアカウントを Guance に接続できます。

このドキュメントに従って AWS 側の設定を完了したら、Guance に戻ってアカウント ID とロール名を入力し、クラウドアカウントをテストして保存できます。

設定前の準備

  • 接続する AWS アカウントを準備し、その所属リージョンが中国リージョンか国際リージョンかを確認します。
  • その AWS アカウントで IAM ロールの作成と、ロールへのインラインポリシー追加の権限があることを確認します。権限がない場合は、AWS 管理者に問い合わせて支援を受けてください。
  • Guance でクラウドアカウントを追加できることを確認します。

このドキュメントは、Access Key と Secret Key を入力する必要がないロール認可モードに適用されます。

ステップ1: 認可情報の取得

  1. Guance でインテグレーション > クラウドアカウント管理に移動し、AWS クラウドアカウントを新規作成します。
  2. 認証方法を選択でロール認可を選択します。
  3. 接続する AWS アカウントに応じて、中国リージョンまたは国際リージョンを選択します。
  4. ページに表示されている Guance アカウント ID(AWS)と外部 ID をコピーし、このページを開いたままにします。後続の設定で必要になります。

ここでコピーするのは、Guance プラットフォームが提供するアカウント ID であり、お客様自身の AWS アカウント ID ではありません。外部 ID は Guance プラットフォームが自動生成するため、他の値を入力しないでください。

ステップ2: AWS での信頼されたエンティティの選択

  1. 接続する AWS アカウントにログインし、IAM コンソールでロール > ロールを作成に移動します。
  2. 信頼されたエンティティを選択ページで、信頼されたエンティティタイプを AWS アカウントに設定します。中国リージョンのコンソールでは「Amazon Web Services アカウント」と表示されます。
  3. 別の AWS アカウントを選択します。中国リージョンのコンソールでは「別の Amazon Web Services アカウント」と表示されます。
  4. アカウント ID に、ステップ1 でコピーした Guance アカウント ID(AWS)、つまり Guance プラットフォームが提供する 12 桁のアカウント ID を入力します。
  5. 外部 ID が必要にチェックを入れ、外部 ID にステップ1 で現在のクラウドアカウント設定ページからコピーした値を貼り付けます。
  6. アカウント ID と外部 ID を確認したら、次へをクリックしてアクセス許可を追加ページに進みます。

ここでのアカウント ID は、Guance プラットフォームが提供する AWS アカウント ID です。Guance プラットフォームに戻ってクラウドアカウント情報を入力する際は、ご自身がロールを作成した AWS アカウント ID を入力してください。

ステップ3: インラインポリシーの追加とロールの作成

  1. アクセス許可を追加ページで、インラインポリシーを作成を選択します。
  2. 以下の内容を展開し、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": "*"
        }
      ]
    }
    

    以上が基本的な収集に必要な完全な権限リストです。必ず全体をコピーしてください。

  3. AWS ページの指示に従って権限の範囲を確認し、エラーやセキュリティ警告に対処してから次へをクリックします。所属組織の要件に適合するか不明な場合は、AWS 管理者にレビューを依頼してください。

  4. 名前、確認、作成ページで、ページの指示に従ってロール名(例: CloudIntegrationRole)を入力し、設定を確認してからロールを作成をクリックします。
  5. 作成したロール名と、そのロールが属する AWS アカウント ID をメモしておきます。次のステップで入力する際に必要です。

ステップ4: Guance プラットフォームでのアカウント情報の入力

ステップ1 で開いたままにしておいたクラウドアカウント設定ページに戻り、以下の情報を入力します。

設定項目 入力内容
アカウント ID ご自身の AWS アカウント ID(ステップ3 でロールを作成したアカウント)を入力します。ページ上部に表示されている Guance プラットフォームのアカウント ID は入力しないでください。
ロール名 ステップ3 で作成したロール名(例: CloudIntegrationRole)を入力します。ロール ARN 全体を入力する必要はありません。
アカウントエイリアス このクラウドアカウントを識別しやすい名前を入力します。収集したデータにもこのエイリアスが付与されます。
アカウントタグ 必要に応じてタグ名と値を追加します。例: 名前 env、値 production。追加をクリックします。不要な場合は空欄のままで構いません。入力ルールはアカウントタグを参照してください。

ステップ5: テストと保存

  1. テストをクリックして、現在の認可設定を確認します。
  2. テストに成功したら、保存をクリックします。
  3. インテグレーションの設定の説明に従って、必要な AWS インテグレーションをインストールし、データが報告されているか確認します。

クラウドアカウントを保存した後も、対応するインテグレーションをインストールしないとデータ収集を開始できません。

よくある質問

テストに失敗した場合

まず以下の情報を確認し、修正してから再度テストしてください。

  • リージョンが正しく選択されているか。
  • アカウント ID が、ロールを作成した AWS アカウント ID であるか。
  • ロール名が AWS 内のものと一致しているか。
  • ロールの信頼関係のアカウント ID が、選択したリージョンの Guance プラットフォームの AWS アカウント ID であるか。
  • 外部 ID が必要にチェックが入っているか、入力した外部 ID が現在のクラウドアカウント設定ページのものと完全に一致しているか。

それでもテストに合格しない場合は、具体的なエラーメッセージを AWS 管理者または Guance サポート担当者に提供し、調査を依頼してください。

テストに成功したのにデータが収集されない場合

対応する AWS インテグレーションがインストール・有効化されているか、正しい収集リージョンが選択されているか、ステップ3 でロールに完全な収集権限のインラインポリシーが追加されているかを確認してください。収集時に権限不足のエラーが発生する場合は、AWS 管理者に具体的なエラーメッセージを確認してもらってください。

外部 ID を再生成した後の対応

AWS ロールの信頼ポリシー内の外部 ID も同期して更新する必要があります。両側の外部 ID が一致しない場合、後続の認可が失敗し、収集に影響する可能性があります。すでに収集を実行しているアカウントの場合は、まず Guance サポート担当者に連絡して更新手順を確認してください。

フィードバック

このページは役に立ちましたか?