Overview
この記事では、AWS アカウントまたは AWS 組織をNetskope DSPM ( Netskope One DSPMとも呼ばれます) に手動でオンボーディングする手順について説明します。 これにより、データストアの検出、スキャン、および分類が可能になります。
– CloudFormation を使用した AWS のオンボーディング
– Terraform を使用した AWS のオンボーディング
機能概要
Netskope DSPMで個々の AWS アカウントまたは AWS 組織を設定すると、 Capabilitiesタブでいくつかの機能を有効にできます。 以下の表は、各トグルスイッチの機能と適用箇所をまとめたものです。
| Toggle デスクリプション | Details |
|---|---|
| 新しいデータストアを自動検出する | オンボーディングされたアカウントまたは組織内で、サポートされているデータストア(S3、RDS、Redshift、EC2ボリューム、DynamoDBなど)を自動的に検出します。 |
| EBS/EFSをスキャンし、管理対象外のデータストアを自動検出する | Netskope DSPMがEBSボリュームとEFSファイルシステムをスキャンし、一時的な隔離されたスキャン環境を作成することで、管理されていないデータストアを自動的に検出できるようにします。 |
| Ingest Tags | Netskope DSPMがAWSリソースタグを取り込んで、追加のコンテキストを提供し、分類精度を向上させることを可能にします。 |
| データストアのスナップショットへのアクセスを承認する | Netskope DSPMが、サポートされているデータストア(RDSなど)の一時的なスナップショット(KMSで暗号化されたスナップショットを含む)を作成およびアクセスして、ディープスキャンを実行できるようにします。 |
| 新しいアカウント (組織) の自動検出 | AWS Organisation にのみ適用されます。 AWS 組織内で新しいデータ ストアが作成されると、それを自動的に検出します。 個人アカウントには適用されません。 |
| AWS Inventory を有効にする | このオプションを切り替えると、 DSPM が S3データストア用のAWS S3 Inventory機能を使うことができます。 有効化されると、DSPMは個別のAPI呼び出しを行ってファイルメタデータを取得するのではなく、専用のインベントリバケットにバケットメタデータを保存します。これにより 大容量バケットのAPIコスト 大幅に削減されます。Note: このトグルは追加のAWS権限が必要なため、デフォルトで無効になっています。インフラストラクチャレベルで有効化されると、使う S3 インベントリオプションが個別の S3 データストアを接続する際に利用可能になります。詳細については、「 Connect AWS S3 to DSPM」をご覧ください。 |
Instructions
目標に合ったワークフローを選択してください。個人アカウントと組織のオンボーディング手順は別々で、それぞれ独立した内容となっています。
単一のAWSアカウントをオンボーディングするには、以下のワークフローに従ってください。
ステップ 1: Netskope DSPMで開始する
AWSアカウントの一意のExternalId生成するには、Netskope DSPMコンソールから始める必要があります。
- Administration > Infrastructure Connectionsへ移動してください。
- Add Infrastructure > をクリックしてAWS > Add Account Select 。
- [機能]タブSelect >構成する予定の機能の切り替えを有効にします (「タグの取り込み」、「新しいデータ ストアの自動検出」など)。
- Manually Configured > Select 、 Nextをクリックします。
- Account Name >に記入し、 Nextをクリックしてください。
- Copy the External ID.
- このブラウザタブを開いたままにしてください。
ステップ2:AWSでIAMロールを作成する
-
新しいブラウザタブを開き、AWS IAMコンソールにログインします。
-
Rolesに移動してCreate roleをクリックしてください。
-
Select trusted entity > Custom trust policyを選びましょう。
-
以下のJSONを貼り付けてください。
- 注:
sts:ExternalIdフィールドには、手順1でNetskopeからコピーした外部IDを貼り付けてください。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumeRoleForNetskope", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::842940822891:root", "arn:aws:iam::946157925481:root" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "PASTE_YOUR_EXTERNAL_ID_HERE" } } }, { "Sid": "AllowTagSessionForNetskope", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::842940822891:root", "arn:aws:iam::946157925481:root" ] }, "Action": "sts:TagSession" } ] } - 注:
-
Nextをクリックしてください。
-
役割に名前を付けます(例:
NetskopeDSPMRole) >クリックCreate role 。 -
役割の一覧から、新しい役割をクリックして、そのRole ARNをコピーします。
ステップ 3 (オプション): カスタム IAM ポリシーを作成する
ステップ 1で「タグの取り込み」、「EBS/EFS のスキャンと管理対象外データ ストアの自動検出」、または「データ ストア スナップショット アクセスの承認」を有効にした場合にのみ、このステップを完了する必要があります。「新しいデータ ストアの自動検出」のみを有効にした場合は、 skip this stepて手順 4に進むことができます。
-
AWS IAM コンソールで、 Policies > Create policy > JSONタブに移動します。
-
以下のJSONラッパーを貼り付けてください。
{ "Version": "2012-10-17", "Statement": [ ] } -
ステップ 1 で有効にした機能の JSON ブロックのみをコピーし、空の
Statement: []配列に貼り付けます。Feature 1: Ingest Tags機能2:新しいデータストアの自動検出機能3:EBS/EFSをスキャンし、管理対象外のデータストアを自動検出する機能4:データストアスナップショットへのアクセスを承認する{ "Sid": "TagGetResources", "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": "*" }{ "Sid": "EFSReadAndMount", "Effect": "Allow", "Action": [ "elasticfilesystem:DescribeBackupPolicy", "elasticfilesystem:DescribeMountTargets", "elasticfilesystem:DescribeTags", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:ListTagsForResource", "elasticfilesystem:DescribeLifecycleConfiguration", "elasticfilesystem:ClientMount", "elasticfilesystem:DescribeFileSystemPolicy", "elasticfilesystem:DescribeAccessPoints", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeMountTargetSecurityGroups" ], "Resource": "*" }, { "Sid": "FSXRead", "Effect": "Allow", "Action": [ "fsx:DescribeFileSystems", "fsx:DescribeStorageVirtualMachines" ], "Resource": "*" }, { "Sid": "AllowRedshiftGetCredentials", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": "*" }, { "Sid": "DSPMRestrictedAthenaAndGlueAccess", "Effect": "Allow", "Action": [ "athena:ListDataCatalogs", "athena:GetDataCatalog", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata", "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:BatchGetQueryExecution", "athena:CancelQueryExecution", "athena:ListQueryExecutions", "athena:ListWorkGroups", "athena:GetWorkGroup", "athena:CreatePreparedStatement", "athena:GetPreparedStatement", "athena:ListPreparedStatements", "athena:UpdatePreparedStatement", "athena:DeletePreparedStatement", "athena:BatchGetPreparedStatement", "athena:GetNamedQuery", "athena:ListNamedQueries", "athena:BatchGetNamedQuery", "athena:CreateWorkGroup", "athena:UpdateWorkGroup", "athena:TagResource", "athena:UntagResource", "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition", "glue:GetTags", "glue:SearchTables", "lakeformation:GetDataAccess", "lakeformation:ListPermissions", "lakeformation:ListResources", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:GetEncryptionConfiguration" ], "Resource": "*" }{ "Sid": "ScanEnvironmentCreation", "Effect": "Allow", "Action": [ "ec2:CreateVpc", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateSnapshot", "ec2:CreateVolume", "ec2:CreateInternetGateway" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "aws:RequestTag/Vendor": "Netskope", "aws:RequestTag/Product": "DSPM" } } }, { "Sid": "RestrictedEC2InstanceLaunching", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "*", "Condition": { "StringEqualsIfExists": { "aws:RequestTag/Vendor": "Netskope", "aws:RequestTag/Product": "DSPM" }, "StringLikeIfExists": { "ec2:InstanceType": [ "t3.*", "m5.*" ] } } }, { "Sid": "NetworkConnectivityResourceCreation", "Effect": "Allow", "Action": [ "ec2:CreateRoute", "ec2:ModifySubnetAttribute" ], "Resource": "*" }, { "Sid": "EC2NetworkAndSGManagement", "Effect": "Allow", "Action": [ "ec2:AttachInternetGateway", "ec2:ModifyVpcAttribute", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Vendor": "Netskope", "ec2:ResourceTag/Product": "DSPM" } } }, { "Sid": "MandatoryResourceTagging", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*", "Condition": { "StringEquals": { "ec2:CreateAction": [ "CreateVpc", "CreateSecurityGroup", "CreateSubnet", "CreateSnapshot", "CreateVolume", "RunInstances", "CreateRoute", "CreateInternetGateway" ] } } }, { "Sid": "EC2DeleteDSPMResources", "Effect": "Allow", "Action": [ "ec2:DeleteSecurityGroup", "ec2:DeleteSubnet", "ec2:DetachInternetGateway", "ec2:DeleteInternetGateway", "ec2:DeleteVpc", "ec2:DeleteVolume", "ec2:DeleteSnapshot", "ec2:TerminateInstances" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Vendor": "Netskope", "ec2:ResourceTag/Product": "DSPM" } } }, { "Sid": "EC2DeleteRoute", "Effect": "Allow", "Action": [ "ec2:DeleteRoute" ], "Resource": "*" }この機能を使用するには、機能3(管理対象外データストア)の7つの権限すべてが必要です。
以下のPassRoleForRDSRestoreOperationsステートメントで、 ステップ 2 で別のロール名を使用する場合は、NetskopeDSPMRoleカスタムロール名に置き換えてください。{ "Sid": "RDSDescribeDatabasesAndSnapshots", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters", "rds:DescribeDBSnapshots", "rds:DescribeDBClusterSnapshots", "rds:ListTagsForResource", "rds:DescribeEventSubscriptions", "rds:DescribeDBSubnetGroups", "rds:DescribeEvents", "rds:DescribeReservedDBInstances", "rds:DescribeDBEngineVersions", "rds:DescribeDBInstanceAutomatedBackups", "rds:DescribeDBInstances" ], "Resource": "*" }, { "Sid": "AllowRDSRestoreFromSnapshot", "Effect": "Allow", "Action": [ "rds:CreateDBSnapshot", "rds:CreateDBClusterSnapshot", "rds:RestoreDBInstanceFromDBSnapshot", "rds:RestoreDBClusterFromSnapshot", "rds:CreateDBSubnetGroup" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "aws:RequestTag/Vendor": "Netskope", "aws:RequestTag/Product": "DSPM" } } }, { "Sid": "AllowAddingTagsToRDSResources", "Effect": "Allow", "Action": [ "rds:AddTagsToResource" ], "Resource": "*" }, { "Sid": "RDSModifyTemporaryResources", "Effect": "Allow", "Action": [ "rds:ModifyDBInstance" ], "Resource": [ "arn:aws:rds:*:*:db:dasera-scan-temp-*", "arn:aws:rds:*:*:db:netskope-dspm-scan-temp-*" ] }, { "Sid": "RDSDeleteTaggedTemporaryResources", "Effect": "Allow", "Action": [ "rds:DeleteDBInstance" ], "Resource": "*", "Condition": { "StringEquals": { "rds:db-tag/Vendor": "Netskope", "rds:db-tag/Product": "DSPM" } } }, { "Sid": "KMSAccessForEncryptedSnapshots", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringEquals": { "kms:ViaService": "rds.amazonaws.com" } } }, { "Sid": "PassRoleForRDSRestoreOperations", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::<ACCOUNT_ID>:role/<ROLE_NAME>", "Condition": { "StringEquals": { "iam:PassedToService": "rds.amazonaws.com" } } } -
Nextをクリックしてください。
-
ポリシーに名前(例:
NetskopeDSPMCustomPolicy)を付けてクリック Create policy。
Step 4: Attach Policies to the Role
- AWSコンソールで
NetskopeDSPMRoleに戻ります。 - PermissionsタブでAdd permissions > Attach policiesをクリックします。
- AWS マネージド ポリシーを見つけて添付します。
IAMReadOnlyAccess: DSPMは、どのIAMユーザーとロールが機密データストアにアクセスできるかをマッピングできるため、データアクセス状況を完全に把握できます。
- (If you created an Optional Custom Policy in the previous step)
NetskopeDSPMCustomPolicyを見つけて添付します。 - (If you enabled the feature “Auto-Discover New Data Stores”) 以下の5つのAWSマネージドポリシーを添付してください。
AmazonS3ReadOnlyAccess: DSPM S3 バケットを検出して読むことができ、そのセキュリティを評価し、内部のデータを分類できます。AmazonRedshiftReadOnlyAccess: DSPMがAmazon Redshiftクラスター内のデータを検出および分類できるようにします。AmazonRDSReadOnlyAccess: DSPMがAmazon RDSデータベースインスタンスを検出してインベントリを作成できるようにします。AmazonEC2ReadOnlyAccess: DSPMがEC2インスタンスとそれに接続されたEBSボリュームを検出できるようにします。これは、これらのボリューム上の管理されていないデータストアを検出するために必要です。AmazonDynamoDBReadOnlyAccess: DSPMがAmazon DynamoDBテーブル内のデータを検出および分類できるようにします。- Note for Advanced Users (Least-Privilege):
これら5つのポリシーは、分かりやすくするためにまとめて記載しています。 より厳格な最低権限設定の場合は、積極的に使うしているAWSサービスのポリシーを添付するだけで十分です。 例えば、環境が使う Amazon S3 でない場合は、AmazonS3ReadOnlyAccessポリシーを省略することができます。
- Note for Advanced Users (Least-Privilege):
ステップ5:Netskope DSPMで接続を完了する
- Netskope DSPMのブラウザタブに戻ります。
- Review画面に、コピーしたRole ARNを貼り付けてください。
- Saveをクリックしてください。
AWS組織全体または特定の組織単位をオンボーディングするには、このワークフローに従ってください。
ステップ 1: Netskope DSPMで開始する
AWSアカウントの一意のExternalId生成するには、Netskope DSPMコンソールから始める必要があります。
- Administration > Infrastructure Connectionsへ移動してください。
- AWSタブ > Add Infrastructure > Add Organizationをクリックします。
- 「機能」タブ> Select設定する機能のトグルを有効にします。
- Nextをクリックしてください。Manually Configured Select 。
- Organization Nameを埋めてください。
- NextをクリックしてReview画面へ移動します。
- Copy the External ID.
- このブラウザタブを開いたままにしてください。
ステップ2:AWSでIAMロールを作成する
-
新しいブラウザタブを開き、AWS IAMコンソールにログインします。
-
Rolesに移動してCreate roleをクリックしてください。
-
Select trusted entity > Custom trust policyを選びましょう。
-
以下のJSONを貼り付けてください。
- In the
sts:ExternalIdfield, paste the External ID you copied from Netskope Step 1.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAssumeRoleForNetskope", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::842940822891:root", "arn:aws:iam::946157925481:root" ] }, "Action": "sts:AssumeRole", "Condition": { "StringEquals": { "sts:ExternalId": "PASTE_YOUR_EXTERNAL_ID_HERE" } } }, { "Sid": "AllowTagSessionForNetskope", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::842940822891:root", "arn:aws:iam::946157925481:root" ] }, "Action": "sts:TagSession" } ] } - In the
-
Nextをクリックしてください。
-
役割に名前を付けます(例:
NetskopeDSPMOrgRole) >クリックCreate role 。 -
役割の一覧から、新しい役割をクリックして、そのRole ARNをコピーします。
ステップ 3 (オプション): カスタム IAM ポリシーを作成する
-
AWS IAM コンソールで、 Policies > Create policy > JSONタブに移動します。
-
以下のJSONラッパーを貼り付けてください。
{ "Version": "2012-10-17", "Statement": [ ] } -
ステップ 1 で有効にした機能 (例: インジェスト タグ、管理対象外データ ストアなど) の JSON ブロックのみをコピーし、空の
Statement: []配列に貼り付けます。Feature 1: Ingest Tags機能2:新しいデータストアの自動検出機能3:EBS/EFSをスキャンし、管理対象外のデータストアを自動検出する機能4:データストアスナップショットへのアクセスを承認する{ "Sid": "TagGetResources", "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": "*" }{ "Sid": "EFSReadAndMount", "Effect": "Allow", "Action": [ "elasticfilesystem:DescribeBackupPolicy", "elasticfilesystem:DescribeMountTargets", "elasticfilesystem:DescribeTags", "elasticfilesystem:DescribeReplicationConfigurations", "elasticfilesystem:ListTagsForResource", "elasticfilesystem:DescribeLifecycleConfiguration", "elasticfilesystem:ClientMount", "elasticfilesystem:DescribeFileSystemPolicy", "elasticfilesystem:DescribeAccessPoints", "elasticfilesystem:DescribeFileSystems", "elasticfilesystem:DescribeMountTargetSecurityGroups" ], "Resource": "*" }, { "Sid": "FSXRead", "Effect": "Allow", "Action": [ "fsx:DescribeFileSystems", "fsx:DescribeStorageVirtualMachines" ], "Resource": "*" }, { "Sid": "AllowRedshiftGetCredentials", "Effect": "Allow", "Action": [ "redshift:GetClusterCredentials" ], "Resource": "*" }, { "Sid": "DSPMRestrictedAthenaAndGlueAccess", "Effect": "Allow", "Action": [ "athena:ListDataCatalogs", "athena:GetDataCatalog", "athena:ListDatabases", "athena:GetDatabase", "athena:ListTableMetadata", "athena:GetTableMetadata", "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:GetQueryResults", "athena:GetQueryResultsStream", "athena:BatchGetQueryExecution", "athena:CancelQueryExecution", "athena:ListQueryExecutions", "athena:ListWorkGroups", "athena:GetWorkGroup", "athena:CreatePreparedStatement", "athena:GetPreparedStatement", "athena:ListPreparedStatements", "athena:UpdatePreparedStatement", "athena:DeletePreparedStatement", "athena:BatchGetPreparedStatement", "athena:GetNamedQuery", "athena:ListNamedQueries", "athena:BatchGetNamedQuery", "athena:CreateWorkGroup", "athena:UpdateWorkGroup", "athena:TagResource", "athena:UntagResource", "glue:GetDatabase", "glue:GetDatabases", "glue:GetTable", "glue:GetTables", "glue:GetPartition", "glue:GetPartitions", "glue:BatchGetPartition", "glue:GetTags", "glue:SearchTables", "lakeformation:GetDataAccess", "lakeformation:ListPermissions", "lakeformation:ListResources", "s3:GetObject", "s3:ListBucket", "s3:PutObject", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts", "s3:GetBucketLocation", "s3:ListAllMyBuckets", "s3:GetEncryptionConfiguration" ], "Resource": "*" }{ "Sid": "ScanEnvironmentCreation", "Effect": "Allow", "Action": [ "ec2:CreateVpc", "ec2:CreateSecurityGroup", "ec2:CreateSubnet", "ec2:CreateSnapshot", "ec2:CreateVolume", "ec2:CreateInternetGateway" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "aws:RequestTag/Vendor": "Netskope", "aws:RequestTag/Product": "DSPM" } } }, { "Sid": "RestrictedEC2InstanceLaunching", "Effect": "Allow", "Action": "ec2:RunInstances", "Resource": "*", "Condition": { "StringEqualsIfExists": { "aws:RequestTag/Vendor": "Netskope", "aws:RequestTag/Product": "DSPM" }, "StringLikeIfExists": { "ec2:InstanceType": [ "t3.*", "m5.*" ] } } }, { "Sid": "NetworkConnectivityResourceCreation", "Effect": "Allow", "Action": [ "ec2:CreateRoute", "ec2:ModifySubnetAttribute" ], "Resource": "*" }, { "Sid": "EC2NetworkAndSGManagement", "Effect": "Allow", "Action": [ "ec2:AttachInternetGateway", "ec2:ModifyVpcAttribute", "ec2:AuthorizeSecurityGroupIngress", "ec2:AuthorizeSecurityGroupEgress" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Vendor": "Netskope", "ec2:ResourceTag/Product": "DSPM" } } }, { "Sid": "MandatoryResourceTagging", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*", "Condition": { "StringEquals": { "ec2:CreateAction": [ "CreateVpc", "CreateSecurityGroup", "CreateSubnet", "CreateSnapshot", "CreateVolume", "RunInstances", "CreateRoute", "CreateInternetGateway" ] } } }, { "Sid": "EC2DeleteDSPMResources", "Effect": "Allow", "Action": [ "ec2:DeleteSecurityGroup", "ec2:DeleteSubnet", "ec2:DetachInternetGateway", "ec2:DeleteInternetGateway", "ec2:DeleteVpc", "ec2:DeleteVolume", "ec2:DeleteSnapshot", "ec2:TerminateInstances" ], "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/Vendor": "Netskope", "ec2:ResourceTag/Product": "DSPM" } } }, { "Sid": "EC2DeleteRoute", "Effect": "Allow", "Action": [ "ec2:DeleteRoute" ], "Resource": "*" }この機能を使用するには、機能3(管理対象外データストア)の7つの権限すべてが必要です。
PassRoleForRDSRestoreOperationsで ステップ 2 で別のロール名を指定した場合は、NetskopeDSPMRoleカスタムロール名に置き換えてください。{ "Sid": "RDSDescribeDatabasesAndSnapshots", "Effect": "Allow", "Action": [ "rds:DescribeDBClusters", "rds:DescribeDBSnapshots", "rds:DescribeDBClusterSnapshots", "rds:ListTagsForResource", "rds:DescribeEventSubscriptions", "rds:DescribeDBSubnetGroups", "rds:DescribeEvents", "rds:DescribeReservedDBInstances", "rds:DescribeDBEngineVersions", "rds:DescribeDBInstanceAutomatedBackups", "rds:DescribeDBInstances" ], "Resource": "*" }, { "Sid": "AllowRDSRestoreFromSnapshot", "Effect": "Allow", "Action": [ "rds:CreateDBSnapshot", "rds:CreateDBClusterSnapshot", "rds:RestoreDBInstanceFromDBSnapshot", "rds:RestoreDBClusterFromSnapshot", "rds:CreateDBSubnetGroup" ], "Resource": "*", "Condition": { "StringEqualsIfExists": { "aws:RequestTag/Vendor": "Netskope", "aws:RequestTag/Product": "DSPM" } } }, { "Sid": "AllowAddingTagsToRDSResources", "Effect": "Allow", "Action": [ "rds:AddTagsToResource" ], "Resource": "*" }, { "Sid": "RDSModifyTemporaryResources", "Effect": "Allow", "Action": [ "rds:ModifyDBInstance" ], "Resource": [ "arn:aws:rds:*:*:db:dasera-scan-temp-*", "arn:aws:rds:*:*:db:netskope-dspm-scan-temp-*" ] }, { "Sid": "RDSDeleteTaggedTemporaryResources", "Effect": "Allow", "Action": [ "rds:DeleteDBInstance" ], "Resource": "*", "Condition": { "StringEquals": { "rds:db-tag/Vendor": "Netskope", "rds:db-tag/Product": "DSPM" } } }, { "Sid": "KMSAccessForEncryptedSnapshots", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:CreateGrant" ], "Resource": "arn:aws:kms:*:*:key/*", "Condition": { "StringEquals": { "kms:ViaService": "rds.amazonaws.com" } } }, { "Sid": "PassRoleForRDSRestoreOperations", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::<ACCOUNT_ID>:role/<ROLE_NAME>", "Condition": { "StringEquals": { "iam:PassedToService": "rds.amazonaws.com" } } } -
Nextをクリックしてください。
-
ポリシーに名前を付けます (例:
NetskopeDSPMCustomPolicy) >クリックCreate policy 。
Step 4: Attach Policies to the Role
-
AWSコンソールで
NetskopeDSPMOrgRoleに戻ります。 -
PermissionsタブでAdd permissions > Attach policiesをクリックします。
-
以下のAWSマネージドポリシーを見つけて適用します。
IAMReadOnlyAccess: DSPMは、どのIAMユーザーとロールが機密データストアにアクセスできるかをマッピングできるため、データアクセス状況を完全に把握できます。AWSOrganizationsReadOnlyAccess: AWS組織内のアカウントを検出するために必要です。
-
(If you created an “Optional Custom Policy” in the previous step)
NetskopeDSPMCustomPolicyを見つけて添付します。 -
(If you enabled “Auto-Discover New Data Stores”) 以下の5つのAWSマネージドポリシーを添付してください。
AmazonS3ReadOnlyAccess: DSPM S3 バケットを検出して読むことができ、そのセキュリティを評価し、内部のデータを分類できます。AmazonRedshiftReadOnlyAccess: DSPMがAmazon Redshiftクラスター内のデータを検出および分類できるようにします。AmazonRDSReadOnlyAccess: DSPMがAmazon RDSデータベースインスタンスを検出してインベントリを作成できるようにします。AmazonEC2ReadOnlyAccess: DSPMがEC2インスタンスとそれに接続されたEBSボリュームを検出できるようにします。これは、これらのボリューム上の管理されていないデータストアを検出するために必要です。AmazonDynamoDBReadOnlyAccess: DSPMがAmazon DynamoDBテーブル内のデータを検出および分類できるようにします。- Note for Advanced Users (Least-Privilege):
これら5つのポリシーは、分かりやすくするためにまとめて記載しています。 より厳格な最低権限設定の場合は、積極的に使うしているAWSサービスのポリシーを添付するだけで十分です。
- Note for Advanced Users (Least-Privilege):
ステップ5:Netskope DSPMで接続を完了する
- Netskope DSPMのブラウザタブに戻ります。
- Review画面に、コピーしたRole ARNを貼り付けてください。
- Saveをクリックしてください。
トラブルシューティング
- Error: 「権限が不足しているため、AWSタグを取り込むことができません。」
- Cause: IAMポリシーには
tag:GetResources権限が欠けています。 - Fix: AWS の
NetskopeDSPMCustomPolicy編集し、 Ingest Tags機能の JSON ステートメントを追加します。
- Cause: IAMポリシーには
- Error: 「Netskope でスキャン中にエラーが発生しました…必要な AWS 権限が不足しています: ec2:DeleteSnapshot」
- Cause: このロールには、管理対象外データストアに対する権限が不足しています。
- Fix: カスタム IAM ポリシーを編集し、 Scan EBS/EFS and Auto-Discover Unmanaged Data Stores機能の 7 つの JSON ステートメントをすべて追加します。
- Error: 「RDSスナップショットのKMS復号化に失敗しました」
- Cause: このロールには、データストアスナップショットに必要なKMS権限が不足しています。
- Fix: カスタムIAMポリシーを編集し、 Authorize Data Store Snapshots Access 機能用の8つのJSON文すべてを追加してください。

