アカウント内スキャンの設定
アカウント内スキャンを設定するには、専用アカウントを作成して接続してから、ターゲットアカウントでリージョンごとにプロビジョニングされるリソースためのアクセス許可を Tenable One Cloud Exposure に付与します。
アカウント内スキャンを設定する方法
-
スキャン用に 1 つ以上の専用アカウントを作成します。
注意:
- クラウドサイバーエクスポージャー でアカウント階層とフォルダーごとに定義できるスキャンアカウントは 1 つのみです。スキャンアカウントは、1 つの範囲にのみマッピングできます。
- 当該アカウントに関連するコンピューティングコスト (1 リージョンあたり推定約 300 ドル) は、お客様の負担となります。詳細については、リージョンごとにプロビジョニングされるリソースを参照してください。
- クラウドサイバーエクスポージャー のアカウントを接続します。
- クラウドプロバイダーに応じて、以下をアカウントに追加して、コンピューティングリソースを管理するために必要なアクセス許可を Tenable に付与します。
-
プロセスを完了するうえでご不明な点がある場合は、サポートにお問い合わせください。この時点で、以下が実行されます。
- Tenable は、仮想マシンがある各リージョンに必要なコンピューティングリソースをプロビジョニングします。詳細については、リージョンごとにプロビジョニングされるリソースを参照してください。
- Tenable は、定期的にスキャンをオーケストレーションします。
必要な AWS アクセス許可
必要な AWS アクセス許可は、AWS 管理ポリシーとカスタムインラインポリシーで構成されます。
- 次の AWS 管理ポリシーをアタッチします。AmazonVPCFullAccess。
- 以下のカスタムのインラインポリシーを、統合時に作成した IAM ロールに追加します。
これらのアクセス許可は、お客様の環境でワークロードをデプロイ、管理、スキャンするために必要です。これには、コンピューティングリソースのプロビジョニングと変更 (EC2、Auto Scaling、EKS)、認証とアクセス制御のための IAM ロールとポリシーの管理、安全なデータアクセスのための暗号化キーの処理 (KMS)、リソースの効率的な編成 (リソースグループ) が含まれます。これらのアクセス許可により、セキュリティとコンプライアンスを維持しながら、ワークロードスキャンに必要なインフラを確保できます。
JSON
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:UpdateAutoScalingGroup"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateTags",
"ec2:DetachVolume"
],
"Resource": "*",
},
{
"Effect": "Allow",
"Action": "ec2:CreateVolume",
"Resource": "arn:aws:ec2:*:*:volume/*",
"Condition": {
"StringEquals": {
"aws:RequestTag/Context": "WorkloadAnalysis"
}
}
},
{
"Effect": "Allow",
"Action": "ec2:CreateVolume",
"Resource": "arn:aws:ec2:*:*:snapshot/*"
},
{
"Effect": "Allow",
"Action": "ec2:DeleteVolume",
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/Context": "WorkloadAnalysis"
}
}
},
{
"Effect": "Allow",
"Action": [
"ec2:CreateLaunchTemplate",
"ec2:CreateLaunchTemplateVersion",
"ec2:DeleteLaunchTemplate",
"ec2:ModifyLaunchTemplate",
"ec2:RunInstances"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"eks:AssociateEncryptionConfig",
"eks:CreateAddon",
"eks:CreateCluster",
"eks:CreateNodegroup",
"eks:CreatePodIdentityAssociation",
"eks:DeleteCluster",
"eks:DeleteNodegroup",
"eks:TagResource",
"eks:UpdateAddon",
"eks:UpdateClusterVersion",
"eks:UpdateNodegroupConfig",
"eks:UpdateNodegroupVersion"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"iam:AttachRolePolicy",
"iam:CreateRole",
"iam:CreateServiceLinkedRole",
"iam:DeleteRole",
"iam:DeleteRolePolicy",
"iam:DetachRolePolicy",
"iam:List*Tags",
"iam:PassRole",
"iam:PutRolePolicy",
"iam:RemoveRoleFromInstanceProfile",
"iam:Tag*",
"iam:UpdateAssumeRolePolicy"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"kms:CreateAlias",
"kms:CreateGrant",
"kms:CreateKey",
"kms:Decrypt",
"kms:DeleteAlias",
"kms:DescribeKey",
"kms:EnableKeyRotation",
"kms:GenerateDataKeyWithoutPlaintext",
"kms:ListAliases",
"kms:ListKeys",
"kms:ListResourceTags",
"kms:ReEncryptFrom",
"kms:ReEncryptTo",
"kms:ScheduleKeyDeletion",
"kms:TagResource"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "license-manager:ListReceivedLicenses",
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"rds:AddTagsToResource",
"rds:CreateDBSubnetGroup",
"rds:DeleteDBSubnetGroup"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": [
"resource-groups:CreateGroup",
"resource-groups:DeleteGroup",
"resource-groups:Get*",
"resource-groups:Tag"
],
"Resource": "*"
}
]
}
必要な Azure アクセス許可
専用のアカウント内サブスクリプションで、クラウドサイバーエクスポージャー コネクタアプリに次のカスタムロールを割り当てます。このロールにより、Tenable で以下が可能になります。
- ディスクの作成や削除を含む、マネージドディスクのモニタリング
- Kubernetes クラスタがディスクをスキャンジョブにアタッチできるようにするロール定義 (TenableRoleDefinitionWorkloadAnalysisScanning) の作成
JSON
{
"properties": {
"assignableScopes": [
"/subscriptions/<SubscriptionId>"
],
"description": "",
"permissions": [
{
"actions": [
"Microsoft.Authorization/roleAssignments/delete",
"Microsoft.Authorization/roleAssignments/write",
"Microsoft.Authorization/roleDefinitions/delete",
"Microsoft.Authorization/roleDefinitions/write",
"Microsoft.Compute/disks/delete",
"Microsoft.Compute/disks/write",
"Microsoft.Compute/register/action",
"Microsoft.Compute/skus/read",
"Microsoft.Compute/virtualMachines/attachDetachDataDisks/action",
"Microsoft.Compute/virtualMachines/write",
"Microsoft.Compute/virtualMachineScaleSets/virtualMachines/restart/action",
"Microsoft.Compute/virtualMachineScaleSets/write",
"Microsoft.ContainerService/managedClusters/agentPools/abort/action",
"Microsoft.ContainerService/managedClusters/agentPools/deleteMachines/action",
"Microsoft.ContainerService/managedClusters/agentPools/machines/read",
"Microsoft.ContainerService/managedClusters/agentPools/machines/write",
"Microsoft.ContainerService/managedClusters/agentPools/read",
"Microsoft.ContainerService/managedClusters/agentPools/upgradeNodeImageVersion/action",
"Microsoft.ContainerService/managedClusters/agentPools/write",
"Microsoft.ContainerService/managedClusters/delete",
"Microsoft.ContainerService/managedClusters/listClusterUserCredential/action",
"Microsoft.ContainerService/managedClusters/write",
"Microsoft.ContainerService/register/action",
"Microsoft.Features/providers/features/register/action",
"Microsoft.KeyVault/*",
"Microsoft.ManagedIdentity/register/action",
"Microsoft.ManagedIdentity/userAssignedIdentities/assign/action",
"Microsoft.ManagedIdentity/userAssignedIdentities/delete",
"Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/delete",
"Microsoft.ManagedIdentity/userAssignedIdentities/federatedIdentityCredentials/write",
"Microsoft.ManagedIdentity/userAssignedIdentities/write",
"Microsoft.Network/natGateways/delete",
"Microsoft.Network/natGateways/write",
"Microsoft.Network/networkSecurityGroups/delete",
"Microsoft.Network/networkSecurityGroups/join/action",
"Microsoft.Network/networkSecurityGroups/securityRules/delete",
"Microsoft.Network/networkSecurityGroups/securityRules/write",
"Microsoft.Network/networkSecurityGroups/write",
"Microsoft.Network/publicIPAddresses/delete",
"Microsoft.Network/publicIPAddresses/write",
"Microsoft.Network/register/action",
"Microsoft.Network/routeTables/delete",
"Microsoft.Network/routeTables/join/action",
"Microsoft.Network/routeTables/write",
"Microsoft.Network/virtualNetworks/delete",
"Microsoft.Network/virtualNetworks/subnets/delete",
"Microsoft.Network/virtualNetworks/subnets/join/action",
"Microsoft.Network/virtualNetworks/subnets/write",
"Microsoft.Network/virtualNetworks/write",
"Microsoft.Resources/subscriptions/providers/read",
"Microsoft.Resources/subscriptions/resourceGroups/delete",
"Microsoft.Resources/subscriptions/resourceGroups/write",
"Microsoft.Resources/tags/write",
"Microsoft.Storage/register/action",
"Microsoft.Storage/storageAccounts/blobServices/containers/delete",
"Microsoft.Storage/storageAccounts/blobServices/containers/write",
"Microsoft.Storage/storageAccounts/delete",
"Microsoft.Storage/storageAccounts/listkeys/action",
"Microsoft.Storage/storageAccounts/managementPolicies/delete",
"Microsoft.Storage/storageAccounts/managementPolicies/write",
"Microsoft.Storage/storageAccounts/write"
],
"dataActions": [
"Microsoft.ContainerService/managedClusters/*",
"Microsoft.KeyVault/vaults/keyrotationpolicies/*",
"Microsoft.KeyVault/vaults/keys/*",
"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/delete",
"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read",
"Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write"
],
"notActions": [],
"notDataActions": []
}
],
"roleName": "InAccountCustomRole"
}
}
必要な GCP アクセス許可
以下の事前定義されたロールを統合中に作成した クラウドサイバーエクスポージャー サービスアカウントに追加します。
| GCP ロール | 説明 |
|---|---|
| Cloud KMS Admin | 保存時に暗号化されたワークロードの復号化とスキャンに使用される暗号化キーを管理するために必要です。 |
| Editor | リソースの読み取りと変更を行うアクセス許可を付与し、さまざまな GCP サービスのワークロードをスキャンできるようにします。 |
| Kubernetes Engine Admin | Google Kubernetes Engine (GKE) クラスタで実行されているワークロードを検査し、セキュリティコンプライアンスを確保するために必要です。 |
| Project IAM Admin | IAM ポリシーを管理して、プロジェクト全体のワークロードにアクセスして検査するために必要なアクセス許可がスキャナーにあることを確認するために必要です。 |
| Service Account Admin | 認証とスキャン操作に必要なサービスアカウントの作成と管理を可能にします。 |
必要な OCI アクセス許可
統合時に作成した OCI ポリシーに以下のステートメントを追加することで、OCI アカウント内ワークロードをスキャンするアクセス許可を クラウドサイバーエクスポージャー に付与します。
- グループTenableCSがコンパートメント内のすべてのリソースを管理できるようにします<InAccountコンパートメントOCID>
- `グループ TenableCS が tenancy</codetext のボリュームを使用できるようにする>
カスタマーマネージドキーで暗号化されたボリュームをスキャンするには、次のステートメントを OCI ポリシーに追加します。
- `グループ TenableCS が tenancy</codetext で key-delegate を使用できるようにします>
リージョンごとにプロビジョニングされるリソース
このセクションでは、それぞれの異なる地理的クラウドリージョン内で Tenable がデプロイおよび使用する特定のクラウドインフラコンポーネント (リソース) と、各コンポーネントの特定の技術要件および文脈の詳細に重点を置いています。
AWS
| リソース | 要件 | 文脈情報 |
|---|---|---|
| コンピュート |
|
プロビジョニングされるノードの数とサイズは Tenable によって自動的に管理され、スキャンの要求に対応しながらコストを最小限に抑えます |
| アイデンティティ | 5 個の IAM ロール |
|
| ストレージ | 該当なし | 該当なし |
| ネットワーク |
|
サブネットは、プライベートサブネット、EKS (コントロールプレーンおよびワーカー)、VPC に使用されます |
| セキュリティ | KMS キー | Kubernetes シークレットの暗号化と復号化に使用 |
| 推定最小コスト (月ごと) | $300 | インフラに対する最小コスト (スキャンコストを除く)スナップショットスキャン費用計算ツールとデータスキャンコスト保護のスキャンコストの詳細をご確認ください。 |
Azure
| リソース | 要件 | 文脈情報 |
|---|---|---|
| コンピュート |
|
|
| アイデンティティ | 3 個のユーザー管理アイデンティティ |
|
| ストレージ |
|
スキャン対象サブスクリプションからスキャン用サブスクリプションへマネージドディスクをコピー |
| ネットワーク |
|
|
| セキュリティ | Key Vault キー | Kubernetes シークレットの暗号化と復号化に使用 |
| 推定最小コスト (月ごと) | $325 | インフラに対する最小コスト (スキャンコストを除く)スナップショットスキャン費用計算ツールとデータスキャンコスト保護のスキャンコストの詳細をご確認ください。 |
GCP
| リソース | 要件 | 文脈情報 |
|---|---|---|
| コンピュート |
|
プロビジョニングされるノードの数とサイズは Tenable によって自動的に管理され、スキャンの要求に対応しながらコストを最小限に抑えます |
| アイデンティティ | 1 個のサービスアカウント (プロジェクトごと) | GKE クラスタノードが使用 Kubelet (コントロールプレーン) |
| ストレージ | 該当なし | 該当なし |
| ネットワーク |
|
|
| セキュリティ | クラウドキーリングキー | Kubernetes シークレットの暗号化と復号化に使用 |
| 推定最小コスト (月ごと) | $300 | インフラに対する最小コスト (スキャンコストを除く)スナップショットスキャン費用計算ツールとデータスキャンコスト保護のスキャンコストの詳細をご確認ください。 |
OCI
| リソース | 要件 | 文脈情報 |
|---|---|---|
| コンピュート |
|
Tenable はプロビジョニングされたノードの数とサイズを自動的に管理し、スキャンの要求に対応しながらコストを最小限に抑えます |
| アイデンティティ | 該当なし | 該当なし |
| ストレージ | 該当なし | 該当なし |
| ネットワーク |
|
|
| セキュリティ |
|
Kubernetes シークレットの暗号化と復号化に使用 |
| 推定最小コスト (月ごと) | $300 | インフラに対する最小コスト (スキャンコストを除く)スナップショットスキャン費用計算ツールとデータスキャンコスト保護のスキャンコストの詳細をご確認ください。 |