Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GCP docker身份验证:如何使用gcloud比仅使用JSON密钥文件更安全?_Docker_Security_Google Cloud Platform - Fatal编程技术网

GCP docker身份验证:如何使用gcloud比仅使用JSON密钥文件更安全?

GCP docker身份验证:如何使用gcloud比仅使用JSON密钥文件更安全?,docker,security,google-cloud-platform,Docker,Security,Google Cloud Platform,建议gcloud比使用带有凭据的JSON文件更安全。我不同意。事实上,我要说的恰恰相反。我误解了什么 说: gcloud作为凭证助手(推荐) 配置您的工件注册表凭据,以便直接在gcloud中与Docker一起使用。如果可能,请使用此方法以安全、短期地访问项目资源。此选项仅支持Docker版本18.03或更高版本 其次是: JSON密钥文件 用户管理的密钥对,可以用作服务帐户的凭据。因为凭证是长期存在的,所以它是所有可用身份验证方法中最不安全的选项 JSON密钥文件包含一个私钥和其他让黑客长期访问

建议
gcloud
比使用带有凭据的JSON文件更安全。我不同意。事实上,我要说的恰恰相反。我误解了什么

说:

gcloud
作为凭证助手(推荐)

配置您的工件注册表凭据,以便直接在gcloud中与Docker一起使用。如果可能,请使用此方法以安全、短期地访问项目资源。此选项仅支持Docker版本18.03或更高版本

其次是:

JSON密钥文件

用户管理的密钥对,可以用作服务帐户的凭据。因为凭证是长期存在的,所以它是所有可用身份验证方法中最不安全的选项

JSON密钥文件包含一个私钥和其他让黑客长期访问的东西。王国的钥匙。但在这个实例中,只对工件存储库进行访问,因为JSON文件所针对的服务帐户仅具有这些权限

现在,
gcloud
有两个身份验证选项:

  • gcloud auth激活服务帐户帐户--密钥文件=密钥文件
  • gcloud身份验证登录
  • 让我们从
    gcloud
    和一个服务帐户开始:它在
    ~/.config/gcloud/credentials.db中以未加密的方式存储
    KEYFILE
    。使用JSON文件可以直接归结为
    docker login-u\u JSON\u key--password stdinhttps://some.server 
    KEYFILE
    内容存储在
    ~/.docker/config.json
    中。因此,将
    gcloud
    与服务帐户一起使用或直接使用JSON文件应该是等效的、安全的。它们都将相同的
    KEYFILE
    未加密存储在一个文件中

    gcloud auth login
    要求使用浏览器登录,我同意允许
    gcloud
    访问我的整个用户帐户。它不像服务帐户那样局限于工件存储库。查看
    sqlite3~/.config/gcloud/credentials.db.dump
    我可以看到它存储了
    access\u令牌
    ,但也存储了
    refresh\u令牌
    。如果黑客可以通过访问和刷新令牌访问
    ~/.config/gcloud/credentials.db
    ,那么他对系统的拥有程度不就如同他可以访问JSON文件一样吗?事实上,这更糟糕,因为我的用户帐户不仅限于访问工件注册表-现在用户可以访问我的用户可以访问的所有内容

    总而言之:
    gcloud auth login
    在安全方面充其量相当于使用JSON文件。但是,由于访问不限于工件注册表,事实上更糟


    你不同意吗?