使用Amazon CLI - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用Amazon CLI

您可以通过使用Amazon Command Line Interface(Amazon CLI)。

要列出 lf-tag 权限 (Amazon CLI)

  • 输入list-permissions命令。你必须是数据湖管理员或者拥有DESCRIBE要么ASSOCIATE允许 LF-tag 查看它。

    以下命令请求您拥有权限的所有 LF-Tags。

    aws lakeformation list-permissions --resource-type LF_TAG

    以下是数据湖管理员的示例输出,该管理员可以看到授予所有委托人的所有 LF-Tag。非管理员用户只能看到授予他们的 LF 标签。从外部账户授予的 LF-tag 权限将显示在单独的结果页面上。要查看它们,请重复该命令并提供--next-token参数中返回的标记从上次命令运行中返回的令牌。

    {
        "PrincipalResourcePermissions": [
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_admin"
                },
                "Resource": {
                    "LFTag": {
                        "CatalogId": "111122223333",
                        "TagKey": "environment",
                        "TagValues": [
                            "*"
                        ]
                    }
                },
                "Permissions": [
                    "ASSOCIATE"
                ],
                "PermissionsWithGrantOption": [
                    "ASSOCIATE"
                ]
            },
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
                },
                "Resource": {
                    "LFTag": {
                        "CatalogId": "111122223333",
                        "TagKey": "module",
                        "TagValues": [
                            "Orders",
                            "Sales"
                        ]
                    }
                },
                "Permissions": [
                    "DESCRIBE"
                ],
                "PermissionsWithGrantOption": []
            },
    ...
        ],
        "NextToken": "eyJzaG91bGRRdWVy...Wlzc2lvbnMiOnRydWV9"
    }
    
    

    您可以列出特定 LF-tag 密钥的所有授权。以下命令返回对 lf-tag 授予的所有权限module.

    aws lakeformation list-permissions --resource-type LF_TAG --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'

    您还可以列出授予特定 LF-Tag 的特定委托人的 LF-Tag 值。当提供--principal参数,你必须提供--resource参数。因此,该命令只能有效地请求授予特定委托人的值以获得特定 LF-tag 密钥。以下命令说明如何为委托人执行此操作:datalake_user1和 lf-tag 密钥module.

    aws lakeformation list-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --resource-type LF_TAG --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'

    下面是示例输出。

    {
        "PrincipalResourcePermissions": [
            {
                "Principal": {
                    "DataLakePrincipalIdentifier": "arn:aws:iam::111122223333:user/datalake_user1"
                },
                "Resource": {
                    "LFTag": {
                        "CatalogId": "111122223333",
                        "TagKey": "module",
                        "TagValues": [
                            "Orders",
                            "Sales"
                        ]
                    }
                },
                "Permissions": [
                    "ASSOCIATE"
                ],
                "PermissionsWithGrantOption": []
            }
        ]
    }

要授予 LF-Tags 的权限 (Amazon CLI)

  • 输入类似以下的命令。此示例授予用户datalake_user1ASSOCIATE使用密钥对 LF-tag 的权限module. 它授予查看和分配该密钥的所有值的权限,如星号 (*) 所示。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'

    授予ASSOCIATE权限隐式授予DESCRIBE权限。

    下一个示例授予ASSOCIATE到外部Amazon带钥匙的 LF 标签上的账户 1234-5678-9012module,带有赠款选项。它授予仅查看和分配值的权限salesorders.

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "ASSOCIATE" --permissions-with-grant-option "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'

撤消对 LF-Tags 的权限 (Amazon CLI)

  • 输入类似以下的命令。此示例撤消了ASSOCIATE使用密钥对 LF-tag 的权限module来自用户datalake_user1.

    aws lakeformation revoke-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'