{"id":5806,"date":"2025-08-20T17:10:48","date_gmt":"2025-08-20T17:10:48","guid":{"rendered":"https:\/\/techtrendfeed.com\/?p=5806"},"modified":"2025-08-20T17:10:49","modified_gmt":"2025-08-20T17:10:49","slug":"simplify-entry-management-and-auditing-for-amazon-sagemaker-studio-utilizing-trusted-id-propagation","status":"publish","type":"post","link":"https:\/\/techtrendfeed.com\/?p=5806","title":{"rendered":"Simplify entry management and auditing for Amazon SageMaker Studio utilizing trusted id propagation"},"content":{"rendered":"<p> <br \/>\n<\/p>\n<div id=\"\">\n<p>AWS helps <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/singlesignon\/latest\/userguide\/trustedidentitypropagation-overview.html\" target=\"_blank\" rel=\"noopener noreferrer\">trusted id propagation<\/a>, a characteristic that enables AWS providers to securely propagate a consumer\u2019s id throughout service boundaries. With trusted id propagation, you have got fine-grained entry controls primarily based on a bodily consumer\u2019s id moderately than counting on IAM roles. This integration permits for the implementation of entry management via providers corresponding to <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/s3\/features\/access-grants\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon S3 Entry Grants<\/a> and maintains detailed audit logs of consumer actions throughout supported AWS providers corresponding to <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/emr\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon EMR<\/a>. Moreover, it helps long-running consumer background periods for coaching jobs, so you possibly can sign off of your interactive ML utility whereas the background job continues to run.<\/p>\n<p><a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/sagemaker-ai\/studio\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon SageMaker Studio<\/a> now helps trusted id propagation, providing a strong resolution for enterprises searching for to boost their ML system safety. By integrating trusted id propagation with SageMaker Studio, organizations can simplify entry administration by granting permissions to present <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/iam\/identity-center\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS IAM Identification Middle<\/a>\u00a0identities.<\/p>\n<p>On this put up, we discover the best way to allow and use trusted id propagation in SageMaker Studio, demonstrating its advantages via sensible use instances and implementation pointers. We stroll via the setup course of, focus on key issues, and showcase how this characteristic can remodel your group\u2019s strategy to safety and entry controls.<\/p>\n<h2>Answer overview<\/h2>\n<p>On this part, we evaluation the structure for the proposed resolution and the steps to allow trusted id propagation on your SageMaker Studio area.<\/p>\n<p>The next diagram exhibits the interplay between the completely different elements that enable the consumer\u2019s id to propagate from their id supplier and IAM Identification Middle to downstream providers corresponding to Amazon EMR and <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/athena\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Athena<\/a>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-114633\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/18\/ml-19006-arch-diagram-1.png\" alt=\"architecture diagram showing trusted identity propagation between multiple aws services\" width=\"936\" height=\"534\"\/><\/p>\n<p>With a trusted id propagation-enabled SageMaker Studio area, customers can entry information throughout <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/singlesignon\/latest\/userguide\/trustedidentitypropagation-integrations.html\" target=\"_blank\" rel=\"noopener noreferrer\">supported AWS providers<\/a> utilizing their finish consumer id and group membership, along with entry allowed by their area or consumer execution function. As well as, API calls from SageMaker Studio notebooks and supported AWS providers and <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/sagemaker-ai\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon SageMaker AI<\/a> options log the consumer id in <a rel=\"nofollow\" target=\"_blank\" href=\"http:\/\/aws.amazon.com\/cloudtrail\" target=\"_blank\" rel=\"noopener noreferrer\">AWS CloudTrail<\/a>. For a listing of supported AWS providers and SageMaker AI options, see <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/dg\/trustedidentitypropagation-compatibility.html\" target=\"_blank\" rel=\"noopener noreferrer\">Trusted id propagation structure and compatibility<\/a>. Within the following sections, we present the best way to allow trusted id propagation on your area.<\/p>\n<p>This resolution applies for SageMaker Studio domains arrange utilizing IAM Identification Middle as the strategy of authentication. In case your area is about up utilizing IAM, see <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/blogs\/machine-learning\/implement-user-level-access-control-for-multi-tenant-ml-platforms-on-amazon-sagemaker-ai\/\" target=\"_blank\" rel=\"noopener noreferrer\">Implement user-level entry management for multi-tenant ML platforms on Amazon SageMaker AI<\/a> for finest practices on managing and scaling entry management.<\/p>\n<h2>Conditions<\/h2>\n<p>To comply with together with this put up, you should have the next:<\/p>\n<ul>\n<li>An AWS account with a company occasion of IAM Identification Middle configured via <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/organizations\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Organizations<\/a><\/li>\n<li>Administrator permissions (or elevated permissions permitting modification of IAM principals, and SageMaker administrator entry to create and replace domains)<\/li>\n<\/ul>\n<h2>Create or replace the SageMaker execution function<\/h2>\n<p>For trusted id propagation to work, the SageMaker execution function (area and consumer profile execution function), ought to enable the <code>sts:SetContext<\/code> permissions, along with <code>sts:AssumeRole<\/code>, in its belief coverage. For a brand new SageMaker AI area, create a website execution function by following the directions in <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/dg\/sagemaker-roles.html#sagemaker-roles-create-execution-role\" target=\"_blank\" rel=\"noopener noreferrer\">Create execution function<\/a>. For present domains, comply with the directions in <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/dg\/sagemaker-roles.html#sagemaker-roles-get-execution-role\" target=\"_blank\" rel=\"noopener noreferrer\">Get your execution function<\/a> to search out the consumer or area\u2019s execution function.<\/p>\n<p>Subsequent, to replace the belief coverage for the function, full the next steps:<\/p>\n<ol>\n<li>Within the navigation pane of the IAM console, select <strong>Roles<\/strong>.<\/li>\n<li>Within the listing of roles in your account, select the area or consumer execution function.<\/li>\n<li>On the <strong>Belief relationships<\/strong> tab, select <strong>Edit belief coverage<\/strong>.<\/li>\n<li>Replace the belief coverage with the next assertion:<\/li>\n<\/ol>\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<pre><code class=\"lang-json\">{\n  \"Model\": \"2012-10-17\",\n  \"Assertion\": [\n     .....\n    {\n      \"Effect\": \"Allow\",\n      \"Principal\": {\n        \"Service\": [\n          \"sagemaker.amazonaws.com\",\n        ]\n      },\n      \"Motion\": [\n        \"sts:AssumeRole\",\n        \"sts:SetContext\"\n      ],\n      \"Situation\": {\n\t\"aws:SourceAccount\": \"<account>\"\n         }\n       }\n    }\n  ]\n}<\/account><\/code><\/pre>\n<\/p><\/div><\/div><\/div>\n<ol start=\"5\">\n<li>Select <strong>Replace coverage<\/strong> to save lots of your modifications.<\/li>\n<\/ol>\n<p>Trusted id propagation solely works for personal areas on the time of launch.<\/p>\n<h2>Create a SageMaker AI area with trusted id propagation enabled<\/h2>\n<p>SageMaker AI domains utilizing IAM Identification Middle for authentication can solely be arrange in the identical AWS Area because the IAM Identification Middle occasion. To create a brand new SageMaker area, comply with the steps in <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/dg\/onboard-custom.html\" target=\"_blank\" rel=\"noopener noreferrer\">Use customized setup for Amazon SageMaker AI<\/a>. For <strong>Trusted id propagation<\/strong>, choose <strong>Allow trusted id propagation for all customers on this area<\/strong>, and proceed with the remainder of the setup to create a website and assign customers and teams, selecting the function you created within the earlier step.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114634\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/18\/ml-19006-create-domain-1.png\" alt=\"screenshot of a create domain workflow\" width=\"1397\" height=\"1339\"\/><\/p>\n<h2>Replace an present SageMaker AI area<\/h2>\n<p>You can even replace your present SageMaker AI area to allow trusted id propagation. You may allow trusted id propagation even whereas the area or consumer has lively SageMaker Studio purposes. Nevertheless, for the modifications to be utilized, the lively purposes should be restarted. You should use the <code>EffectiveTrustedIdentityPropagationStatus<\/code> area within the response to the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/APIReference\/API_DescribeApp.html\" target=\"_blank\" rel=\"noopener noreferrer\">DescribeApp<\/a> API for working purposes to find out if the applying has trusted id propagation enabled.<\/p>\n<p>To allow trusted id propagation for the area utilizing the SageMaker AI console, select <strong>Edit<\/strong> below <strong>Authentication and permissions<\/strong> on the <strong>Area settings <\/strong>tab.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114329\" style=\"margin: 10px 0px 10px 0px;border: 1px solid #CCCCCC\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ml-19006-edit-domain.png\" alt=\"screenshot of a edit domain workflow\" width=\"1428\" height=\"614\"\/><\/p>\n<p>For <strong>Trusted id propagation<\/strong>, choose <strong>Allow trusted id propagation for all customers on this area<\/strong>, and select <strong>Submit<\/strong> to save lots of the modifications.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114335\" style=\"margin: 10px 0px 10px 0px;border: 1px solid #CCCCCC\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ml-19006-update-domain.png\" alt=\"screenshot showing update domain settings to enable trusted identity propagation\" width=\"1430\" height=\"876\"\/><\/p>\n<h2>(Non-compulsory) Replace consumer background session configuration in IAM Identification Middle<\/h2>\n<p>IAM Identification Middle now helps working consumer background periods, and the session period is about by default to 7 days. With background periods, customers can launch long-running SageMaker coaching jobs that assume the consumer\u2019s id context together with the SageMaker execution function. As an administrator, you possibly can allow or disable consumer background periods, and modify the session period for consumer background periods. As of the time of writing, the utmost session period that you would be able to set for consumer background periods is 90 days. The consumer\u2019s session is stopped on the finish of the desired period, and consequently, the coaching job may even fail on the finish of the session period.<\/p>\n<p>To disable or replace the session period, navigate to the IAM Identification Middle console, select <strong>Settings <\/strong>within the navigation pane, and select <strong>Configure<\/strong> below <strong>Session period<\/strong>.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114334\" style=\"margin: 10px 0px 10px 0px;border: 1px solid #CCCCCC\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ml-19006-session-duration.png\" alt=\"iam identity center console screenshot showing edit button for configuring interactive sessions\" width=\"1431\" height=\"696\"\/><\/p>\n<p>For <strong>Consumer background periods<\/strong>, choose <strong>Allow consumer background periods<\/strong> and use the dropdown to vary the session period. If consumer background periods are disabled, the consumer should be logged in at some point of the coaching job; in any other case, the coaching job will fail as soon as the consumer logs out. Updating this configuration doesn\u2019t have an effect on present working periods and solely applies to newly created consumer background periods. Select <strong>Save<\/strong> to save lots of your settings.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114330\" style=\"margin: 10px 0px 10px 0px;border: 1px solid #CCCCCC\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ml-19006-edit-session-duration.png\" alt=\"screenshot showing how to update the background session duration for users in iam identity center\" width=\"1619\" height=\"880\"\/><\/p>\n<h2>Use instances<\/h2>\n<p>Think about you\u2019re an enterprise with a whole bunch and even hundreds of customers, every requiring various ranges of entry to information throughout a number of groups. You\u2019re liable for sustaining an AI\/ML system on SageMaker AI and managing entry permissions throughout various information sources corresponding to <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/s3\">Amazon Easy Storage Service (Amazon S3)<\/a>, <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/redshift\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Redshift<\/a>, and <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/lake-formation\/\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Lake Formation<\/a>. Historically, this has concerned sustaining complicated IAM insurance policies for customers, providers, and assets, together with bucket insurance policies the place relevant. This strategy will not be solely tedious but additionally makes it difficult to trace and audit information entry with out sustaining a separate function for every consumer.<\/p>\n<p>That is exactly the situation that trusted id propagation goals to deal with. With trusted id propagation help, now you can keep service-specific roles with minimal permissions, corresponding to <code>s3:GetDataAccess<\/code> or <code>LakeFormation:GetDataAccess<\/code>, together with further permissions to begin jobs, view job statuses, and carry out different essential duties. For information entry, you possibly can assign fine-grained insurance policies on to particular person customers. As an example, Jane may need learn entry to buyer information and full entry to gross sales and pricing information, whereas Laura may solely have learn entry to gross sales tendencies. Each Jane and Laura can assume the identical SageMaker AI function to entry their SageMaker Studio purposes, whereas sustaining separate information entry permissions primarily based on their particular person identities.Within the following sections, we discover how this may be achieved for frequent use instances, demonstrating the facility and adaptability of trusted id propagation in simplifying information entry administration whereas sustaining sturdy safety and auditability.<\/p>\n<h3>State of affairs 1: Experiment with Amazon S3 information in notebooks<\/h3>\n<p>S3 Entry Grants present a simplified approach to handle information entry at scale. In contrast to conventional IAM roles and insurance policies that require an in depth data of IAM ideas, and frequent coverage updates as new assets are added, with S3 Entry Grants, you possibly can outline entry to information primarily based on acquainted database-like grants that mechanically scale along with your information. This strategy considerably reduces the operational overhead of managing hundreds of IAM insurance policies and bucket insurance policies, and overcomes the constraints of IAM permissions, whereas strengthening safety via entry patterns. In case you don\u2019t have S3 Entry Grants arrange, see <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/AmazonS3\/latest\/userguide\/access-grants-instance-create.html\" target=\"_blank\" rel=\"noopener noreferrer\">Create an S3 Entry Grant occasion<\/a> to get began. For detailed structure and use instances, you may also seek advice from <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/blogs\/storage\/scaling-data-access-with-amazon-s3-access-grants\/\" target=\"_blank\" rel=\"noopener noreferrer\">Scaling information entry with Amazon S3 Entry Grants<\/a>. After you have got arrange S3 Entry Grants, you possibly can grant entry to your datasets to customers primarily based on their id in IAM Identification Middle.<\/p>\n<p>To make use of S3 Entry Grants from SageMaker Studio, replace the next IAM roles with insurance policies and belief insurance policies.<\/p>\n<p>For the area or consumer execution function, add the next <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/IAM\/latest\/UserGuide\/access_policies_manage-attach-detach.html\" target=\"_blank\" rel=\"noopener noreferrer\">inline coverage<\/a>:<\/p>\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<pre><code class=\"lang-json\">{\n    \"Model\": \"2012-10-17\",\n    \"Assertion\": [\n        {\n            \"Sid\": \"AllowDataAccessAPI\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"s3:GetDataAccess\"\n            ],\n            \"Useful resource\": [\n                \"arn:aws:s3:<region>:<account>:access-grants\/default\"\n            ]\n        },\n        {\n            \"Sid\": \"RequiredForTIP\",\n            \"Impact\": \"Permit\",\n            \"Motion\": \"sts:SetContext\",\n            \"Useful resource\": \"arn:aws:iam::<account>:function\/<s3-access-grants-role>\"\n        }\n    ]\n}<\/s3-access-grants-role><\/account><\/account><\/region><\/code><\/pre>\n<\/p><\/div><\/div>\n<p>Be sure that the S3 Entry Grants function\u2019s belief coverage permits the <code>sts:SetContext<\/code> motion along with <code>sts:AssumeRole<\/code>. The next is a pattern belief coverage:<\/p>\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<pre><code class=\"lang-json\">{\n    \"Model\": \"2012-10-17\",\n    \"Assertion\": [\n        {\n            \"Effect\": \"Allow\",\n            \"Principal\": {\n                \"Service\": [\n                    \"access-grants.s3.amazonaws.com\"\n                ]\n            },\n            \"Motion\": [\n                \"sts:AssumeRole\",\n                \"sts:SetContext\"\n            ],\n            \"Situation\": {\n                \"StringEquals\": {\n                    \"aws:SourceArn\": \"arn:aws:s3:<region>:<account>:access-grants\/default\"\n                }\n            }\n        }\n    ]\n<\/account><\/region><\/code><\/pre>\n<\/p><\/div>\n<pre\/> \n        <\/div> \u00a0 \n       <\/div> Now, the consumer can entry the info as allowed by S3 Entry Grants on your consumer id by calling the \n       <code>GetDataAccess<\/code> API to return non permanent credentials, and by assuming the non permanent credentials to learn or write to their prefixes. For instance, the next code exhibits the best way to use Boto3 to get non permanent credentials and assume the credentials to get entry to Amazon S3 places which are allowed via S3 Entry Grants: \n       <div class=\"hide-language\">\n         \u00a0 \n        <pre><code class=\"lang-python\">import boto3\nfrom botocore.config import Config\n\ndef get_access_grant_credentials(account_id: str, goal: str, \n                                 permission: str=\"READ\"):\n    s3control = boto3.consumer('s3control')\n    response = s3control.get_data_access(\n        AccountId=account_id,\n        Goal=goal,\n        Permission=permission\n    )\n    return response['Credentials']\n\ndef create_s3_client_from_credentials(credentials) -&gt; boto3.consumer:\n    return boto3.consumer(\n        's3',\n        aws_access_key_id=credentials['AccessKeyId'],\n        aws_secret_access_key=credentials['SecretAccessKey'],\n        aws_session_token=credentials['SessionToken']\n    )\n\n# Create consumer\ncredentials = get_access_grant_credentials('<account>',\n                                        \"s3:\/\/<bucket>\/<allowed-prefix>\/\")\ns3 = create_s3_client_from_credentials(credentials)\n\n# Will succeed\ns3.list_objects(Bucket=\"<bucket>\", Prefix=\"<allowed-prefix>\")\n\n# Will fail\ns3.list_objects(Bucket=\"<bucket>\", Prefix=\"<any-other-prefix>\")<\/any-other-prefix><\/bucket><\/allowed-prefix><\/bucket><\/allowed-prefix><\/bucket><\/account><\/code><\/pre>\n<\/p><\/div>\n<h3>State of affairs 2: Entry Lake Formation via Athena<\/h3>\n<p>Lake Formation offers centralized governance and fine-grained entry management administration for information saved in Amazon S3 and metadata within the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/glue\/latest\/dg\/catalog-and-crawler.html\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Glue Knowledge Catalog<\/a>. The Lake Formation permission mannequin operates together with IAM permissions, providing granular controls on the database, desk, column, row, and cell ranges. This dual-layer safety mannequin offers complete information governance whereas sustaining flexibility in entry patterns.<\/p>\n<p>Knowledge ruled via Lake Formation could be accessed via varied AWS analytics providers. On this situation, we display utilizing Athena, a serverless question engine that integrates seamlessly with Lake Formation\u2019s permission mannequin. For different providers like Amazon EMR on EC2, ensure that the useful resource is configured to help trusted id propagation, together with establishing safety configurations and ensuring the EMR cluster is configured with IAM roles that help trusted id propagation.<\/p>\n<p>The next directions assume that you&#8217;ve already arrange Lake Formation. If not, see <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/lake-formation\/latest\/dg\/initial-lf-config.html\" target=\"_blank\" rel=\"noopener noreferrer\">Arrange AWS Lake Formation<\/a> and comply with the <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/lake-formation\/latest\/dg\/getting-started-tutorials.html\" target=\"_blank\" rel=\"noopener noreferrer\">AWS Lake Formation tutorials<\/a> to arrange Lake Formation and usher in your information.<\/p>\n<p>Full the next steps to entry your ruled information in trusted id propagation-enabled SageMaker Studio notebooks utilizing Athena:<\/p>\n<ol>\n<li>Combine Lake Formation with IAM Identification Middle by following the directions in <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/lake-formation\/latest\/dg\/identity-center-integration.html\" target=\"_blank\" rel=\"noopener noreferrer\">Integrating IAM Identification Middle<\/a>. At a excessive stage, this consists of creating an IAM function permitting creating and updating utility configurations in Lake Formation and IAM Identification Middle, and offering the one sign-on (SSO) occasion ID.<\/li>\n<li>Grant permissions to the IAM Identification Middle consumer to the related assets (database, desk, row or column) utilizing Lake Formation. See <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/lake-formation\/latest\/dg\/granting-catalog-permissions.html\" target=\"_blank\" rel=\"noopener noreferrer\">Granting permissions on Knowledge Catalog assets<\/a> directions.<\/li>\n<li>Create an Athena workgroup that helps trusted id propagation by following directions in <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/athena\/latest\/ug\/creating-workgroups.html\" target=\"_blank\" rel=\"noopener noreferrer\">Create a workgroup<\/a> and selecting <strong>IAM Identification Middle<\/strong> as the strategy of authentication. Be sure that the consumer has entry to put in writing to the question outcomes location offered right here utilizing S3 Entry Grants, as a result of Athena makes use of entry grants by default when selecting IAM Identification Middle because the authentication methodology.<\/li>\n<li>Replace the Athena workgroup\u2019s IAM function with the next belief coverage (add <code>sts:SetContext<\/code> to the present belief coverage). You could find the IAM function by selecting the workgroup you created earlier and searching for <strong>Position title<\/strong>.<\/li>\n<\/ol>\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<pre><code class=\"lang-json\">{\n    \"Model\": \"2012-10-17\",\n    \"Assertion\": [\n        {\n            \"Sid\": \"AthenaTrustPolicy\",\n            \"Effect\": \"Allow\",\n            \"Principal\": {\n                \"Service\": \"athena.amazonaws.com\"\n            },\n            \"Action\": [\n                \"sts:AssumeRole\",\n                \"sts:SetContext\"\n            ],\n            \"Situation\": {\n                \"StringEquals\": {\n                    \"aws:SourceAccount\": \"<account-id>\"\n                },\n                \"ArnLike\": {\n                    \"aws:SourceArn\": \"arn:aws:athena:<region>:<account-id>:workgroup\/<workgroup-name>\"\n                }\n            }\n        }\n    ]\n}<\/workgroup-name><\/account-id><\/region><\/account-id><\/code><\/pre>\n<\/p><\/div><\/div>\n<p>The setup is now full. Now you can launch SageMaker Studio utilizing an IAM Identification Middle consumer, launch a JupyterLab or Code Editor utility, and question the database. See the next instance code to get began:<\/p>\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<pre><code class=\"lang-python\">import time\nimport boto3\nimport pandas as pd\nathena_client = boto3.consumer(\"athena\")\n\ndatabase = \"<database-name>\"\ndesk = \"<table-name>\"\nquestion = f\"SELECT * FROM {database}.{desk}\"\noutput_location = \"s3:\/\/<bucket-name>\/queries\"  # bucket title and placement from Step 3\n\nresponse = athena_client.start_query_execution(\n    QueryString=question,\n    QueryExecutionContext={'Database': database},\n    ResultConfiguration={'OutputLocation': output_location}\n)\n\n# Get the question execution ID\nquery_execution_id = response['QueryExecutionId']\n\n# look forward to question to finish\nwhereas True:\n    query_status = athena_client.get_query_execution(QueryExecutionId=query_execution_id)\n    standing = query_status['QueryExecution']['Status']['State']\n    if standing in ['SUCCEEDED', 'FAILED', 'CANCELLED']:\n        break\n    time.sleep(1)\n\n# If the question succeeded, fetch and show outcomes\nif standing == 'SUCCEEDED':\n    outcomes = athena_client.get_query_results(QueryExecutionId=query_execution_id)\n    \n    # Extract column names and information\n    columns = [col['Name'] for col in outcomes['ResultSet']['ResultSetMetadata']['ColumnInfo']]\n    information = []\n    for row in outcomes['ResultSet']['Rows'][1:]:  # Skip the header row\n        information.append([field.get('VarCharValue', '') for field in row['Data']])\n    \n    # Create a pandas DataFrame\n    df = pd.DataFrame(information, columns=columns)\n    \n    # Show the primary few rows\n    print(df.head())\nelse:\n    print(f\"Question failed with standing: {standing}\")<\/bucket-name><\/table-name><\/database-name><\/code><\/pre>\n<\/p><\/div><\/div>\n<h3>State of affairs 3: Create a coaching job supported with consumer background periods<\/h3>\n<p>For a trusted id propagation-enabled area, a consumer background session is a session that continues to run even when the end-user has logged out of their interactive session corresponding to JupyterLab purposes in SageMaker Studio. For instance, the consumer can provoke a coaching job from their SageMaker Studio area, and the job can run within the background for days or even weeks whatever the consumer\u2019s exercise, and use the consumer\u2019s id to entry information and log audit trails. In case your area doesn\u2019t have trusted id propagation enabled, you possibly can proceed to run coaching jobs and processing jobs as earlier than; nonetheless, if trusted id propagation is enabled, ensure that your consumer background session time is up to date to replicate the period of your coaching jobs, as a result of the default is about mechanically to 7 days. In case you have enabled consumer background periods, replace your SageMaker Studio area or consumer\u2019s execution function with the next permissions to supply a seamless expertise for information scientists:<\/p>\n<div class=\"hide-language\">\n<pre><code class=\"lang-json\">{\n    \"Model\": \"2012-10-17\",\n    \"Assertion\": [\n        {\n            \"Sid\": \"AllowDataAccessAPI\",\n            \"Effect\": \"Allow\",\n            \"Action\": [\n                \"s3:GetDataAccess\",\n                \"s3:GetAccessGrantsInstanceForPrefix\"\n            ],\n            \"Useful resource\": [\n                \"arn:aws:s3:<region>:<account>:access-grants\/default\"\n            ]\n        },\n        {\n            \"Sid\": \"RequiredForTIP\",\n            \"Impact\": \"Permit\",\n            \"Motion\": \"sts:SetContext\",\n            \"Useful resource\": \"arn:aws:iam::<account>:function\/<s3-access-grants-role>\"\n        }\n    ]\n}<\/s3-access-grants-role><\/account><\/account><\/region><\/code><\/pre>\n<\/p><\/div>\n<p>With this setup, an information scientist can use an Amazon S3 location that they&#8217;ve entry to via S3 Entry Grants. SageMaker mechanically seems for information entry utilizing S3 Entry Grants and falls again to the job\u2019s IAM function in any other case. For instance, within the following SDK name to create the coaching job, the consumer offers the S3 Amazon URI the place the info is saved, they&#8217;ve entry to it via S3 Entry Grants, and so they can run this job with out further setup:<\/p>\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<div class=\"hide-language\">\n<pre><code class=\"lang-python\">    response = sm.create_training_job(\n        TrainingJobName=training_job_name,\n        AlgorithmSpecification={\n            'TrainingImage': '763104351884.dkr.ecr.us-west-2.amazonaws.com\/huggingface-pytorch-training:2.0.0-transformers4.28.1-gpu-py310-cu118-ubuntu20.04',\n            'TrainingInputMode': 'File',\n            ...\n                    RoleArn='arn:aws:iam::<account>:function\/tip-domain-role',\n        InputDataConfig=[\n            {\n                'ChannelName': 'training',\n                'DataSource': {\n                    'S3DataSource': {\n                        'S3DataType': 'S3Prefix',\n                        'S3Uri': 's3:\/\/<s3-ag-enabled-bucket>\/<s3-ag-enabled-prefix>',\n                        'S3DataDistributionType': 'FullyReplicated'\n                    }\n                },\n                'CompressionType': 'None',\n                'RecordWrapperType': 'None'\n            },\n            ...\n        }<\/s3-ag-enabled-prefix><\/s3-ag-enabled-bucket><\/account><\/code><\/pre>\n<\/p><\/div><\/div><\/div>\n<h4>(Optional) View and manage user background sessions on IAM Identity Center<\/h4>\n<p>When training jobs are run as user background sessions, you can view these sessions as user background sessions on IAM Identity Center. The administrator can view a list of all user background sessions and optionally stop a session if the user has left the team, for example. When the user background session is ended, the training job subsequently fails.<\/p>\n<p>To view a list of all user background sessions, on the IAM Identity Center console, choose <strong>Users<\/strong> and choose the user you want view the user background sessions for. Choose the <strong>Active sessions<\/strong> tab to view a list of sessions. The user background session can be identified by the <strong>Session type<\/strong> column, which shows if the session is interactive or a user background session. The list also shows the job\u2019s Amazon Resource Name (ARN) under the <strong>Used by<\/strong> column.<\/p>\n<p>To end a session, select the session and choose <strong>End sessions<\/strong>.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114332\" style=\"margin: 10px 0px 10px 0px;border: 1px solid #CCCCCC\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ml-19006-list-active-sessions.png\" alt=\"screenshot showing list of active sessions in iam identity center console\" width=\"1392\" height=\"650\"\/><\/p>\n<p>You will be prompted to confirm the action. Enter confirm to confirm that you want to end the session and choose <strong>End sessions<\/strong> to stop the user background session.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114331\" style=\"margin: 10px 0px 10px 0px;border: 1px solid #CCCCCC\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ml-19006-end-session.png\" alt=\"screenshot showing how to end a user interactive session from iam identity center console\" width=\"599\" height=\"427\"\/><\/p>\n<h3>Scenario 4: Auditing using CloudTrail<\/h3>\n<p>After trusted identity propagation is enabled for your domain, you can now track the user that performed specific actions through CloudTrail. To try this out, log in to SageMaker Studio, and create and open a JupyterLab space. Open a terminal and enter <code>aws s3 ls<\/code> to list the available buckets in your Region.<\/p>\n<p>On the CloudTrail console, choose <strong>Event history<\/strong> in the navigation pane. Update the <strong>Lookup attributes<\/strong> to <strong>Event name<\/strong> and in the search box, enter <code>ListBuckets<\/code>. You should see a list of events, as shown in the following screenshot (it might take up to 5 minutes for the logs to be available in CloudTrail).<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114333\" style=\"margin: 10px 0px 10px 0px;border: 1px solid #CCCCCC\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ml-19006-list-events-ct.png\" alt=\"screenshot showing list of cloudtrail events\" width=\"1424\" height=\"601\"\/><\/p>\n<p>Choose the event to view its details (verify the user name is <strong>SageMaker<\/strong> if you have also listed buckets through the AWS console or APIs). In the event details, you should be able to see an additional field called <code>onBehalfOf<\/code> that has the user\u2019s identity.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-114328\" style=\"margin: 10px 0px 10px 0px;border: 1px solid #CCCCCC\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ml-19006-ct-event.png\" alt=\"screenshot showing cloudtrail event details with the onBehalfOf field highlighted\" width=\"1422\" height=\"749\"\/><\/p>\n<p>Supported services and SageMaker AI features called from a trusted identity propagation-enabled SageMaker Studio domain will have the <code>OnBehalfOf<\/code> field in CloudTrail.<\/p>\n<h2>Clean up<\/h2>\n<p>If you have created a SageMaker Studio domain for the purposes of trying out trusted identity propagation, delete the domain and its associated <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/aws.amazon.com\/efs\/\" target=\"_blank\" rel=\"noopener noreferrer\">Amazon Elastic File System<\/a> (Amazon EFS) volume to avoid incurring additional charges. Before deleting a domain, you must delete all the users and their associated spaces and applications. For detailed instructions, see <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/dg\/studio-updated-running-stop.html\" target=\"_blank\" rel=\"noopener noreferrer\">Stop and delete your Studio running applications and spaces<\/a>.<\/p>\n<p>If you created a SageMaker training job, they are ephemeral, and the compute is shut down automatically when the job is complete.<\/p>\n<p>Athena is a serverless analytics service that charges per query billing. No cleanup is necessary, but for best practices, <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/athena\/latest\/ug\/deleting-workgroups.html\" target=\"_blank\" rel=\"noopener noreferrer\">delete the workgroup<\/a> to remove unused resources.<\/p>\n<h2>Conclusion<\/h2>\n<p>In this post, we showed you how to enable trusted identity propagation for SageMaker AI domains that use IAM Identity Center as the mode of authentication. With trusted identity propagation, administrators can manage user authorization to other AWS services through the user\u2019s physical identity in conjunction with IAM roles. Administrators can streamline permissions management by maintaining a single domain execution role and manage granular access to other AWS services and data sources through the user\u2019s identity. In addition, trusted identity propagation supports auditing, so administrators can track user activity without the need for managing a role for each user profile.<\/p>\n<p>To learn more about enabling this feature and its use cases, see <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/singlesignon\/latest\/userguide\/trustedidentitypropagation-integrations.html\" target=\"_blank\" rel=\"noopener noreferrer\">Trusted identity propagation use cases<\/a> and <a rel=\"nofollow\" target=\"_blank\" href=\"https:\/\/docs.aws.amazon.com\/sagemaker\/latest\/dg\/trustedidentitypropagation.html\" target=\"_blank\" rel=\"noopener noreferrer\">Trusted identity propagation with Studio<\/a>. This post covered a subset of supported applications; we encourage you to check out the documentation and choose the services that best serve your use case and share your feedback!<\/p>\n<hr\/>\n<h3>About the authors<\/h3>\n<p style=\"clear: both\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-114323 size-thumbnail alignleft\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/ajjaisin-100x115.png\" alt=\"author-ajjaisin\" width=\"100\" height=\"115\"\/><strong>Amit Shyam Jaisinghani<\/strong> is a Software Engineer on the SageMaker Studio team at Amazon Web Services, and he earned his Master\u2019s degree in Computer Science from Rochester Institute of Technology. Since joining Amazon in 2019, he has built and enhanced several AWS services, including AWS WorkSpaces and Amazon SageMaker Studio. Outside of work, he explores hiking trails, plays with his two cats, Missy and Minnie, and enjoys playing Age of Empire.<\/p>\n<p style=\"clear: both\"><strong><img decoding=\"async\" loading=\"lazy\" class=\"size-thumbnail wp-image-114336 alignleft\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/surydurg-100x100.png\" alt=\"author-surydurg\" width=\"100\" height=\"100\"\/>Durga Sury<\/strong> is a Senior Solutions Architect at Amazon SageMaker, where she helps enterprise customers build secure and scalable AI\/ML systems. When she\u2019s not architecting solutions, you can find her enjoying sunny walks with her dog, immersing herself in murder mystery books, or catching up on her favorite Netflix shows.<\/p>\n<p style=\"clear: both\"><strong><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-114324 alignleft\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/khushbsr.png\" alt=\"author-khushbsr\" width=\"100\" height=\"100\"\/>Khushboo Srivastava<\/strong> is a Senior Product Manager for Amazon SageMaker. She enjoys building products that simplify machine learning workflows for customers, and loves playing with her 1-year old daughter.<\/p>\n<p style=\"clear: both\"><strong><img decoding=\"async\" loading=\"lazy\" class=\"size-thumbnail wp-image-114325 alignleft\" src=\"https:\/\/d2908q01vomqb2.cloudfront.net\/f1f836cb4ea6efb2a0b1b99f41ad8b103eff4b59\/2025\/08\/13\/kmaniva-100x111.png\" alt=\"author-kmaniva\" width=\"100\" height=\"111\"\/>Krishnan Manivannan<\/strong> is a Senior Software Engineer at Amazon Web Services and a founding member of the SageMaker AI API team. He has 8 years of experience in the architecture and security of large-scale machine learning services. His specialties include API design, service scalability, identity and access management, and inventing new approaches for building and operating distributed systems. Krishnan has led multiple engineering efforts from design through global launch, delivering reliable and secure systems for customers worldwide.<\/p>\n<p>       \n      <\/div>\n\n","protected":false},"excerpt":{"rendered":"<p>AWS helps trusted id propagation, a characteristic that enables AWS providers to securely propagate a consumer\u2019s id throughout service boundaries. With trusted id propagation, you have got fine-grained entry controls primarily based on a bodily consumer\u2019s id moderately than counting on IAM roles. This integration permits for the implementation of entry management via providers corresponding [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":5808,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[539,387,4827,848,1036,4829,388,4826,108,4828],"class_list":["post-5806","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-machine-learning","tag-access","tag-amazon","tag-auditing","tag-control","tag-identity","tag-propagation","tag-sagemaker","tag-simplify","tag-studio","tag-trusted"],"_links":{"self":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/5806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=5806"}],"version-history":[{"count":1,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/5806\/revisions"}],"predecessor-version":[{"id":5807,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/posts\/5806\/revisions\/5807"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=\/wp\/v2\/media\/5808"}],"wp:attachment":[{"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=5806"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=5806"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/techtrendfeed.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=5806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}<!-- This website is optimized by Airlift. Learn more: https://airlift.net. Template:. Learn more: https://airlift.net. Template: 69d9690a190636c2e0989534. Config Timestamp: 2026-04-10 21:18:02 UTC, Cached Timestamp: 2026-06-13 15:26:12 UTC -->