HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //usr/local/aws-cli/v2/dist/awscli/examples/lakeformation/batch-grant-permissions.rst
**To bulk grant permissions on resources to the principals**

The following ``batch-grant-permissions`` example bulk grants access on specified resources to the principals. ::

    aws lakeformation batch-grant-permissions \
        --cli-input-json file://input.json

Contents of ``input.json``::

    {
        "CatalogId": "123456789111",
        "Entries": [{
                "Id": "1",
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer"
                },
                "Resource": {
                    "Table": {
                        "CatalogId": "123456789111",
                        "DatabaseName": "tpc",
                        "Name": "dl_tpc_promotion"
                    }
                },
                "Permissions": [
                    "ALL"
                ],
                "PermissionsWithGrantOption": [
                    "ALL"
                ]
            },
            {
                "Id": "2",
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer"
                },
                "Resource": {
                    "Table": {
                        "CatalogId": "123456789111",
                        "DatabaseName": "tpc",
                        "Name": "dl_tpc_customer"
                    }
                },
                "Permissions": [
                    "ALL"
                ],
                "PermissionsWithGrantOption": [
                    "ALL"
                ]
            },
            {
                "Id": "3",
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-business-analyst"
                },
                "Resource": {
                    "Table": {
                        "CatalogId": "123456789111",
                        "DatabaseName": "tpc",
                        "Name": "dl_tpc_promotion"
                    }
                },
                "Permissions": [
                    "ALL"
                ],
                "PermissionsWithGrantOption": [
                    "ALL"
                ]
            },
            {
                "Id": "4",
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::123456789111:user/lf-developer"
                },
                "Resource": {
                    "DataCellsFilter": {
                        "TableCatalogId": "123456789111",
                        "DatabaseName": "tpc",
                        "TableName": "dl_tpc_item",
                        "Name": "developer_item"
                    }
                },
                "Permissions": [
                    "SELECT"
                ],
                "PermissionsWithGrantOption": []
            }
        ]
    }

Output::

    {
        "Failures": []
    }

For more information, see `Granting and revoking permissions on Data Catalog resources <https://docs.aws.amazon.com/lake-formation/latest/dg/granting-catalog-permissions.html>`__ in the *AWS Lake Formation Developer Guide*.