token create
token create
命令创建一个可用于身份验证的新令牌。这个新令牌将成为当前使用的已经身份验证的令牌的子代。生成的令牌将继承当前使用的令牌的所有策略和权限,除非显式定义了要分配给令牌的策略列表的子集。
令牌也可以关联 ttl。如果令牌未关联 ttl,则无法续约。如果令牌关联了 ttl,它将在该时间之后过期,除非被续约。
使用令牌时,与令牌关联的元数据(用 -metadata
指定)会被写入审计日志。
如果指定了角色,则该角色可以覆盖该命令指定的参数。
例子
创建关联了指定策略的令牌:
$ vault token create -policy=my-policy -policy=other-policy
Key Value
--- -----
token 95eba8ed-f6fc-958a-f490-c7fd0eda5e9e
token_accessor 882d4a40-3796-d06e-c4f0-604e8503750b
token_duration 768h
token_renewable true
token_policies [default my-policy other-policy]
创建一个周期性(periodic)令牌:
$ vault token create -period=30m
Key Value
--- -----
token fdb90d58-af87-024f-fdcd-9f95039e353a
token_accessor 4cd9177c-034b-a004-c62d-54bc56c0e9bd
token_duration 30m
token_renewable true
token_policies [my-policy]
可用标志
除了全局可用的标准标志以外,也可以配置下列标志:
输出选项
-field
(string: "")
只打印指定字段的数据。此选项优先级高于其他格式指令。信息的尾部没有换行符,使其适合通过管道与其他进程集成使用。-format
(string: "table")
—— 以给定格式打印输出。合法的格式有:table
、json
或者yaml
。该标志也可以通过环境变量VAULT_FORMAT
来设定。
命令选项
-display-name
(string: "")
- 关联此令牌的名字。这是一个非敏感信息,可以用来识别创建的机密(例如前缀)。-entity-alias
(string: "")
- 关联此令牌的实体别名的名称。只能和-role
参数结合使用,使用的实体别名必须列在 allowed_entity_aliases 中。如果已指定,则不会从父级继承实体。-explicit-max-ttl
(duration: "")
- 显式设置令牌的最大生命周期。它与普通 TTL 不同,最大 TTL 是硬限制,无法超越(意为该参数与最大 TTL 取其小者)。该参数的值需要是后缀为“30s”或“5m”的字符串。-id
(string: "")
- 令牌的值。默认情况下会自动生成一个值。设定该标志需要有sudo
权限。-no-default-policy
(bool: false)
- 不给该令牌分配 "default" 策略。-orphan
(bool: false)
- 创建没有父令牌的新令牌。该参数可以防止创建新令牌的令牌过期时新令牌被级联吊销。设定该标志需要有sudo
权限。-period
(duration: "")
- 如果指定该标志,每次续订都将使用给定的时长。只要定期主动续约令牌,它们就不会过期(除非还提供了-explicit-max-ttl
)。设置此值需要sudo
权限。该参数的值需要是后缀为“30s”或“5m”的字符串。-policy
(string: "")
- 关联此令牌的策略名称。可以通过多次使用该选项来指定多个策略。-renewable
(bool: true)
- 是否允许续约该令牌直至它的最大 TTL。-role
(string: "")
- 要创建的令牌配置的角色的名称。指定-role
可能会覆盖其他参数。创建令牌所使用的本地的经过身份验证的 Vault 令牌必须具有auth/token/create/<role>
的权限。-ttl
(duration: "")
- 令牌关联的初始 TTL。令牌实际续约时间可能会超出此值,具体取决于配置的最大 TTL。该参数的值需要是后缀为“30s”或“5m”的字符串。-type
(string: "service")
- 创建的令牌的类型。可以是service
或是batch
。-use-limit
(int: 0)
- 该参数可被使用的次数。过了该次数后,令牌会被自动吊销。默认情况下创建的令牌可以无限制地使用直至过期。