Configurer l'API Allowlisted Domains
Cette page explique comment configurer l'API Allowlisted Domains avant d'ajouter, de lister et d'obtenir ou de supprimer des domaines autorisés.
Avant de commencer
Avant d'utiliser l'une des API Cloud Identity, vous devez configurer Cloud Identity. Pour obtenir des instructions, consultez Configurer Cloud Identity.
Installer la bibliothèque cliente Python
Pour installer la bibliothèque cliente Python, exécutez la commande suivante :
pip install --upgrade google-api-python-client google-auth \
google-auth-oauthlib google-auth-httplib2
Pour savoir comment configurer votre environnement de développement Python, consultez le guide de configuration d'un environnement de développement Python.
Activer l'API et configurer les identifiants
- Connectez-vous à votre Google Cloud compte. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Identity API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.- Créez un compte de service :
- Assurez-vous de disposer du rôle IAM Créateur de compte de service (
roles/iam.serviceAccountCreator) et du rôle Administrateur IAM du projet (roles/resourcemanager.projectIamAdmin). Découvrez comment attribuer des rôles. - Dans la Google Cloud console, accédez à la page Créer un compte de service.
- Sélectionnez votre projet.
- Dans le champ Nom du compte de service, saisissez un nom. La Google Cloud console remplit le champ ID du compte de service en fonction de ce nom.
- Dans le champ Description du compte de service, saisissez une description. Exemple :
Service account for quickstart. - Cliquez sur Créer et continuer.
- Attribuez le rôle Projet > Propriétaire au compte de service. Pour accorder le rôle, trouvez la liste Sélectionner un rôle, puis sélectionnez Projet > Propriétaire.
- Cliquez sur Continuer.
- Cliquez sur OK pour terminer la création du compte de service. Ne fermez pas la fenêtre du navigateur. Vous en aurez besoin lors de la tâche suivante.
- Assurez-vous de disposer du rôle IAM Créateur de compte de service (
- Créez une clé de compte de service :
- Dans la Google Cloud console, cliquez sur l'adresse e-mail du compte de service que vous avez créé.
- Cliquez sur Keys (Clés).
- Cliquez sur Ajouter une clé, puis sur Créer une clé.
- Cliquez sur Create (Créer). Un fichier de clé JSON est téléchargé sur votre ordinateur.
- Cliquez sur Fermer.
Créer une clé API
- Dans la Google Cloud console, accédez à la page Identifiants.
- Cliquez sur Créer des identifiants et sélectionnez Clé API.
- La boîte de dialogue Clé API créée affiche la clé API que vous venez de créer. Copiez cette clé pour l'utiliser dans votre script en tant que constante
API_KEY.
S'authentifier en tant que compte de service avec délégation au niveau du domaine
Si vous êtes un administrateur qui gère des domaines autorisés ou si vous souhaitez fournir à un compte des droits au niveau du domaine afin qu'il puisse gérer les domaines autorisés pour le compte des administrateurs, vous devez vous authentifier en tant que compte de service, puis accorder des droits au niveau du domaine à ce compte.
Pour en savoir plus sur la configuration de la délégation au niveau du domaine, consultez Contrôler l'accès à l'API à l'aide de la délégation au niveau du domaine. Consultez les bonnes pratiques pour atténuer les risques de sécurité associés à l'utilisation de la délégation au niveau du domaine.
Fournissez les champs d'application suivants pour autoriser le compte de service :
Pour les opérations de lecture et d'écriture (
create,delete,list,get) :https://www.googleapis.com/auth/cloud-identity.allowlisteddomainsPour les opérations en lecture seule (
list,get) :https://www.googleapis.com/auth/cloud-identity.allowlisteddomains.readonly
Initialiser les identifiants et instancier un client
Lorsque vous initialisez l'identifiant dans votre code, spécifiez l'adresse e-mail avec laquelle le compte de service agit en appelant with_subject() sur l'identifiant.
L'exemple suivant montre comment instancier un client à l'aide des identifiants d'un compte de service pour interagir avec l'API Allowlisted Domains :
Python
from google.oauth2 import service_account
import googleapiclient.discovery
SCOPES = [
'https://www.googleapis.com/auth/cloud-identity.allowlisteddomains.readonly',
'https://www.googleapis.com/auth/cloud-identity.allowlisteddomains',
]
SERVICE_ACCOUNT_FILE = 'SERVICE_ACCOUNT_CREDENTIAL_FILE'
PROD_DISCOVERY_URL_BASE = (
'https://cloudidentity.googleapis.com/$discovery/rest'
)
API_KEY = 'YOUR_API_KEY'
def create_service(version, delegated_email):
"""Instantiates a client using service account credentials."""
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES
)
delegated_credentials = credentials.with_subject(delegated_email)
url = f'{PROD_DISCOVERY_URL_BASE}?version={version}&key={API_KEY}'
service = googleapiclient.discovery.build(
serviceName=None,
version=None,
credentials=delegated_credentials,
discoveryServiceUrl=url,
static_discovery=False,
)
return service
Remplacez les éléments suivants :
SERVICE_ACCOUNT_CREDENTIAL_FILE: fichier de clé de compte de service que vous avez créé précédemment dans ce documentYOUR_API_KEY: clé API copiée à partir de la page Identifiants de votre Google Cloud console
Des exemples de code détaillés pour appeler les opérations de l'API Allowlisted Domains sont fournis dans Lister et obtenir des domaines autorisés.