Google cloud platform Bigquery:服务帐户json文件和应用程序默认凭据json文件之间有什么区别?

Google cloud platform Bigquery:服务帐户json文件和应用程序默认凭据json文件之间有什么区别?,google-cloud-platform,google-bigquery,Google Cloud Platform,Google Bigquery,我很想知道服务帐户json文件和应用程序默认凭据json文件(GCP)之间是否有任何区别?区别在于一个是凭据,另一个是查找凭据的策略 服务帐户凭据是授权Google API请求的推荐方法。这些凭证存储在一个文件(JSON或P12)中。但是,在某些服务(如计算引擎)下运行时,会自动为实例创建凭据,并通过元数据服务器使其可用 应用程序默认凭据(ADC)将搜索Credentail 如果设置了环境变量GOOGLE\u APPLICATION\u CREDENTIALS,则ADC将使用该文件作为变量指向的

我很想知道服务帐户json文件和应用程序默认凭据json文件(GCP)之间是否有任何区别?区别在于一个是凭据,另一个是查找凭据的策略

服务帐户凭据是授权Google API请求的推荐方法。这些凭证存储在一个文件(JSON或P12)中。但是,在某些服务(如计算引擎)下运行时,会自动为实例创建凭据,并通过元数据服务器使其可用

应用程序默认凭据(ADC)将搜索Credentail

  • 如果设置了环境变量
    GOOGLE\u APPLICATION\u CREDENTIALS
    ,则ADC将使用该文件作为变量指向的凭据
  • 如果未设置该变量,则在计算引擎、应用程序引擎、Kubernetes引擎或云函数上运行时将使用默认服务帐户
  • 如果前两个步骤未能找到有效凭据,ADC将失败并发生错误

    使用环境变量指定服务帐户凭据:

    export GOOGLE_APPLICATION_CREDENTIALS="/mysecretpath/service_account.json"
    
    from google.cloud import storage
    client = storage.Client()
    
    ADC将自动从
    GOOGLE\u应用程序\u凭据加载凭据

    从json加载凭据(Python示例):

    正在计算引擎上加载服务帐户默认凭据:

    from google.auth import compute_engine
    from google.cloud import storage
    credentials = compute_engine.Credentials()
    client = storage.Client(credentials=credentials, project=project)
    
    正在应用程序引擎上加载服务帐户默认凭据:

    from google.auth import app_engine
    from google.cloud import storage
    credentials = app_engine.Credentials()
    client = storage.Client(credentials=credentials, project=project)
    
    等等,用于Kubernetes、云函数等

    ADC使用上述示例使用类似的方法创建凭据

    该示例使用ADC策略查找凭据:

    export GOOGLE_APPLICATION_CREDENTIALS="/mysecretpath/service_account.json"
    
    from google.cloud import storage
    client = storage.Client()
    
    还有另一种获取凭据的常用方法。这些是来自
    OAuth 2.0流的
    最终用户凭据
    。这些凭据要求您设置用于授权用户凭据的客户端机密凭据。这是从用户帐户(例如)获取凭据的方法


    这将提供更多详细信息。

    区别在于一个是凭证,另一个是定位凭证的策略

    服务帐户凭据是授权Google API请求的推荐方法。这些凭证存储在一个文件(JSON或P12)中。但是,在某些服务(如计算引擎)下运行时,会自动为实例创建凭据,并通过元数据服务器使其可用

    应用程序默认凭据(ADC)将搜索Credentail

  • 如果设置了环境变量
    GOOGLE\u APPLICATION\u CREDENTIALS
    ,则ADC将使用该文件作为变量指向的凭据
  • 如果未设置该变量,则在计算引擎、应用程序引擎、Kubernetes引擎或云函数上运行时将使用默认服务帐户
  • 如果前两个步骤未能找到有效凭据,ADC将失败并发生错误

    使用环境变量指定服务帐户凭据:

    export GOOGLE_APPLICATION_CREDENTIALS="/mysecretpath/service_account.json"
    
    from google.cloud import storage
    client = storage.Client()
    
    ADC将自动从
    GOOGLE\u应用程序\u凭据加载凭据

    从json加载凭据(Python示例):

    正在计算引擎上加载服务帐户默认凭据:

    from google.auth import compute_engine
    from google.cloud import storage
    credentials = compute_engine.Credentials()
    client = storage.Client(credentials=credentials, project=project)
    
    正在应用程序引擎上加载服务帐户默认凭据:

    from google.auth import app_engine
    from google.cloud import storage
    credentials = app_engine.Credentials()
    client = storage.Client(credentials=credentials, project=project)
    
    等等,用于Kubernetes、云函数等

    ADC使用上述示例使用类似的方法创建凭据

    该示例使用ADC策略查找凭据:

    export GOOGLE_APPLICATION_CREDENTIALS="/mysecretpath/service_account.json"
    
    from google.cloud import storage
    client = storage.Client()
    
    还有另一种获取凭据的常用方法。这些是来自
    OAuth 2.0流的
    最终用户凭据
    。这些凭据要求您设置用于授权用户凭据的客户端机密凭据。这是从用户帐户(例如)获取凭据的方法

    这将提供更多细节