在 Lambda 函数上使用标签
您可以标记 Amazon Lambda 函数以激活基于属性的访问权限控制 (ABAC) 并按所有者、项目或部门组织它们。标签是自由格式的键值对,在 Amazon 服务中受支持,可用于 ABAC、筛选资源和向账单报告添加详细信息。
标签应用在函数级别,而不是应用于版本或别名。标签不会包含在您发布版本时 Lambda 创建快照的版本特定配置的快照中。
使用标签所需的权限
为使用该函数的人员授予 Amazon Identity and Access Management (IAM) 身份(用户、组或角色)的适当权限:
-
lambda:ListTags – 当函数有标签时,将此权限授予任何需要在其上调用
GetFunction
或ListTags
的任何人。 -
lambda:TagResource – 将此权限授予需要调用
CreateFunction
或TagResource
的任何人。
有关更多信息,请参阅 Lambda 的基于身份的 IAM policy。
通过 Lambda 控制台使用标签
您可以使用 Lambda 控制台创建具有标签的函数、向现有函数添加标签以及按添加的标签筛选函数。
要在创建函数时添加标签
打开 Lamba 控制台的 Functions page
(函数页面)。 -
选择 Create function(创建函数)。
-
选择 Author from scratch(从头开始编写)或 Container image(容器映像)。
-
在 Basic information(基本信息)中,执行以下操作:
-
对于 Function name(函数名称),输入函数名称。函数名称的长度限制为 64 个字符。
-
对于Runtime(运行时),请选择函数使用的语言版本。
-
(可选)对于架构,选择要用于您的函数的指令集架构。默认架构为 x86_64。为您的函数构建部署包时,请确保它与您选择的指令集架构兼容。
-
-
展开 Advanced settings(高级设置),然后选择 Enable tags(启用标签)。
-
选择 Add new tag(添加新标签),然后输入 Key(键)和可选 Value(值)。要添加更多标签,请重复此步骤。
-
选择 Create function(创建函数)。
要将标签添加到现有函数
打开 Lamba 控制台的 Functions
(函数)页面。 -
选择一个函数的名称。
-
选择 Configuration(配置),然后选择 Tags(标签)。
-
在 Tags(标签)下,选择 Manage tags(管理标签)。
-
选择 Add new tag(添加新标签),然后输入 Key(键)和可选 Value(值)。要添加更多标签,请重复此步骤。
-
选择 Save(保存)。
使用标签过滤函数
打开 Lamba 控制台的 Functions
(函数)页面。 -
选择搜索栏以查看函数属性和标签键。
-
选择一个标签键以查看当前 Amazon 区域中正在使用的值的列表。
-
选择一个值以查看具有该值的函数,或者选择 (all values)(所有值)查看具有含有此键的标签的所有函数。
搜索栏还支持搜索标签键。输入 tag
以仅查看标签键列表,或输入键的名称以在列表中查找它。
通过 Amazon CLI 使用标签
添加和删除标签
要使用标签创建新的 Lambda 函数,请使用 create-function 命令及 --tags 选项。
aws lambda create-function --function-name
my-function
--handler index.js --runtime nodejs18.x \ --role arn:aws:iam::123456789012
:role/lambda-role
\ --tags Department=Marketing,CostCenter=1234ABCD
要将标签添加到现有函数,请使用 tag-resource 命令。
aws lambda tag-resource \ --resource arn:aws:lambda:
us-east-2:123456789012:function:my-function
\ --tags Department=Marketing,CostCenter=1234ABCD
要删除标签,请使用 untag-resource 命令。
aws lambda untag-resource --resource
arn:aws:lambda:us-east-1:123456789012:function:my-function
\ --tag-keysDepartment
查看函数上的标签
如果要查看应用于特定 Lambda 函数的标签,则可以使用以下任一 Amazon CLI 命令:
-
ListTags – 要查看与此函数关联的标签列表,请包含您的 Lambda 函数 ARN(Amazon 资源名称):
aws lambda list-tags --resource
arn:aws:lambda:us-east-1:123456789012:function:my-function
-
GetFunction – 要查看与此函数关联的标签列表,请包含您的 Lambda 函数名称:
aws lambda get-function --function-name
my-function
按标签筛选函数
您可以使用 Amazon Resource Groups Tagging API GetResources API 操作按标签筛选资源。GetResources
操作最多可接收 10 个筛选条件,每个筛选条件包含一个标签键和最多 10 个标签值。提供具有 ResourceType
的 GetResources
,可按特定资源类型进行筛选。
有关 Amazon Resource Groups 服务的更多信息,请参阅《Amazon Resource Groups 和标签用户指南》中的什么是资源组?。
标签的要求
以下要求适用于标签:
-
每个资源的最大标签数:50
-
最大键长度:128 个 Unicode 字符(采用 UTF-8 格式)
-
最大值长度:256 个 Unicode 字符(采用 UTF-8 格式)
-
标签键和值区分大小写。
-
请勿在标签名称或值中使用
aws:
前缀,因为它专为 Amazon 使用预留。您无法编辑或删除带此前缀的标签名称或值。具有此前缀的标签不计入每个资源的标签数限制。 -
如果计划在多个服务和资源中使用添加标签方案,请记得其他服务可能对允许使用的字符有其他限制。通常允许使用的字符包括:可用 UTF-8 格式表示的字母、空格和数字以及特殊字符 + - = . _ : / @。