Google Cloudプロジェクトを接続する
データを保護するためには、クラウドインフラストラクチャのセキュリティ確保が不可欠です。Aikido のセキュリティチェックを活用することで、インフラストラクチャ内の設定ミスを検出し、対処できます。
Aikido がクラウド環境に対して実行するセキュリティチェックの一覧を確認するには、クラウド概要ページの「checks」タブに移動してください。GCP でフィルタリングすると、接続済みの GCP プロジェクトに対して実行される特定のチェックを確認できます。
開始するには、Aikido のクラウド概要ページに移動し、「Connect cloud」をクリックします。ステップごとのセットアップウィザードに従って、GCP プロジェクトを Aikido に接続してください。

まず、正しいプロジェクトを特定するためにプロジェクト ID を入力する必要があります。次に、特定の GCP サービスへの API アクセスを有効にするよう求められます。これは、Aikido が API リクエストを通じてクラウドリソースのセキュリティを検査できるようにするための重要なステップです。
API アクセスを有効にした後、セットアップウィザードの案内に従って、GCP プロジェクト内の特定のサービスに対する制限付きの読み取り専用アクセス権を持つサービスアカウントを作成します。このアカウントには必要なロールと権限が関連付けられますが、それらはすべて読み取り専用です。これにより、Aikido はリソースに意図しない変更を加えるリスクなく、セキュリティチェックを実行できます。
サービスアカウントベースのセットアップの代わりに、Workload Identity Federation の利用を検討してください。オンボーディングプロセス中に選択できます。
カスタムロール
セットアップ中に推奨ロールを割り当てたくない場合は、次のカスタムロールを作成し、サービスアカウントに割り当てることができます:
title: Aikido Custom Role
description: Minimal permissions for Aikido Security
stage: GA
includedPermissions:
- alloydb.clusters.list
- alloydb.instances.getIamPolicy
- alloydb.instances.list
- apikeys.keys.list
- appengine.applications.get
- appengine.applications.getIamPolicy
- appengine.services.list
- appengine.versions.list
- artifactregistry.dockerimages.get
- artifactregistry.dockerimages.list
- artifactregistry.files.get
- artifactregistry.files.list
- artifactregistry.locations.get
- artifactregistry.locations.list
- artifactregistry.packages.get
- artifactregistry.packages.list
- artifactregistry.repositories.get
- artifactregistry.repositories.list
- artifactregistry.tags.get
- artifactregistry.tags.list
- artifactregistry.versions.get
- artifactregistry.versions.list
- backupdr.backupPlanAssociations.list
- batch.jobs.list
- bigquery.datasets.get
- bigquery.datasets.getIamPolicy
- bigquery.tables.list
- bigtable.instances.list
- cloudasset.assets.listResource
- cloudfunctions.functions.list
- cloudkms.cryptoKeyVersions.list
- cloudkms.cryptoKeys.getIamPolicy
- cloudkms.cryptoKeys.list
- cloudkms.cryptoKeyVersions.getIamPolicy
- cloudkms.keyRings.getIamPolicy
- cloudkms.keyRings.list
- cloudfunctions.functions.getIamPolicy
- cloudsql.backupRuns.list
- cloudsql.instances.list
- cloudsql.users.list
- composer.environments.list
- compute.addresses.list
- compute.autoscalers.list
- compute.backendBuckets.list
- compute.backendServices.list
- compute.disks.getIamPolicy
- compute.disks.list
- compute.firewalls.list
- compute.forwardingRules.list
- compute.globalAddresses.list
- compute.globalForwardingRules.list
- compute.healthChecks.list
- compute.images.getIamPolicy
- compute.images.list
- compute.instanceGroupManagers.list
- compute.instanceGroups.get
- compute.instanceGroups.list
- compute.instanceTemplates.list
- compute.instances.getIamPolicy
- compute.instances.list
- compute.machineImages.list
- compute.networks.list
- compute.nodeGroups.list
- compute.nodeTemplates.list
- compute.projects.get
- compute.regions.list
- compute.regionSslPolicies.list
- compute.resourcePolicies.getIamPolicy
- compute.resourcePolicies.list
- compute.routers.list
- compute.routes.list
- compute.securityPolicies.list
- compute.snapshots.list
- compute.sslPolicies.list
- compute.subnetworks.getIamPolicy
- compute.subnetworks.list
- compute.targetHttpProxies.list
- compute.targetHttpsProxies.list
- compute.targetPools.list
- compute.targetSslProxies.list
- compute.targetVpnGateways.list
- compute.urlMaps.list
- compute.vpnGateways.list
- compute.vpnTunnels.list
- container.clusters.get
- container.clusters.getIamPolicy
- container.clusters.list
- dataplex.lakes.list
- dataplex.tasks.list
- dataplex.zones.list
- dataproc.clusters.getIamPolicy
- dataproc.clusters.list
- datastore.databases.list
- deploymentmanager.deployments.list
- dns.managedZones.list
- dns.policies.list
- dns.resourceRecordSets.list
- iam.roles.get
- iam.roles.list
- iam.serviceAccountKeys.get
- iam.serviceAccountKeys.list
- iam.serviceAccounts.getIamPolicy
- iam.serviceAccounts.list
- logging.buckets.list
- logging.logMetrics.list
- logging.sinks.list
- metastore.services.list
- monitoring.alertPolicies.list
- monitoring.groups.list
- monitoring.notificationChannels.list
- orgpolicy.policies.list
- orgpolicy.policy.get
- pubsub.snapshots.list
- pubsub.subscriptions.list
- pubsub.topics.getIamPolicy
- pubsub.topics.list
- redis.clusters.list
- redis.instances.list
- resourcemanager.folders.get
- resourcemanager.folders.list
- resourcemanager.projects.get
- resourcemanager.projects.getIamPolicy
- resourcemanager.projects.list
- run.jobs.getIamPolicy
- run.jobs.list
- run.locations.list
- run.services.getIamPolicy
- run.services.list
- secretmanager.secrets.getIamPolicy
- secretmanager.secrets.list
- serviceusage.services.list
- spanner.instances.list
- storage.buckets.getIamPolicy
- storage.buckets.list
- tpu.nodes.list
- vpcaccess.connectors.list
サービスアカウントを作成したら、アクセスキーを生成して Aikido にアップロードする必要があります。このキーは、Aikido がリソースをスキャンするために必要な API リクエストを行う際に使用されます。
最後に、Aikido で接続したプロジェクトに名前を付け、それが稼働する環境を指定できます。この情報は、Aikido が深刻度とビジネスへの影響に基づいて検出結果の優先順位を付けるのに役立ちます。

アカウントを接続してから 1~2 分以内に、Aikido は脅威となりうる設定ミスを報告します。
高度なルール
上記のチェックに加えて、Aikido は有効化できる補完的なチェック/ルール群を提供しています。これらは高度なクラウドルールと呼ばれ、こちらで確認できます。これらのルールのいずれかを有効にすると、数秒以内に結果(フィード内の新しい課題として)が表示されます。
標準チェックと同様に、これらはクラウド環境のスキャンごとに評価されます。さらに、コンプライアンスレポートにもマッピングされます。デフォルトでは、高度なルールは有効化しない限り、コンプライアンスレポートで 無効 として表示されます。