Authentification auprès d'IBM Cloudant - Foire aux questions
IBM Cloud® Identity and Access Management (IAM) combine la gestion des identités utilisateur, des services et du contrôle d'accès en une seule approche. IBM® Cloudant® for IBM Cloud® s'intègre à IBM Cloud Identity and Access Management.
Quelle est la différence entre les contrôles d'accès IAM et IBM Cloudant Legacy ?
IBM Cloud IAM
- Gestion centrale des accès dans tout IBM Cloud.
- Permet à un utilisateur ou à un service d'accéder à plusieurs ressources différentes avec le même ensemble de données d'identification (même nom d'utilisateur/mot de passe ou même clé d'API IAM, par exemple).
- Les clés d'API IAM peuvent obtenir un accès aux fonctions de gestion du compte, par exemple pour la création de bases de données.
IBM Cloudant Legacy
- Uniques à IBM Cloudant.
- L'accès à chaque instance de service nécessite son propre ensemble de données d'identification.
- Utilisation de l'authentification de base HTTP avec des données d'identification qui ne sont pas liées à un utilisateur ou à un service individuel.
Pourquoi le mode Use only IAM est-il privilégié ?
Le mode Utilisation uniquement d'IAM signifie que seules les données d'identification IAM sont fournies via la liaison de service et la génération des données d'identification. Vous bénéficiez des avantages suivants lorsque vous utilisez IBM Cloud IAM :
- Gestion de l'accès à IBM Cloudant avec les outils standard d'IBM Cloud.
- Utilisation de données d'identification que vous pouvez facilement révoquer et faire tourner lorsque vous utilisez IBM Cloud IAM.
Pour plus d'informations sur les avantages et les inconvénients des différents modes, voir Avantages et inconvénients des deux mécanismes de contrôle d'accès.
Comment créer une instance en utilisant la ligne de commande ?
Quand vous créez une nouvelle instance IBM Cloudant depuis la ligne de commande, vous devez inclure l'outil ibmcloud en utilisant le paramètre -p. Ce paramètre active ou désactive les données d'identification existantes
pour un compte en transmettant l'option au format JSON. Cette option s'appelle legacyCredentials.
Pour créer une instance en tant que Use only IAM, exécutez la commande suivante :
ibmcloud resource service-instance-create "Instance Name" \
cloudantnosqldb Standard us-south \
-p '{"legacyCredentials": false}'
Si vous n'avez pas recours au mode Use only IAM quand vous utilisez les rôles IAM Lecteur et Auteur, vous risquez d'octroyer aux utilisateurs des données d'identification existantes avec plus de droits d'accès que prévu.
Comment générer des données d'identification de service ?
Vous pouvez générer des données d'identification de service dans l'interface IBM Cloud principale. Quand vous sélectionnez Use only IAM, les données d'identification de service n'incluent que des valeurs IAM. Le contenu du fichier JSON se présente comme illustré ci-dessous :
{
"apikey": "MxVp86XHkU82Wc97tdvDF8qM8B0Xdit2RqR1mGfVXPWz",
"host": "2922d728-27c0-4c7f-aa80-1e59fbeb04d0-bluemix.cloudant.com",
"iam_apikey_description": "Auto generated apikey during resource-key [...]",
"iam_apikey_name": "auto-generated-apikey-050d21b5-5f[...]",
"iam_role_crn": "crn:v1:bluemix:public:iam::::serviceRole:Manager",
"iam_serviceid_crn": "crn:v1:staging:public:iam-identity::[...]",
"url": "https://76838001-b883-444d-90d0-46f89e942a15-bluemix.cloudant.com",
"username": "76838001-b883-444d-90d0-46f89e942a15-bluemix"
}
Les valeurs de l'exemple précédent sont décrites dans la liste suivante :
apikey- Clé d'API IAM.
host- DNS qui convertit les noms de domaine en utilisant leurs adresses IP associées.
iam_apikey_description- Description de la clé d'API IAM.
iam_apikey_name- ID de la clé d'API IAM.
iam_role_crn- Rôle IAM associé à la clé d'API IAM.
iam_serviceid_crn- CRN de l'ID de service.
url- URL de service IBM Cloudant.
username- Nom du compte IBM Cloudant interne.
Pour plus d'informations, voir IBM Cloud API keys et Use only IAM.
Comment faire pivoter mes données d'identification ?
Dans la plupart des cas, les données d'identification tournantes sont un processus simple :
-
Générez un donne d'identification de service de remplacement. Pour plus d'informations, consultez la rubrique « Comment générer des identifiants de service? ».
-
Remplacez les données d'identification actuelles par les données d'identification nouvellement générées.
-
Supprimez les données d'identification de service qui ne sont plus utilisées.
Toutefois, lorsque vous faites pivoter les données d'identification pour une réplication, si vous utilisez des données d'identification existantes dans le document de réplication, la réplication démarre à partir du début. Pour vous assurer que les modifications arrivent dans un timing opportun, nous vous conseillons de créer une nouvelle réplication une fois qu'elle a été prise en compte lors de la suppression de la réplication précédente et des données d'identification de service associées. Le processus est décrit dans les étapes suivantes :
-
Générez un donne d'identification de service de remplacement. Pour plus d'informations, consultez la rubrique « Comment générer des identifiants de service? ».
-
Créez une réplication avec les mêmes paramètres mais avec de nouvelles données d'identification.
-
Surveillez la nouvelle réplication à l'aide de Tâches actives, ou vous pouvez utiliser
_scheduler/jobs. -
Une fois que la zone
changes_pendingde la nouvelle réplication est une valeur suffisamment basse pour vos besoins, la réplication qui utilise les données d'identification précédentes peut être supprimée. -
Supprimez les données d'identification de service qui ne sont plus utilisées.
Les réplications qui utilisent les clés API IAM peuvent être mises à jour pour utiliser directement une nouvelle clé d'API, sans retarder les modifications qui sont répliquées.