如何通过命令行查找GCP Cloud Storage互通性中的Access/Secret密钥?
GCP Cloud Storage互通性密钥获取说明
GCP Cloud Storage的互通性Access/Secret密钥无法像AWS那样通过元数据服务器直接获取,核心原因是这类密钥属于长期兼容凭证,和AWS实例元数据提供的短期凭证逻辑完全不同,具体说明如下:
- 互通性密钥的创建逻辑:这类密钥是为兼容S3协议而设计的长期密钥,必须手动在GCP控制台或通过
gcloud命令创建,不会自动生成并存储在实例元数据中。 - 推荐的GCP凭证使用方式:如果在GCE实例上操作Cloud Storage,优先使用实例服务账号的短期凭证,无需手动管理密钥,获取方式:
- 通过
gcloud命令获取访问令牌:gcloud auth application-default print-access-token - 直接调用元数据服务器获取短期token(用于API调用):
curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" -H "Metadata-Flavor: Google"
- 通过
- 若必须使用互通性密钥(如兼容S3工具):需手动创建密钥后,通过安全渠道(如Secret Manager、实例自定义元数据)存储到实例上,再通过命令行读取。例如提前将密钥存入实例自定义元数据后,可通过以下命令读取:
# 读取Access Key curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/interop-access-key" -H "Metadata-Flavor: Google" # 读取Secret Key curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/interop-secret-key" -H "Metadata-Flavor: Google"
内容的提问来源于stack exchange,提问作者MrTux01
相关产品推荐
相关产品推荐

