Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Vous pouvez utiliser des comptes de service dans vos connecteurs de communauté
de l'accès aux ressources. Un cas d'utilisation courant consisterait
à déléguer l'accès à
des données auxquelles les utilisateurs ne pourraient
pas accéder à l’aide de leurs propres identifiants.
Vous pouvez consolider la facturation pour l'accès aux données.
Vous pouvez implémenter votre propre couche de contrôle des accès dans votre connecteur.
Vous pouvez déléguer l'accès aux données ou aux ressources associées aux identifiants de l'utilisateur
n'a pas accès.
Étapes de mise en œuvre
Créez un compte de service pour la plate-forme à partir de laquelle vous récupérez des données.
Accordez les autorisations nécessaires au compte de service pour qu'il puisse accéder
les ressources requises.
Stockez les identifiants du compte de service dans le script du connecteur.
propriétés.
Pendant l'exécution du connecteur, utilisez les identifiants stockés pour récupérer les ressources
données.
Facultatif: Implémentez une logique de contrôle des accès pour filtrer les données.
Exemple: Accéder à BigQuery avec les services avancés de Looker Studio et un compte de service
Vous développez une solution dans laquelle vos utilisateurs créeront des tableaux de bord à partir d'un
table BigQuery. Si vos utilisateurs se servent du connecteur BigQuery de Looker Studio,
n'avez pas besoin d'un accès
en lecture à la table BigQuery. Ils auront également besoin d'un compte de facturation
pour Google Cloud Platform (GCP). Les étapes suivantes expliquent comment utiliser un
pour consolider la facturation et déléguer l'accès aux données BigQuery.
Assurez-vous que le compte de service peut créer des jobs BigQuery et afficher les données pour
la table requise. Pour en savoir plus, consultez la page Contrôle des accès dans BigQuery.
Pour votre fonction getData, authentifiez le compte de service et générez
un jeton d'accès. Définir le champ d'application OAuth2 sur
https://www.googleapis.com/auth/bigquery.readonly
Renvoyez un jeton d'accès avec d'autres éléments de configuration dans la réponse getData.
Voici un exemple complet de code de connecteur:
main.js
varcc=DataStudioApp.createCommunityConnector();varscriptProperties=PropertiesService.getScriptProperties();functionisAdminUser(){returntrue;}functiongetAuthType(){varAuthTypes=cc.AuthType;returncc.newAuthTypeResponse().setAuthType(AuthTypes.NONE).build();}functiongetConfig(request){varconfig=cc.getConfig();config.newInfo().setId('generalInfo').setText('This is an example connector to showcase row level security.');returnconfig.build();}functiongetFields(){varfields=cc.getFields();vartypes=cc.FieldType;varaggregations=cc.AggregationType;fields.newDimension().setId('region').setName('Region').setType(types.TEXT);fields.newMetric().setId('sales').setName('Sales').setType(types.NUMBER).setAggregation(aggregations.SUM);fields.newDimension().setId('date').setName('Date').setType(types.YEAR_MONTH_DAY);returnfields;}functiongetSchema(request){return{schema:getFields().build()};}varSERVICE_ACCOUNT_CREDS='SERVICE_ACCOUNT_CREDS';varSERVICE_ACCOUNT_KEY='private_key';varSERVICE_ACCOUNT_EMAIL='client_email';varBILLING_PROJECT_ID='project_id';/** * Copy the entire credentials JSON file from creating a service account in GCP. */functiongetServiceAccountCreds(){returnJSON.parse(scriptProperties.getProperty(SERVICE_ACCOUNT_CREDS));}functiongetOauthService(){varserviceAccountCreds=getServiceAccountCreds();varserviceAccountKey=serviceAccountCreds[SERVICE_ACCOUNT_KEY];varserviceAccountEmail=serviceAccountCreds[SERVICE_ACCOUNT_EMAIL];returnOAuth2.createService('RowLevelSecurity').setAuthorizationBaseUrl('https://accounts.google.com/o/oauth2/auth').setTokenUrl('https://accounts.google.com/o/oauth2/token').setPrivateKey(serviceAccountKey).setIssuer(serviceAccountEmail).setPropertyStore(scriptProperties).setCache(CacheService.getScriptCache()).setScope(['https://www.googleapis.com/auth/bigquery.readonly']);}varBASE_SQL='SELECT d.region, d.sales, d.date '+'FROM `datastudio-solutions.row_level_security.data` d '+'INNER JOIN `datastudio-solutions.row_level_security.access` a '+'ON d.region = a.region '+'where a.email=@email';functiongetData(request){varaccessToken=getOauthService().getAccessToken();varserviceAccountCreds=getServiceAccountCreds();varbillingProjectId=serviceAccountCreds[BILLING_PROJECT_ID];varemail=Session.getEffectiveUser().getEmail();varbqTypes=DataStudioApp.createCommunityConnector().BigQueryParameterType;returncc.newBigQueryConfig().setAccessToken(accessToken).setBillingProjectId(billingProjectId).setUseStandardSql(true).setQuery(BASE_SQL).addQueryParameter('email',bqTypes.STRING,email).build();}
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/07/25 (UTC).
[null,null,["Dernière mise à jour le 2025/07/25 (UTC)."],[],[]]