Register an AWS Lake Formation Connection
Last updated
Was this helpful?
Last updated
Was this helpful?
. The account in which this is set up is referred to as the admin account. This is the account that you will use to initially configure IAM and AWS Lake Formation permissions to give the Immuta service principal access to perform operations. The user in this account must be able to manage IAM permissions and Lake Formation permissions for all data in the Glue Data Catalog.
No AWS Lake Formation connections configured in the same Immuta instance for the same Glue Data Catalog.
The databases and tables you want Immuta to govern must be . Immuta cannot govern resources that use IAM access control or hybrid access mode.
: is the best approach for user provisioning because it treats users as users, not users as roles. Consequently, access controls are enforced for the querying user, nothing more. This approach eliminates over-provisioning and permits granular access control. Furthermore, IDC uses trusted identity propagation, meaning AWS propagates a user's identity wherever that user may operate within the AWS ecosystem. As a result, a user's identity always remains known and consistent as they navigate across AWS services, which is a key requirement for organizations to properly govern that user. Enabling IDC does not impact any existing access controls; it is additive. See the for instructions on mapping users from AWS IDC to user accounts in Immuta.
APPLICATION_ADMIN
Immuta permission to register the connection
The AWS account credentials or you provide for the must have permissions to perform the following actions to register data and apply policies:
glue:GetDatabase
glue:GetTables
glue:GetDatabases
glue:GetTable
lakeformation:ListPermissions
lakeformation:BatchGrantPermissions
lakeformation:BatchRevokePermissions
lakeformation:CreateLFTag
lakeformation:UpdateLFTag
lakeformation:DeleteLFTag
lakeformation:AddLFTagsToResource
lakeformation:RemoveLFTagsFromResource
The Immuta service principal is the to perform operations in your AWS account. This role must have all the necessary permissions in AWS Glue and AWS Lake Formation to allow Immuta to register data sources and apply policies.
Add the following IAM permissions to the service principal from the admin account. These permissions will allow the service principal to register data sources and apply policies on Immuta's behalf.
Grant the service principal permissions on any tables that will be registered in Immuta. There are two ways to give the service principal these permissions: either make a new LF-Tag that gives the appropriate permissions and apply it to all databases or tables that Immuta will manage, or make the role a superuser in Lake Formation.
This method follows the principle of least privilege and is the most flexible way of granting permissions to the service principal. LF-Tags cascade down from databases to tables, while allowing for exceptions. This means that when you apply this tag to a database, it will automatically apply to all tables within that database and allow you to remove it from any tables if those should be out of the scope of Immuta’s governance.
Create a new LF-Tag, giving yourself permissions to grant that tag to a user, which will ultimately be your service principal.
In the Lake Formation console, navigate to LF-Tags and permissions and click Add LF-Tag.
Create a tag key and value.
On the LF-Tag key-value pair, grant the ASSOCIATE
LF-tag permission to your own IAM principal.
Grant this tag to the Immuta service principal.
In the Lake Formation console, navigate to Data permissions and click Grant.
Enter the service principal’s IAM role.
Add the key-value pair of the tag you created in step 1.
Under Table Permissions, select the following grantable permissions: SELECT
, DESCRIBE
, INSERT
, DELETE
.
Click Grant.
Click Data and select Connections in the navigation menu.
Click the + Add Connection button.
Select the AWS Lake Formation tile.
Enter the host connection information:
Display Name: This is the name of your new connection. This name will be used in the API (connectionKey
), in data source names from the host, and on the connections page.
AWS Glue Catalog ARN: The Amazon resource name of the Glue Data Catalog that contains the data you want to register and protect.
AWS Account ID: The ID of the AWS account associated with the Glue Data Catalog.
AWS Region: The region of the AWS account associated with the Glue Data Catalog.
Click Next.
Select an authentication method from the dropdown menu.
AWS IAM Role (recommended): Immuta will assume this IAM role from Immuta's AWS account in order to perform any operations in your AWS account. Before proceeding, contact your Immuta representative for the AWS account to add to your trust policy. Then, complete the steps below.
Enter the role ARN in the AWS IAM Role field. Immuta will assume this role when interacting with AWS.
Ensure that you have the correct permissions and click Validate Connection.
If the connection is successful, click Next. If there are any errors, check the connection details and credentials to ensure they are correct and try again.
Ensure all the details are correct in the summary and click Complete Setup.
Requirement: USER_ADMIN
Immuta permission
Map AWS IAM principals to each Immuta user to ensure Immuta properly enforces policies.
Click People and select Users in the navigation menu.
Click the user's name to navigate to their page and scroll to the External User Mapping section.
Click Edit in the AWS User row.
AWS Identity Center user IDs: You must use the numeric User ID
value found in AWS IAM Identity Center, not the user's email address.
Unset (fallback to Immuta username): When selecting this option, the AWS username is assumed to be the same as the Immuta username.
Click Save.
(select AWS account as the trusted entity type) that can be used by Immuta to set up the connection and orchestrate AWS Lake Formation policies. Immuta will assume this IAM role from Immuta's AWS account in order to perform any operations in your AWS account. Before proceeding, contact your Immuta representative for the AWS account to add to your trust policy. Then, complete the steps below.
The Immuta service principal will now have the minimum required permissions on these resources.
Follow the to grant ALL
permissions to the DataLakePrincipalIdentifier
for the Immuta service principal ARN.
AWS Access Key and Secret Access Key: Provide the access key ID and secret access key for an AWS account with the .
Set the external ID provided in a condition on the trust relationship for the cross-account IAM specified above. See the for guidance.
Use the dropdown menu to select the User Type. User and role names are case-sensitive. See the for details.
: Only a single Immuta user can be mapped to an IAM role. This restriction prohibits enforcing policies on AWS users who could assume that role. Therefore, if using role principals, create a new user in Immuta that represents the role so that the role then has the permissions applied specifically to it.
See the for details about supported principals.