View a markdown version of this page

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

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

使用管理 LF-Tag 权限 Amazon CLI

您可以使用 Amazon Command Line Interface (Amazon CLI) 授予、撤消和列出权限。 LF-Tags

列出 LF-Tag 权限 (Amazon CLI)
  • 输入 list-permissions 命令。您必须是 LF-Tag 创建者、数据湖管理员或拥有DropAlter、Describe、Associate、、Grant with LF-Tag permissions权限 LF-Tag 才能看到它。

    以下命令会请求 LF-Tags 您有权访问的所有内容。

    aws lakeformation list-permissions --resource-type LF_TAG

    以下是数据湖管理员的输出示例,他看到所有权限均 LF-Tags已授予所有委托人。 Non-administrative 用户只能看到 LF-Tags 授予他们的权限。 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)
  1. 输入类似以下的命令。此示例向用户授datalake_user1予使用密钥 LF-Tag 的Associate权限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 账户 1234-5678-9012 授权。 LF-Tag module它仅授予查看和分配值 sales 和 orders 的权限。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=123456789012 --permissions "ASSOCIATE" --permissions-with-grant-option "ASSOCIATE" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'
  2. 授予 GrantWithLFTagExpression 权限会隐式授予 Describe 权限。

    下一个示例使用密钥GrantWithLFTagExpression向用户授予权限module,并使用授予选项。 LF-Tag 它仅使用值 sales 和 orders 授予查看和授予对数据目录资源的权限。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "GrantWithLFTagExpression" --permissions-with-grant-option "GrantWithLFTagExpression" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["sales", "orders"]}}'
  3. 下一个示例 LF-Tag 使用 grant 选项向用户授予使用密钥module的Drop权限。它授予删除的权限 LF-Tag。要删除 LF-Tag,您需要拥有该密钥所有值的权限。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "DROP" --permissions-with-grant-option "DROP" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
  4. 下一个示例使用密钥module和 grant 选项向用户授予Alter权限。 LF-Tag 它授予删除的权限 LF-Tag。要更新 a LF-Tag,您需要拥有该密钥所有值的权限。

    aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=111122223333 --permissions "ALTER" --permissions-with-grant-option "ALTER" --resource '{ "LFTag": {"CatalogId":"111122223333","TagKey":"module","TagValues":["*"]}}'
撤消对 (的 LF-Tags 权限Amazon CLI)
  • 输入类似以下的命令。此示例撤消了用户 LF-Tag datalake_user1使用密钥module对的Associate权限。

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