CDH Connection
Context and IAM Setup
As the Connected AI Platform (CAIP) transitions to a managed architecture, the integration with the Cloud Data Hub (CDH) will adopt a more scalable setup. This new approach will utilize role chaining and CDH-managed environments. It is essential to outline the new IAM architecture, which describes how CAIP applications interact with CDH resources using roles in both CAIP and CDH accounts. This includes access to Personally Identifiable Information (PII) APIs through secrets and specific roles (DEPERSO / REPERSO). Additionally, we will refine the IAM policies on CDH accounts to enhance security and prevent unauthorized access to AWS resources not included in the CDH offering. This document details the new architecture and the necessary IAM policy declarations for both CAIP and CDH roles.
The diagram below illustrates how CAIP applications access CDH dataset resources through cross-account role chaining from CAIP accounts to CDH environment accounts.

Key Points of the Architecture
-
Example Accounts: The AWS account named
MCAIP-TRAINserves as an example for a CAIP product, whileMCAIP-TRAIN-INT-MANAGEDis designated as a CDH-managed environment account for the MCAIP-TRAIN product. -
Consistent Role Naming: CAIP will utilize a single role on CDH environment accounts called
caip-role-managed-cdh. This role name remains constant, regardless of the product name or environment. -
Role Permissions: On CAIP accounts, the roles assigned to Kubeflow, Jupyter, and Kubernetes applications (denoted as
*-cd4ml) must include a policy that allows the actionsts:AssumeRolefor thecaip-role-managed-cdhon the CDH environment account (e.g.,MCAIP-TRAIN-INT-MANAGED).
-
Execution Roles for Managed Services: For CAIP workloads using AWS managed services like Glue or SageMaker, their execution roles must also have a policy allowing
sts:AssumeRolefor thecaip-role-managed-cdhon CDH. -
CDH Resource Access: The
caip-role-managed-cdhon CDH accounts must have an IAM policy that permits access to S3, Glue, KMS, and Athena resources. Detailed guidance on setting up these policies can be found in the CDH Documentation. -
Accessing PII APIs: To use the PII API from CAIP, the workload must assume the
caip-role-managed-cdhon CDH, which should have a policy allowingsts:AssumeRolefor PII roles on account607770795732(specificallydeperso-CDH_ENV_ACCOUNT_IDandreperso-CDH_ENV_ACCOUNT_ID). TheCDH_ENV_ACCOUNT_IDcorresponds to the CDH environment account ID (e.g.,539247460700forMCAIP-TRAIN-INT-MANAGED). This role must also allow actions to retrieve the PII API Key stored in Secrets Manager.
Implications for Accessing CDH Resources
Based on the policies outlined above, the following implications for accessing CDH resources can be noted:
-
The
caip-role-managed-cdhcan only be assumed by CD4M, developer and execution roles on CAIP accounts and by Glue sessions/jobs on CDH environments. -
KMS must have Encrypt/Decrypt access to all keys because CDH environments can be used as dataset consumers from other environments/providers, which then have different KMS keys used to encrypt data.
-
The
caip-role-managed-cdhcan be used as an execution role for Glue sessions and jobs created on CDH environments. -
All Glue actions are allowed by the policy. This means the role will be able to perform all Glue operations on CDH environments except deleting a dataset database, because Glue databases on CDH environments are only mirrors shared by the original CDH account where the dataset is created using LakeFormation.
-
All S3 operations are allowed. This means the role can read/write objects or perform any bucket operation if it's created on the CDH environment. If the CDH environment is a dataset provider, it can write data to the dataset bucket on the CDH account; if it's a dataset consumer in another environment/provider, it can only read data from the dataset bucket.
-
All Athena operations on the CDH environment are allowed.
-
For PII API operations, the
caip-role-managed-cdhcan assume DEPERSO and REPERSO roles on the PII API account and can read the PII API KEY secret value in Secrets Manager, which are all required to call the PII API.
Conclusion
The described setup is expected to facilitate easier interaction between CAIP and CDH datasets through a scalable architecture that leverages CDH-managed environments and role chaining. This approach will reduce the operational burden of managing CDH resources on CAIP and prepare the IAM layer for the migration to a Managed CAIP architecture.
Further Reading
- Read our Step-by-Step Guides about Setup the CDH Connection, Add/Remove CDH Datasets, and Accessing CDH Data.
- Read more about setting up IAM Permissions for CDH Resources in CDH Documentation.