将 GCP 服务帐户密钥传递给 GKE pods
Passing GCP service account key to GKE pods
我在 TF (0.11.14
) 中创建了一个 GCP 角色,将其附加到一个服务帐户,并为后者创建了一个密钥,如下所示:
resource "google_service_account_key" "my_service_account_key" {
service_account_id = "${google_service_account.my_service_account.id}"
}
然后我将 private_key
作为输出,如下所示:
output "my_service_account_private_key" {
value = "${google_service_account_key.my_service_account_key.private_key}"
sensitive = true
}
它给我打印了一个很长的字符串,例如
ewogICJK49fo34KFo4 .... 49k92kljg==
假设该角色具有对 GCS 存储桶启用 read/write 的权限,我如何将上述凭据/私钥传递给 (GKE) pod/部署,以便授予 pods特定的服务帐户(因此能够执行相应权限允许的操作,例如读取/写入存储桶)?
您的主要步骤是
- 创建一个服务帐户。
- 为您的服务帐户提供必要的角色以使用 GCS 存储桶。
- 将帐户密钥保存为 Kubernetes Secret。
- 使用服务帐户配置和部署应用程序。
我相信您已完成第 1 步和第 2 步。我研究了两个示例 (1, ),它们可能对其余步骤有所帮助。
我在 TF (0.11.14
) 中创建了一个 GCP 角色,将其附加到一个服务帐户,并为后者创建了一个密钥,如下所示:
resource "google_service_account_key" "my_service_account_key" {
service_account_id = "${google_service_account.my_service_account.id}"
}
然后我将 private_key
作为输出,如下所示:
output "my_service_account_private_key" {
value = "${google_service_account_key.my_service_account_key.private_key}"
sensitive = true
}
它给我打印了一个很长的字符串,例如
ewogICJK49fo34KFo4 .... 49k92kljg==
假设该角色具有对 GCS 存储桶启用 read/write 的权限,我如何将上述凭据/私钥传递给 (GKE) pod/部署,以便授予 pods特定的服务帐户(因此能够执行相应权限允许的操作,例如读取/写入存储桶)?
您的主要步骤是
- 创建一个服务帐户。
- 为您的服务帐户提供必要的角色以使用 GCS 存储桶。
- 将帐户密钥保存为 Kubernetes Secret。
- 使用服务帐户配置和部署应用程序。
我相信您已完成第 1 步和第 2 步。我研究了两个示例 (1,