使用标记
使用标记来组织,跟踪使用成本,甚至管理对资源和服务标识的访问权。 您可以标记相关资源,并通过从资源列表中按标签进行过滤,在您的整个账户中查看这些资源。
要查看您帐户中的完整标签列表,请前往 IBM Cloud® 控制面板中的管理> 帐户,然后选择标签。
您可以应用 用户标记 来组织资源和服务标识,并在以后轻松找到这些资源和服务标识。 用户标记还可以帮助您确定特定的团队使用情况或成本分配。 通过创建 访问管理标记,您可以控制对资源和服务标识的访问,而无需更新 IAM 策略。
标记类型
有三种类型的标记: 服务,用户和访问权管理。
- 用户标记
- 用户标记由帐户中的授权用户添加到资源或服务标识。 在资源中添加用户标签,以便组织、跟踪和管理相关资源的成本。 当您使用一致的标记方案来识别哪些资源与特定团队相关时,您可以在分析导出使用情况报告中的成本时,根据这些标记进行分组和筛选。
请考虑使用项目来跨帐户组织和跟踪资源。 通过部署项目创建的资源会自动附加具有项目标识和配置标识的服务标记。 这样,您就不必随便管理标记相关资源。
- 服务标记
- 服务标记由服务附加。 任何用户都无权附加或拆离资源上的服务标记,即使他们有权管理资源上的标记也是如此。
通过部署项目创建的资源将自动使用项目标识和配置标识进行标记,该标识在使用情况报告中可用。 使用项目可帮助您跟踪项目的支出。 有关更多信息,请参阅 跟踪项目的使用情况和支出。
- 访问权管理标记
- 访问权管理标记用于管理对资源的访问权。 可以预先创建它们以在访问策略中使用,这将授予对附加了访问管理标记的资源的访问权。 只有帐户管理员才能创建访问权管理标记,并且仅当这些标记未附加到帐户中的任何资源时才能将其删除。 只有资源管理员才能在资源本身上附加和拆离访问管理标记。
标记规则
标签不区分大小写,任何大写字母都会转换为小写字母,标签的最大长度为 128 个字符。 允许的字符为 A-Z、0-9、空格、下划线、连字符、句点和冒号。 访问管理标记唯一受支持的格式为 key:value
。 使用冒号会将标记格式化为将两个逻辑部分 (如 env:dev
对) 隔离开的字符串。 多个标签之间用逗号隔开,不能在标签名称中使用。
标记是可见的帐户范围内的标记,可跨地理区域复制。 由于标记是不受监管的信息,因此请避免创建使用个人信息的标记,例如您的姓名,地址,电话号码,电子邮件地址或其他标识或专有信息。
样本标记和语法
您可以应用标记来帮助您组织和管理资源,服务标识和访问策略。 请将编写标记视为 key:value
对,以帮助协调整个组织中的开发环境、项目、合规性和优化。 请参阅下表以获取您可能要使用的一些标记示例。
标记 | 描述 |
---|---|
env:dev , env:test , env:stage , env:prod |
用于识别甚至管理对开发环境的访问权 |
project:lw-wizard , app:poc-app |
用于识别甚至管理对项目的访问权 |
dataresidency:germany , compliance:hipaa , compliance:pii |
用于定义合规性需求 |
schedule:24x7 , maxruntime:12days |
用于帮助您自动优化 |
创建标记
在控制台中创建访问权管理标记
需要先创建访问权管理标记,然后才能将这些标记附加到各个资源或服务标识。 要创建访问管理标签,您必须在所有账户管理服务中拥有管理员角色。
IBM Cloud® 允许每个帐户最多 250 个访问管理标记。
- 转至 IBM Cloud® 控制台中的 管理 > 帐户,然后选择 标记。
- 点击访问管理标签。
- 输入标记的名称,然后单击 创建标记。 这些标记现在已准备好附加到资源或服务标识以及作用域访问策略。
接下来,请参阅 连接和拆离标记。 有关完整教程,请参阅 使用标记控制对资源的访问。
使用 CLI 创建访问权管理标记
需要先创建访问权管理标记,然后才能将这些标记附加到各个资源或服务标识。 要创建访问管理标签,你需要在所有账户管理服务上都拥有管理员角色。
IBM Cloud® 允许每个帐户最多 250 个访问管理标记。
-
登录 IBM Cloud CLI。 如果您有多个帐户,系统会提示您选择要使用的帐户。 如果未使用
-r
标志指定区域,那么还必须选择区域。ibmcloud login
如果凭证被拒绝,说明您可能使用的是联合标识。 要使用联合标识登录,请使用
--sso
标志。 有关更多详细信息,请参阅使用联合标识进行登录。如果是首次使用 IBM Cloud CLI,请查看 入门教程。
-
输入
ibmcloud resource tag-create
命令以在帐户中创建访问权管理标记。 此示例创建名为project:myproject
的标记:ibmcloud resource tag-create --tag-names project:myproject
有关更多信息,请参阅 ibmcloud resource
命令参考。
接下来,请参阅 连接和拆离标记。
使用 API 创建访问管理标记
需要先创建访问权管理标记,然后才能将这些标记附加到各个资源或服务标识。 要创建访问管理标签,你需要在所有账户管理服务上都拥有管理员角色。
IBM Cloud® 允许每个帐户最多 250 个访问管理标记。
您可以通过调用 全局搜索和标记-标记 API 以编程方式创建访问管理标记,如以下样本请求中所示。 此示例创建名为 project:myproject
的标记。
curl -X POST -H "Authorization: {iam_token}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{ "tag_names": ["project:myproject"] }' \
"tags.global-search-tagging.cloud.ibm.com/v3/tags?tag_type=access"
CreateTagOptions createTagOptions = new CreateTagOptions.Builder()
.addTagNames("project:myproject")
.tagType("access")
.build();
Response<CreateTagResults> response = service.createTag(createTagOptions).execute();
CreateTagResults createTagResults = response.getResult();
System.out.println(createTagResults);
const params = {
tagNames: ['project:myproject'],
tagType: 'access',
};
globalTaggingService.createTag(params)
.then(res => {
console.log(JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.warn(err)
});
create_tag_results = global_tagging_service.create_tag(
tag_names=['project:myproject'],
tag_type='access').get_result()
print(json.dumps(create_tag_results, indent=2))
createTagOptions := globalTaggingService.NewCreateTagOptions(
[]string{"project:myproject"},
)
createTagOptions.SetTagType("access")
createTagResults, response, err := globalTaggingService.CreateTag(createTagOptions)
if err != nil {
panic(err)
}
b, _ := json.MarshalIndent(createTagResults, "", " ")
fmt.Println(string(b))
接下来,请参阅 连接和拆离标记。
使用 Terraform 创建访问管理标记
在您可以使用 Terraform 创建访问权管理标记之前,请确保您已完成以下操作:
- 安装 Terraform CLI 并为 Terraform 配置 IBM Cloud 提供程序插件。 有关更多信息,请参阅 Terraform on IBM Cloud®入门 教程。 该插件对用于完成此任务的 IBM Cloud API 进行抽象。
- 创建一个名为
main.tf
的Terraform配置文件。 在此文件中,您使用 HashiCorp 配置语言来定义资源。 有关更多信息,请参阅 Terraform 文档。 - 需要先创建访问权管理标记,然后才能将这些标记附加到各个资源或服务标识。 要创建访问管理标签,你需要在所有账户管理服务上都拥有管理员角色。
IBM Cloud® 允许每个帐户最多 250 个访问管理标记。
使用以下步骤通过 Terraform 创建访问管理标记:
-
在
main.tf
文件中创建自变量。 以下示例针对资源标识ibm_satellite_location.location.crn
的ibm
资源创建访问管理标记ibm_tag
。resource "ibm_resource" "ibm" { resource_id = ibm_satellite_location.location.crn tags = [ "ibm_tag" ] }
-
完成构建配置文件后,初始化 Terraform CLI。 有关更多信息,请参阅 初始化工作目录。
terraform init
-
从
main.tf
文件供应资源。 有关更多信息,请参阅 使用 Terraform 供应基础架构。-
运行
terraform plan
以生成 Terraform 执行计划来预览建议的操作。terraform plan
-
运行
terraform apply
以创建计划中定义的资源。terraform apply
-
针对经销商进行标记
所有账户成员均可查看所有标签。 要查看访问权管理标记的策略,必须至少为用户分配对标记的资源的查看者角色。 如果您的帐户与不同的组织相关联,例如,如果您是经销商,那么您可能希望建议客户不要将敏感信息存储在标记中。
要控制标记可见性,请广泛传阅标记准则,让用户知道标记是在整个帐户范围内可见。
请使用代码而不要使用客户和帐户的名称,并避免将敏感信息放在标记中。