本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 连接的标记支持
您可以根据资源标签限制 CreateConnection
、UpdateConnection
、GetConnection
和 DeleteConnection
操作权限。这使您能够对需要从数据目录获取 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。