Use FIPS Endpoints
Route your SageMaker control plane, inference, and streaming traffic to the AWS FIPS 140-3 endpoints.
Amazon SageMaker AI publishes FIPS 140-3 endpoints alongside its standard ones. Switching to them changes only the hostname your client connects to; the endpoint, the model, and the request payload stay the same. For what these endpoints do and do not cover, see Security and Compliance.
Select FIPS endpoints
The AWS SDKs give you three ways to select FIPS endpoints, from broadest to narrowest scope:
If you authenticate with AWS IAM Identity Center (SSO), use per-client configuration. Authenticate over the standard IAM Identity Center endpoint, then apply FIPS to the service you call. The environment variable and the profile setting instead apply FIPS to every client in the process, including the one that resolves your SSO credentials, and the AWS SDKs then derive an IAM Identity Center hostname that does not resolve. Credential resolution fails before your request reaches SageMaker, and a cached credential masks the failure, so it appears intermittent.
Configure clients in code
Apply use_fips_endpoint to each client you build. Both the control plane (sagemaker) and the inference client (sagemaker-runtime) need it:
Invoke the endpoint exactly as you would otherwise:
Streaming over FIPS endpoints
Bidirectional streaming reaches the runtime host on port 8443, and the FIPS runtime host serves that port as well. The HTTP/2 bidirectional streaming client takes an explicit endpoint, so point it at the FIPS hostname and keep the port:
The equivalent in Python, using aws_sdk_sagemaker_runtime_http2:
If you omit the port, the connection is accepted but the response never arrives: the client hangs instead of reporting an error. Set the endpoint explicitly, with the port, on every bidirectional streaming client.
For the full streaming request shape — payload parts, control messages, and result handling — see Deploy Deepgram on Amazon SageMaker.
Asynchronous endpoints
Asynchronous endpoints read their input and write their output to Amazon S3, so configure the S3 client for FIPS as well. Otherwise the invocation travels over FIPS while the payload does not:
AWS CLI
The AWS CLI honors AWS_USE_FIPS_ENDPOINT and use_fips_endpoint, and also accepts --endpoint-url:
Confirm a run used FIPS endpoints
Print the resolved endpoint URL rather than assuming the setting took effect. meta.endpoint_url reports what the client will actually call, after every configuration source has been applied:
This check matters most in the IAM Identity Center case above, where a misconfigured run can reach SageMaker over standard endpoints while your logs claim FIPS.
Related resources
- Security and Compliance — what FIPS endpoints cover, FedRAMP coverage, network isolation, and VPC options
- Deploy Deepgram on Amazon SageMaker — full request examples for each transport