本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Databricks 服务负责人 OAuth 客户机密钥
秘密值字段
以下是 Secrets Manager 密钥中必须包含的字段:
{
"accountId": "Databricks account UUID",
"servicePrincipalId": "Numeric service principal ID",
"clientId": "Service principal application UUID",
"clientSecret": "dose followed by the secret value",
"oauthSecretId": "Hexadecimal OAuth secret ID"
}
- accountId
-
您的Databricks账户 ID,这是一个 UUID。
- 服务 PrincipalId
-
服务主体的数字内部 ID。此值与应用程序 ID 不同。
- clientId
-
服务主体的应用程序 ID。Secrets Manager 会像
client_id在 OAuth 请求中一样发送它。 - 客户机密
-
当前 OAuth 客户端密钥。Secrets Manager 会轮换此字段。
- oauth SecretId
-
当前 OAuth 密钥的 Databricks ID。Secrets Manager 使用它来读取当前密钥的作用域并删除它所替换的密钥。
机密元数据字段
以下是Databricks服务主体 OAuth 客户端密钥的元数据字段:
{ "adminSecretArn": "arn:aws:secretsmanager:us-east-1:111122223333:secret:DatabricksAdminServicePrincipal", "secretLifetimeDays": "730" }
- 管理员 SecretArn
-
(可选)轮换此密钥的另一个类型为 databrickssSpSecret 的密钥的亚马逊资源名称 (ARN)。省略此字段可让服务主体轮换自己的密钥。
- 秘密 LifetimeDays
-
(可选)每个新密钥的生命周期,以天为单位。该值必须大于您的旋转间隔。最大值为 730。默认值:730。
使用流程
此旋转类型支持两种模式。在自我轮换中,服务主体会轮换自己的秘密。在辅助轮换中,第二个服务主体对其进行轮换。执行轮换的服务主体需要该account_admin角色,因为 OAuth 密钥端点是账户级别的。
您可以使用CreateSecret调用来创建您的密钥,其密钥值包含上述字段,密钥类型为 dataBricksSpSecret。可以使用RotateSecret呼叫来设置轮换配置。如果您选择自旋转,则可以省略可选adminSecretArn字段。您必须在RotateSecret调用中提供角色 ARN,该角色向服务授予轮换密钥所需的权限。有关权限策略的示例,请参阅安全和权限。
在轮换期间,Secrets Manager 使用客户端凭证流程请求访问令牌。它会创建一个替换密钥,其中包含它所替换的密钥的范围,并将替换密钥存储为 AWSPENDING。它确认新机密已通过验证。然后,它会删除之前的密钥并将 AWSPENDING 提升为 AWSCURRENT。
一个服务主体最多支持五个 OAuth 密钥。如果服务主体已经持有五个,则Databricks拒绝请求并且轮换失败。在再次轮换之前,请删除未使用的密钥。
此类型所需的account_admin角色不同于Databricks个人访问令牌轮换所需的工作空间访问权限。单笔赠款并不能涵盖这两个资金流。