Amazon Glue 中的 Amazon 标签 - Amazon Glue
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon Glue 中的 Amazon 标签

为了便于您管理 Amazon Glue 资源,您可以选择将自己的标签分配给某些 Amazon Glue 资源类型。标签是为Amazon资源分配的标记。每个标签都包含定义的一个键 和一个可选值。您可以在 Amazon Glue 中使用标签来组织和标识资源。标签可用于创建成本会计报告并限制对资源的访问。如果您使用的是 Amazon Identity and Access Management,则可以控制 Amazon 账户中的哪些用户拥有创建、编辑或删除标签的权限。除了调用标签相关的 API 的权限外,您还需要在连接上调用标记 API 的 glue:GetConnection 权限以及对数据库调用标记 API 的 glue:GetDatabase 权限。有关更多信息,请参阅 ABAC用 Amazon Glue

在 Amazon Glue 中,您可以为以下资源添加标签:

  • Connection

  • 数据库

  • 爬网程序

  • 交互式会话

  • 开发终端节点

  • 任务

  • 触发器

  • 工作流

  • 蓝图

  • 机器学习转换

  • 数据质量规则集

  • 流架构

  • 流架构注册表

注意

作为最佳实践,要允许标记这些 Amazon Glue 资源,请始终在您的策略中包含 glue:TagResource 操作。

在将标签用于 Amazon Glue 时注意以下事项。

  • 每个实体支持最多 50 个标签。

  • 在 Amazon Glue 中,您可以将标签指定为格式为 {"string": "string" ...} 的键值对列表

  • 在对象上创建标签时,标签键是必需的,而标签值是可选的。

  • 标签键和标签值区分大小写。

  • 标签键和标签值不得包含前缀 aws。禁止对此类标签进行操作。

  • 最大标签键长度为 128 个 Unicode 字符 (采用 UTF-8 格式)。标签键不得为空或为 null。

  • 最大标签值长度为 256 个 Unicode 字符 (采用 UTF-8 格式)。标签值可以为空或为 null。

对 Amazon Glue 连接的标记支持

您可以根据资源标签限制 CreateConnectionUpdateConnectionGetConnectionDeleteConnection 操作权限。这使您能够对需要从数据目录获取 JDBC 连接信息的 JDBC 数据源 Amazon Glue 任务实施最低权限访问控制。

示例用法

创建带有标签 ["connection-category", "dev-test"](“连接-类别”,“开发-测试”)的 Amazon Glue 连接。

为 IAM policy 中的 GetConnection 操作指定标签条件。

{ "Effect": "Allow", "Action": [ "glue:GetConnection" ], "Resource": "*", "Condition": { "ForAnyValue:StringEquals": { "aws:ResourceTag/tagKey": "dev-test" } } }

示例

以下示例创建一个具有分配的标签的作业。

Amazon CLI

aws glue create-job --name job-test-tags --role MyJobRole --command Name=glueetl,ScriptLocation=S3://aws-glue-scripts//prod-job1 --tags key1=value1,key2=value2

Amazon CloudFormation JSON

{ "Description": "AWS Glue Job Test Tags", "Resources": { "MyJobRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "Policies": [ { "PolicyName": "root", "PolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "*", "Resource": "*" } ] } } ] } }, "MyJob": { "Type": "AWS::Glue::Job", "Properties": { "Command": { "Name": "glueetl", "ScriptLocation": "s3://aws-glue-scripts//prod-job1" }, "DefaultArguments": { "--job-bookmark-option": "job-bookmark-enable" }, "ExecutionProperty": { "MaxConcurrentRuns": 2 }, "MaxRetries": 0, "Name": "cf-job1", "Role": { "Ref": "MyJobRole", "Tags": { "key1": "value1", "key2": "value2" } } } } } }

Amazon CloudFormation YAML

Description: AWS Glue Job Test Tags Resources: MyJobRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: - glue.amazonaws.com Action: - sts:AssumeRole Path: "/" Policies: - PolicyName: root PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: "*" Resource: "*" MyJob: Type: AWS::Glue::Job Properties: Command: Name: glueetl ScriptLocation: s3://aws-glue-scripts//prod-job1 DefaultArguments: "--job-bookmark-option": job-bookmark-enable ExecutionProperty: MaxConcurrentRuns: 2 MaxRetries: 0 Name: cf-job1 Role: Ref: MyJobRole Tags: key1: value1 key2: value2

有关更多信息,请参阅 Amazon 标记策略

有关如何使用标签控制访问的信息,请参阅 ABAC用 Amazon Glue