Netskope LogoNetskope Logo
  • Security Services
  • AI Services
  • Networking Services
  • Analytics Services
  • Integrations
  • getting-started.svgGetting Started
    • Support
    • Community
    • Netskope.com
    © 2026 All Rights Reserved. Netskope Inc.
    Home
    Data Loss Prevention
    Data Loss Prevention On Demand
    DLP On Demand Appliance
    Configuring AI File Classification and Entity Detection for DLP On Demand

    Configuring AI File Classification and Entity Detection for DLP On Demand

    The DLP On Demand (DLPoD) appliance supports three AI-powered content inspection capabilities, referred to together as DLP-LLM.

    CapabilityWhat It DoesWhere Inference Runs
    AI File ClassificationClassifies an extracted document into a file category, such as Budget Plan or Banking Agreement, so a DLP profile can match on file type.AWS Bedrock (Netskope-managed access)
    AI Entity, NER (Named Entity Recognition)Extracts personally identifiable information (PII), such as names, addresses, phone numbers, and Social Security numbers, so DLP entity rules can detect and redact it.A SageMaker real-time endpoint that you host in your own AWS account
    AI Entity, Genomic and Human-omic DetectionExtracts biomedical entities, such as genes, proteins, and diseases, from scientific or clinical text.The same SageMaker endpoint as NER, plus AWS Bedrock for a second genomic path

    You enable these capabilities from nsshell with two independent commands:

    • request dlp-llm configure sets up AI File Classification.
    • request dlp-llm-ner configure sets up NER and genomic detection.

    The two commands use separate credentials and don’t affect each other. You can enable one without the other.

    For more information about how AI Entity results appear in DLP profiles, see DLP Entity. For more information about file categories, see File Classifiers.

    DLP-LLM inference always runs in AWS, regardless of where your DLPoD appliance is hosted. The appliance itself supports AWS, Azure, GCP, and on-premises hypervisors (Hyper-V, KVM, and VMware), but you need an AWS account to host the inference backends either way. The authentication method the appliance uses depends on where the appliance runs.

    DLPoD Appliance Hosting PlatformAI File Classification (Bedrock) AuthNER and Genomic (SageMaker) Auth
    AWS (EC2)IAM role (instance profile), recommended; or AWS keysIAM role (instance profile), recommended; or permanent IAM key, STS, or JWT
    Azure, GCP, or on-premisesBedrock long-term API key, requiredJSON Web Token (JWT) through Amazon Cognito, required

    If your appliance runs on AWS EC2, an EC2 instance role is the default and recommended option for both capabilities. The role’s credentials rotate automatically, so you don’t manage or rotate any keys. If your appliance runs on Azure, GCP, or on-premises, it has no native AWS identity, so it must authenticate with a Bedrock long-term API key for AI File Classification and a JWT for NER.

    Support for Azure ML, Azure AI Foundry, Vertex AI, and private AI infrastructure as native inference backends is on the roadmap but isn’t available in this release. Appliances hosted off AWS still reach AWS for inference.

    Prerequisites

    Before you configure DLP-LLM, confirm the following:

    • Your DLPoD appliance is deployed and fully initialized, on a release that includes the dlp-llm service.
    • Your appliance is tethered. The configurator encrypts credentials with the tenant transit key, which is only available after tethering.
    • Your appliance has network egress to AWS Bedrock and, for NER, to your SageMaker endpoint. If your egress uses SSL inspection, see the troubleshooting section for the CA bundle option.
    • You have an AWS account. Bedrock and the SageMaker NER endpoint always run in AWS, regardless of your appliance’s hosting platform.

    For AI File Classification, you also need AWS credentials the appliance can use to call Bedrock. For NER, you also need a SageMaker real-time endpoint in your AWS account and credentials that let the appliance invoke it.

    If you plan to set up the SageMaker endpoint yourself, you also need these local tools:

    • AWS CLI v2
    • Docker, with the daemon running
    • crane, which the NER deployment script uses to push images in the manifest format SageMaker requires
    • IAM permissions to create ECR repositories, IAM roles and policies, and SageMaker models and endpoints

    Configuring AI File Classification

    AI File Classification runs on AWS Bedrock. The IAM permissions you need depend on which model you select.

    Setting Up AWS IAM for Bedrock

    Two model families are available, and each uses a different IAM policy.

    • google.gemma-4-31b and openai.gpt-5.6-luna run on Bedrock Mantle.
    • us.amazon.nova-pro-v1:0 and us.amazon.nova-2-lite-v1:0 run on standard Bedrock.

    For the Bedrock Mantle models, attach a policy that allows bedrock-mantle:CreateInference and bedrock-mantle:CallWithBearerToken, scoped to your account’s default Bedrock Mantle project.

    For the standard Bedrock models, attach a policy that allows bedrock:InvokeModel and bedrock:InvokeModelWithResponseStream. Cross-region model calls are checked against two resources, the inference profile and the underlying foundation model. Include both in the policy.

    With standard Bedrock, use the us.-prefixed inference profile model IDs. The Bedrock service rejects the unprefixed foundation model IDs for on-demand use.

    If your appliance runs on AWS EC2, you can attach an instance profile instead of using static keys. Create the role, attach the Bedrock policy, create an instance profile, and associate it with your running instance using the AWS CLI. This requires no restart of the instance.

    If your AWS account is managed under an NSPowerUser permissions boundary, every role, policy, and instance profile you create must include the application role path and permissions boundary your account requires, and the role must carry the tag your account uses to allow role assumption. Under this model, IAM resources must be created through the CLI or Terraform, not the AWS Console.

    If your appliance runs off AWS (Azure, GCP, or on-premises), generate a Bedrock long-term API key instead:

    1. In the AWS console, go to Amazon Bedrock > API Keys.
    2. Under Long-term API Keys, select Generate Long-Term API Key.
    3. Specify an expiration.
    4. Copy the key. You enter it as the API key credential in request dlp-llm configure.

    Running request dlp-llm configure

    From nsshell on the DLPoD appliance, run:

    nsappliance> request dlp-llm configure

    The command prompts for the following values. Defaults are shown in brackets.

    1. Auth method: aws-keys (default) or api-key. Choose aws-keys if your appliance runs on AWS EC2, or api-key if it runs off AWS.
    2. AWS credentials, matching the auth method you chose.
    3. Region, the AWS region for Bedrock. Default is us-west-2.
    4. Daily request limit, service.max_daily_requests. Enter 0 for no limit. Default is 100000.
    5. Model, one of the four supported model IDs. Default is google.gemma-4-31b.

    A model change takes effect the next time the dlp-llm service restarts, not on a configuration reload.

    If you leave the AWS credential fields empty, the configuration still saves, but AI File Classification doesn’t authenticate until you provide valid credentials or, on EC2, an instance role with the correct policy. The command warns you when this happens.

    Configuring NER and Genomic Entity Detection

    NER and genomic detection run against a SageMaker real-time endpoint in your own AWS account. You host the endpoint, and the appliance invokes it. Content sent for inspection never leaves your AWS environment.

    Deploying the SageMaker Endpoint

    Netskope provides a container image with the NER and genomic models built in, delivered as a compressed Docker image tarball or as a pull reference to a Netskope-hosted registry.

    Confirm the following before you deploy:

    RequirementDetail
    AWS account and regionAny region where SageMaker GPU real-time endpoints are available
    Instance typeml.g5.xlarge recommended for production
    Service quotaConfirm your account has quota for ml.g5.xlarge endpoint usage
    Amazon ECRA private repository in the same region to hold the image
    IAMPermissions to create ECR repositories, a SageMaker execution role, and SageMaker models and endpoints

    Netskope provides a deployment script, deploy_ner_sagemaker.sh, that automates the full setup: it loads the image, pushes it to ECR, creates the SageMaker execution role if one doesn’t exist, creates the model, endpoint configuration, and endpoint, and validates both the PII and genomic model families with a test call. Run it with your tarball, AWS account ID, and region:

    ./deploy_ner_sagemaker.sh --tarball dlp-ner-sagemaker-<version>.tar.gz \
      --account <your-aws-account-id> --region <your-region>
    If you deploy manually instead of using the script, you must set the container environment variable NER_MODEL_TYPE=xlmr when you create the SageMaker model. Without it, the endpoint fails to start and never reaches the InService state. This requirement applies to 26.8.x images; it doesn’t affect the genomic model.

    To validate a running endpoint without redeploying, run the script with –validate-only.

    Setting Up NER Authentication

    You choose how the appliance authenticates to your SageMaker endpoint. Four credential types are available.

    TypeWhen to UseWhat It Provides
    A, permanent IAM keySimplest key-based optionA long-lived AWS access key
    B, JWT through Amazon CognitoRequired for appliances hosted off AWSShort-lived tokens minted from a long-lived Cognito client secret; no standing AWS key on the appliance
    C, STS temporary credentialsAdvanced; only if you already rotate short-lived credentials into the applianceTemporary AWS credentials that you must refresh before expiry
    D, EC2 instance roleRecommended if your appliance runs on EC2Temporary, auto-rotated credentials from the instance role; nothing stored on the appliance

    Whichever type you choose, grant only the minimum permission, sagemaker:InvokeEndpoint, scoped to your endpoint’s Amazon Resource Name (ARN).

    If your appliance runs on AWS EC2 (Type D, recommended): attach an IAM role to the appliance’s EC2 instance with the invoke permission above. If the instance already has a role, add the permission to it instead of replacing the role, since an instance can hold only one role. When you run request dlp-llm-ner configure, leave the AWS credential fields blank. The appliance then uses the instance role automatically. If the dlp-llm service is already running, restart it so it picks up the role.

    If your appliance runs off AWS (Type B, required): front your SageMaker endpoint with Amazon API Gateway and a Cognito authorizer, so the appliance holds a long-lived Cognito client secret instead of an AWS access key. At a high level:

    1. Create a Cognito user pool, domain, resource server, and scope.
    2. Create a machine-to-machine app client, which generates a client ID and client secret.
    3. Create an IAM role that allows API Gateway to invoke your SageMaker endpoint.
    4. Create an API Gateway REST API with a POST method, protected by the Cognito authorizer, that integrates with your SageMaker endpoint.
    5. Deploy the API and note its URL.

    You then enter the following values in request dlp-llm-ner configure:

    FieldValue
    client_idFrom the app client you created
    client_secretFrom the app client you created
    token_urlYour Cognito domain’s OAuth token endpoint
    api_urlYour deployed API Gateway URL
    scopeYour Cognito resource server scope, for example predict/Sagemaker.invoke
    To rotate the credential, regenerate the app client secret in Cognito, then update client_secret on the appliance. The appliance mints new short-lived tokens automatically and doesn’t require manual token management.

    Running request dlp-llm-ner configure

    From nsshell on the DLPoD appliance, run:

    nsappliance> request dlp-llm-ner configure

    The command prompts for the following values. Defaults are shown in brackets.

    1. Auth method: aws-keys (default), api-key, or jwt. Choose based on the credential type you set up above.
    2. Credentials, matching the auth method you chose. For a permanent IAM key or EC2 instance role, this is an AWS access key ID and secret (leave both blank to use an instance role). For JWT, this is your client ID, client secret, token URL, API URL, and scope.
    3. Region, the AWS region of your SageMaker endpoint. Default is us-west-2.
    4. Daily request limit, service.max_daily_requests. Enter 0 for no limit. Default is 100000.

    This command doesn’t prompt for a model selection. The NER model is part of your SageMaker endpoint, not a Bedrock model.

    Verifying and Troubleshooting

    To check the appliance’s overall health and confirm which services are running, use:

    nsappliance> request status health
    nsappliance> request status all

    To confirm which authentication method DLP-LLM is using, check the dlp-llm service logs for a message that names the active method, such as an IAM permanent key, a temporary key, JWT, or an EC2 instance role.

    The following table lists common issues.

    SymptomLikely Cause and Fix
    Configuration fails with a transit-key errorYour appliance isn’t tethered yet, or config sync isn’t ready. Wait, then run the configure command again.
    NER credentials are rejectedThe access key or secret is wrong, or lacks permission to verify AWS identity. Correct the credentials and try again.
    NER stays disabled with no native identity errorYou left the credential fields blank to use an EC2 instance role, but no role is attached to the instance. Attach a role, then restart the service.
    NER configuration has both JWT and IAM fieldsRe-run request dlp-llm-ner configure, which clears stale fields before saving the new style, rather than hand-editing the configuration.
    AI File Classification returns an access-denied errorYour IAM policy doesn’t match the selected model. Confirm you used the Bedrock Mantle policy for the Mantle models, or the standard Bedrock policy for the two Nova models.
    AI File Classification fails after switching modelsThe new model isn’t provisioned for your AWS account in Bedrock. Confirm provisioning, and note that a model change takes effect on the next service restart.
    The SageMaker endpoint stays in a Creating or Updating stateThe model was created without the NER_MODEL_TYPE=xlmr environment variable. Recreate the model with the variable set, create a new endpoint configuration, and update the endpoint. No image rebuild is needed.
    TLS or SSL errors reaching Bedrock or SageMakerYour network egress uses SSL inspection. Supply a CA bundle for the JWT authentication path, or install the inspection CA on the appliance.
    NER credential lookup fails inside a container but works on the hostRaise the EC2 instance metadata hop limit to 2, to allow the containerized service to reach the metadata service.

    Security Notes

    AWS Bedrock supports model-invocation logging, which records the full text of prompts and responses to CloudWatch Logs, S3, or CloudTrail if you enable it in your AWS account. Because AI File Classification sends the content of the file being inspected to Bedrock, enabling this logging captures that sensitive content in your log destinations. Netskope recommends leaving model-invocation logging disabled for the AWS account your DLPoD appliance uses for AI File Classification. If you must enable it for auditing, treat the log destinations as sensitive-data stores and secure them accordingly. This setting is configured in your AWS account, not on the appliance, so the decision and the exposure risk belong to the AWS account owner. This guidance applies only to AI File Classification; NER runs on your own SageMaker endpoint and isn’t affected by Bedrock invocation logging.
    The appliance encrypts all credential values, including AWS keys, API keys, and JWT client secrets, at rest with the tenant transit key before saving them. If the appliance can’t reach the transit-key service, the configure command saves nothing rather than store an unencrypted credential. Where possible, use an EC2 instance role instead of stored keys, and grant only the minimum permission your appliance needs.

    Quick Command Reference

    request dlp-llm configure        # AI File Classification (Bedrock)
    request dlp-llm-ner configure    # NER and genomic detection (SageMaker)

    In this Topic
    • Configuring AI File Classification and Entity Detection for DLP On Demand