架构注册表入门
以下部分概述和演示了如何设置和使用架构注册表。有关架构注册表概念和组件的信息,请参阅Amazon Glue 架构注册表。
主题
用于序列化程序的 IAM 示例
注意
Amazon 托管策略将授予针对常用使用案例的必要权限。有关使用托管策略管理模式注册表的信息,请参阅适用于 Amazon Glue 的 Amazon 托管(预定义)策略。
对于序列化程序,您应该创建类似如下的最低策略,以便您能够找到针对指定架构定义的 schemaVersionId
。请注意,您应该对注册表具有读取权限,以便读取注册表中的架构。您可以使用 Resource
子句,限制可以读取的注册表。
代码示例 13:
{ "Sid" : "GetSchemaByDefinition", "Effect" : "Allow", "Action" : [ "glue:GetSchemaByDefinition" ], "Resource" : ["arn:aws:glue:us-east-2:012345678:registry/registryname-1", "arn:aws:glue:us-east-2:012345678:schema/registryname-1/schemaname-1", "arn:aws:glue:us-east-2:012345678:schema/registryname-1/schemaname-2" ] }
此外,您还可以允许创建者包括以下额外的方法,以创建新的架构和版本。请注意,您应该能够检查注册表,以便添加/删除/演变其中的架构。您可以使用 Resource
子句,限制可以检查的注册表。
代码示例 14:
{ "Sid" : "RegisterSchemaWithMetadata", "Effect" : "Allow", "Action" : [ "glue:GetSchemaByDefinition", "glue:CreateSchema", "glue:RegisterSchemaVersion", "glue:PutSchemaVersionMetadata", ], "Resource" : ["arn:aws:glue:
aws-region
:123456789012:registry/registryname-1", "arn:aws:glue:aws-region
:123456789012:schema/registryname-1/schemaname-1", "arn:aws:glue:aws-region
:123456789012:schema/registryname-1/schemaname-2" ] }
用于反序列化程序的 IAM 示例
对于反序列化程序(使用者端),您应创建类似如下的策略,以允许反序列化程序从架构注册表中获取架构以进行反序列化。请注意,您应该能够检查注册表,以便获取其中的架构。
代码示例 15:
{ "Sid" : "GetSchemaVersion", "Effect" : "Allow", "Action" : [ "glue:GetSchemaVersion" ], "Resource" : ["*"] }
使用 Amazon PrivateLink 的私有连接
您可以使用 Amazon PrivateLink 将您的数据创建者的 VPC 连接到 Amazon Glue,方法是为 Amazon Glue 定义接口 VPC 终端节点。当您使用 VPC 接口端点时,您的 VPC 与 Amazon Glue 之间的通信完全在 Amazon 网络内进行。有关更多信息,请参阅将 Amazon Glue 与接口 VPC 终端节点一起使用。