Configuration d'un profil de confiance pour les composants d'un cluster
Vous pouvez utiliser des profils approuvés pour contrôler l'accès à vos ressources, notamment des composants tels que Block Storage, File Storage ou Cloud Object Storage.
À propos des profils de confiance
En utilisant des profils de confiance, vous pouvez établir un moyen flexible et sécurisé pour les utilisateurs fédérés d'accéder aux ressources IBM Cloud de votre compte. Tous les utilisateurs fédérés qui partagent certains attributs définis dans votre annuaire d'utilisateurs d'entreprise sont mappés à un profil commun et peuvent partager l'accès aux ressources d' IBM Cloud. Grâce à cette identité commune, les membres de votre organisation qui partagent les mêmes exigences d'accès peuvent obtenir tous ensemble l'accès aux ressources de manière automatique, sans qu'il soit nécessaire de les ajouter à un compte ou de leur accorder l'accès de manière directe ou via des groupes d'accès.
Les avantages des profils de confiance sont les suivants
- Élimination du besoin de clés API à longue durée de vie
- Accordez l'accès à vos ressources sur la base d'une relation de confiance que vous établissez lorsque vous créez le profil de confiance, plutôt que sur la base de clés API intégrées. Cela réduit le risque de compromission ou de fuite des informations d'identification.
- Contrôle d'accès centralisé
- Gérer les autorisations par le biais d'un profil de confiance unique pour simplifier le processus d'octroi, de révocation ou d'audit de l'accès.
- Permissions encadrées
- Respectez le principe du moindre privilège en créant des profils dotés des autorisations minimales requises pour accomplir une tâche spécifique.
Exigences minimales en matière d'accès
Un ensemble minimum de règles d'accès est requis pour qu'un profil de confiance soit utilisé pour vos composants de stockage.
Exigences minimales pour tous les composants de stockage
Créez une relation de confiance avec la configuration suivante. Ces autorisations sont requises pour les clusters VPC.
- Type de service de calcul (sous l'onglet Ressource de calcul dans l'interface utilisateur):
KubernetesRed Hat OpenShift
- Espace de noms de confiance :
kube-system.
Créez des politiques d'accès avec les autorisations indiquées dans le tableau suivant.
| Nom de service | Droit requis | Description |
|---|---|---|
| Facturation | Éditeur | Permet de visualiser et de gérer les données de facturation telles que l'utilisation, les coûts et les rapports. Utile pour le suivi automatisé des coûts ou les opérations tenant compte du budget. |
| Service Kubernetes | Administrateur | Permet aux clusters Kubernetes d'interagir avec les ressources de stockage. |
| Service d'infrastructure VPC | Rédacteur, éditeur, restaurateur de compte à distance Snapshot | Permet l'approvisionnement et la gestion des ressources de stockage. |
| Groupe de ressources | Afficheur | Spécifiez le groupe de ressources dans lequel le profil de confiance est appliqué. Pour les opérations effectuées sur plusieurs groupes de ressources, vous devez spécifier tous les groupes de ressources concernés. Notez que si vous créez une classe de stockage personnalisée avec le groupe de ressources, vous devez également attribuer un accès de visualisation au profil de confiance du groupe de ressources. |
En outre, si vous prévoyez d'utiliser une infrastructure classique, vous devez activer les autorisations Ajouter/mettre à niveau le stockage (couche de stockage) et Gérer le stockage. Pour activer ces autorisations, accédez au tableau de bord des profils de confiance dans l'interface utilisateur et sélectionnez le profil de confiance approprié. Cliquez sur Infrastructure classique, puis développez les options sous Ventes et appareils pour trouver l'autorisation.
Exigences minimales pour les différents composants de stockage
Stockage par blocs VPC
Créez une relation de confiance avec la configuration suivante.
- Type de service de calcul (sous l'onglet Ressource de calcul dans l'interface utilisateur):
KubernetesRed Hat OpenShift
- Espace de noms de confiance :
kube-system.
Créez des politiques d'accès avec les autorisations indiquées dans le tableau suivant.
| Nom de service | Droit requis | Description |
|---|---|---|
| Service Kubernetes | Opérateur | Permet aux clusters Kubernetes d'interagir avec les ressources de stockage en bloc. |
| Service d'infrastructure VPC | Rédacteur, éditeur, restaurateur de compte à distance Snapshot | Permet le provisionnement, la gestion et les opérations de snapshot croisé pour les ressources de stockage en bloc. |
| Groupe de ressources | Afficheur | Spécifiez le groupe de ressources dans lequel le profil de confiance est appliqué. Pour les opérations effectuées sur plusieurs groupes de ressources, vous devez spécifier tous les groupes de ressources concernés. Notez que si vous créez une classe de stockage personnalisée avec le groupe de ressources, vous devez également attribuer un accès de visualisation au profil de confiance du groupe de ressources. |
Classic Block Storage
Créez une relation de confiance avec la configuration suivante.
- Type de service de calcul (sous l'onglet Ressource de calcul dans l'interface utilisateur):
KubernetesRed Hat OpenShift
- Espace de noms de confiance :
kube-system.
Ajoutez les autorisations dans le tableau suivant. Pour activer ces autorisations, vous devez utiliser l'interface utilisateur. Accédez au tableau de bord des profils de confiance dans l'interface utilisateur et sélectionnez le profil de confiance approprié. Cliquez sur Infrastructure classique, puis développez les options pour trouver les autorisations.
| Nom de service | Droit requis | Description |
|---|---|---|
Devices |
Gestion de stockage | Permet d'attacher, de détacher et de configurer le stockage en bloc classique sur les périphériques. |
Sales |
Ajout/mise à niveau du stockage (couche de stockage) | Permet de commander, de mettre à niveau ou de modifier les offres de stockage Classic via les API de vente. |
Type de service de calcul dans l'onglet des ressources de calcul au lieu de Ressources de calcul
Stockage de fichiers VPC
Créez une relation de confiance avec la configuration suivante.
- Type de service de calcul (sous l'onglet Ressource de calcul dans l'interface utilisateur):
KubernetesRed Hat OpenShift
- Espace de noms de confiance :
kube-system.
Créez des politiques d'accès avec les autorisations indiquées dans le tableau suivant.
| Nom de service | Droit requis | Description |
|---|---|---|
| Service Kubernetes | Opérateur | Permet aux clusters Kubernetes d'interagir avec les ressources de stockage de fichiers. |
| Service d'infrastructure VPC | Rédacteur, éditeur | Permet l'approvisionnement et la gestion des ressources de stockage de fichiers. |
| Groupe de ressources | Afficheur | Spécifiez le groupe de ressources dans lequel le profil de confiance est appliqué. Pour les opérations effectuées sur plusieurs groupes de ressources, vous devez spécifier tous les groupes de ressources concernés. Notez que si vous créez une classe de stockage personnalisée avec le groupe de ressources, vous devez également attribuer un accès de visualisation au profil de confiance du groupe de ressources. |
Classique File Storage
Créez une relation de confiance avec la configuration suivante.
- Type de service de calcul (sous l'onglet Ressource de calcul dans l'interface utilisateur):
KubernetesRed Hat OpenShift
- Espace de noms de confiance :
kube-system.
Ajoutez les autorisations dans le tableau suivant. Pour activer ces autorisations, vous devez utiliser l'interface utilisateur. Accédez au tableau de bord des profils de confiance dans l'interface utilisateur et sélectionnez le profil de confiance approprié. Cliquez sur Infrastructure classique, puis développez les options pour trouver les autorisations.
| Nom de service | Droit requis | Description |
|---|---|---|
Devices |
Gestion de stockage | Permet d'attacher, de détacher et de configurer le stockage en bloc classique sur les périphériques. |
Sales |
Ajout/mise à niveau du stockage (couche de stockage) | Permet de commander, de mettre à niveau ou de modifier les offres de stockage Classic via les API de vente. |
Mise à l'échelle automatique de cluster
Créez une relation de confiance avec la configuration suivante.
- Type de service de calcul (sous l'onglet Ressource de calcul dans l'interface utilisateur):
KubernetesRed Hat OpenShift
- Espace de noms de confiance :
kube-system.
Créez des politiques d'accès avec les autorisations indiquées dans le tableau suivant.
| Nom de service | Droit requis | Description |
|---|---|---|
| Service Kubernetes | Administrateur | Permet aux clusters Kubernetes d'interagir avec les composants auto-scaler. |
Object Storage
Créez une relation de confiance avec la configuration suivante.
- Type de service de calcul (sous l'onglet Ressource de calcul dans l'interface utilisateur):
KubernetesRed Hat OpenShift
- Espace de noms de confiance :
kube-system.
Créez des politiques d'accès avec les autorisations indiquées dans le tableau suivant.
| Nom de service | Droit requis | Description |
|---|---|---|
| Service Kubernetes | Lecteur, Afficheur | Permet aux clusters Kubernetes d'interagir avec le plug-in COS. |
| Service d'infrastructure VPC | Lecteur, Afficheur | Permet la communication avec le VPC pour obtenir des appels API. |
| Groupe de ressources | Afficheur | Spécifiez le groupe de ressources dans lequel le profil de confiance est appliqué. Pour les opérations effectuées sur plusieurs groupes de ressources, vous devez spécifier tous les groupes de ressources concernés. |
Agent de facturation ODF
Créez une relation de confiance avec la configuration suivante.
- Type de service de calcul (sous l'onglet Ressource de calcul dans l'interface utilisateur):
KubernetesRed Hat OpenShift
- Espace de noms de confiance :
kube-system.
Créez des politiques d'accès avec les autorisations indiquées dans le tableau suivant.
| Nom de service | Droit requis | Description |
|---|---|---|
| Facturation | Éditeur | Service de facturation. Permet de visualiser et de gérer les données de facturation telles que l'utilisation, les coûts et les rapports. Utile pour le suivi automatisé des coûts ou les opérations tenant compte du budget. |
| Service Kubernetes | Éditeur | Permet aux clusters Kubernetes d'interagir avec le stockage en bloc. |
| Service d'infrastructure VPC | Rédacteur, écrivain | Permet l'approvisionnement et la gestion des ressources de stockage. |
| Groupe de ressources | Afficheur | Spécifiez le groupe de ressources dans lequel le profil de confiance est appliqué. Pour les opérations effectuées sur plusieurs groupes de ressources, vous devez spécifier tous les groupes de ressources concernés. |
Configurer un profil de confiance dans l'interface de programmation
Suivez les étapes pour créer et configurer un profil de confiance dans l'interface CLI.
Une fois que vous avez ajouté un profil de confiance à un cluster, il ne peut pas être supprimé et vous ne pouvez pas recommencer à utiliser une clé API pour vos ressources. Veillez à suivre attentivement ces étapes pour vous assurer que votre profil de confiance est correctement configuré.
-
Connectez-vous à l'interface de ligne de commande d'IBM Cloud.
ibmcloud login --apikey <API_KEY> -g <RESOURCE_GROUP> -
Exécutez la commande pour créer un profil de confiance. Pour obtenir une liste complète des options de commande, consultez la documentation de l'interface CLI d'IAM.
ibmcloud iam trusted-profile-create NAME --description "Identity for storage" -
Attacher une règle d'utilisation de l'étendue à l'espace de noms
kube‑system. Pour obtenir une liste complète des options de commande, consultez la documentation de l'interface CLI d'IAM.ibmcloud iam trusted-profile-rule-create --name NAME --type Profile-CR --cr-type ROKS_SA --conditions claim:namespace,operator:EQUALS,value:kube-system -
Pour les clusters VPC: Créez et affectez des politiques d'accès au profil de confiance. Cet exemple attribue les autorisations minimales requises pour tous les composants de stockage. Pour une liste des autorisations requises pour les composants individuels uniquement, voir Exigences minimales pour les composants de stockage individuels. Indiquez le nom ou l'ID du profil de confiance auquel vous souhaitez affecter la politique. Pour obtenir une liste complète des options de commande, consultez la documentation de l'interface CLI d'IAM. Cette étape ne s'applique pas aux clusters classiques. Ajouter des politiques pour le service VPC Infrastructure.
ibmcloud iam trusted-profile-policy-create NAME|ID --roles Editor,Writer --service-name isAjouter des politiques pour le service de facturation.
ibmcloud iam trusted-profile-policy-create NAME|ID --roles Editor --service-name billingAjouter des politiques pour le service Kubernetes.
ibmcloud iam trusted-profile-policy-create NAME|ID --roles Administrator --service-name "containers-kubernetes"Ajouter des politiques pour le groupe de ressources concerné auquel le profil de confiance est appliqué. Spécifiez le groupe de ressources auquel le profil de confiance s'applique.
ibmcloud iam trusted-profile-policy-create NAME|ID --roles Operator --resource-type "resource-group" --resource "my-resource-group" -
Pour les clusters classiques: Exécutez la commande pour ajouter les autorisations minimales requises au profil de confiance. Spécifiez l'ID utilisateur qui est créé pour le profil de confiance.
ibmcloud oc sl user permission-edit TRUSTED_PROFILE_ID --permission NAS_MANAGE,ADD_SERVICE_STORAGE -
Après avoir créé le profil de confiance et attribué les politiques d'accès requises, définissez le profil de confiance pour le cluster ou le groupe de ressources dans lequel se trouvent vos clusters. La définition du profil de confiance l'applique à vos composants de stockage.
Configurer un profil de confiance avec l'interface utilisateur
Suivez les étapes pour créer et configurer un profil de confiance dans l'interface CLI.
Une fois que vous avez ajouté un profil de confiance à un cluster, il ne peut pas être supprimé et vous ne pouvez pas recommencer à utiliser une clé API pour vos ressources. Veillez à suivre attentivement ces étapes pour vous assurer que votre profil de confiance est correctement configuré.
-
Connectez-vous à votre compte IBM Cloud et accédez à la page Profils de confiance.
-
Créez un profil sécurisé.
-
Créer une relation de confiance avec le service Red Hat OpenShift on IBM Cloud.
- Dans la section Sélectionner un type d'entité de confiance, cliquez sur Ressources informatiques.
- Sous Créer une relation de confiance, sélectionnez Red Hat OpenShift.
- Sélectionnez toutes les ressources de service. Ajoutez ensuite une condition pour autoriser l'accès lorsque Namespace est égal à
kube-system.- Note : Vous pouvez choisir des ressources spécifiques qui existent dans votre compte.
-
Cliquez sur Créer.
-
VPC uniquement. Ajouter des stratégies d'accès au profil de confiance.
- Dans la page Profils de confiance, cliquez sur le profil de confiance que vous venez de créer.
- Dans l'onglet Accès, cliquez sur Attribuer l'accès.
- Dans la section Comment voulez-vous attribuer l'accès? cliquez sur Politique d'accès.
- Ajoutez les services et les rôles pour répondre aux exigences minimales des composants concernés. Appliquer la politique à toutes les ressources.
-
Classique uniquement. Ajouter des autorisations au profil de confiance.
- Dans la page Profils de confiance, cliquez sur le profil de confiance que vous venez de créer.
- Accédez à l'onglet Infrastructure classique.
- Dans le menu déroulant des autorisations, sélectionnez les autorisations nécessaires pour répondre aux exigences minimales des composants concernés.
Établir un profil de confiance avec l'API
-
Créez un profil sécurisé.
curl --request POST \ --url https://iam.cloud.ibm.com/v1/profiles \ --header 'Content-Type: application/json' \ --data '{ "name":"<PROFILE_NAME>", "account_id":"<ACCOUNT_ID>" }' -
Attacher une règle d'utilisation de l'étendue à l'espace de noms
kube‑system.curl --request POST \ --url https://iam.cloud.ibm.com/v1/profiles/<PROFILE_NAME>/rules \ --header 'Content-Type: application/json' \ --data '{ "type": "Profile-CR", "cr_type":"ROKS_SA", "conditions": [ { "claim": "namespace", "operator": "EQUALS", "value": "\"kube-system\"" } ] }' -
Pour les clusters VPC: Attachez des politiques d'accès aux composants VPC. Ces exemples attribuent les autorisations minimales requises pour tous les composants de stockage.
curl --request POST \ --url https://iam.cloud.ibm.com/v1/policies \ --header 'Content-Type: application/json' \ --data '{ "type": "access", "description": "Writer, Operator role for VPC infrastructure services", "subjects": [ { "attributes": [ { "name": "iam_id", "value": "<IAM_PROFILE>" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Writer" }, { "role_id": "crn:v1:bluemix:public:iam::::role:Editor" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "<ACCOUNT_ID>" }, { "name": "serviceName", "value": "is" } ] } ] }'curl --request POST \ --url https://iam.cloud.ibm.com/v1/policies \ --header 'Content-Type: application/json' \ --data '{ "type": "access", "description": "Editor role for billing services", "subjects": [ { "attributes": [ { "name": "iam_id", "value": "<IAM_PROFILE>" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::role:Editor" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "<ACCOUNT_ID>" }, { "name": "serviceName", "value": "billing" } ] } ] }'curl --request POST \ --url https://iam.cloud.ibm.com/v1/policies \ --header 'Content-Type: application/json' \ --data '{ "type": "access", "description": "Administrator role for containers-kubernetes services", "subjects": [ { "attributes": [ { "name": "iam_id", "value": "<IAM_PROFILE>" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::role:Administrator" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "<ACCOUNT_ID>" }, { "name": "serviceName", "value": "containers-kubernetes" } ] } ] }'curl --request POST \ --url https://iam.cloud.ibm.com/v1/policies \ --header 'Content-Type: application/json' \ --data '{ "type": "access", "subjects": [ { "attributes": [ { "name": "iam_id", "value": "<IAM_PROFILE>" } ] } ], "roles": [ { "role_id": "crn:v1:bluemix:public:iam::::role:Operator" } ], "resources": [ { "attributes": [ { "name": "accountId", "value": "<ACCOUNT_ID>" }, { "name": "resource", "value": "<RESOURCE_GROUP_ID>" }, { "name": "resourceType", "value": "resource-group" }, ] } ] } -
Pour les clusters classiques: Ajoutez des autorisations au profil de confiance à l'aide de l'interface utilisateur.
- Connectez-vous à votre compte IBM Cloud et accédez à la page Profils de confiance.
- Cliquez sur le profil de confiance que vous venez de créer.
- Accédez à l'onglet Infrastructure classique.
- Dans le menu déroulant des autorisations, sélectionnez les autorisations nécessaires pour répondre aux exigences minimales des composants concernés.
Définition du profil de confiance pour un cluster ou un groupe de ressources
Lorsque vous définissez un profil de confiance pour votre cluster, il s'applique à vos composants de stockage. Vous pouvez définir un profil de confiance pour un cluster individuel ou pour un groupe de ressources.
Une fois que vous avez ajouté un profil de confiance à un cluster, il ne peut pas être supprimé et vous ne pouvez pas recommencer à utiliser une clé API pour vos ressources. Veillez à suivre attentivement ces étapes pour vous assurer que votre profil de confiance est correctement configuré.
-
Assurez-vous d'avoir créé un profil de confiance qui répond aux exigences minimales pour les composants de stockage.
-
Attribuez le profil de confiance à votre cluster ou au groupe de ressources dans lequel se trouve votre cluster. Si vous affectez un profil de confiance à un groupe de ressources, il s'applique à tous les clusters du groupe de ressources.
Pour attribuer un profil de confiance à un cluster.
ibmcloud oc experimental trusted-profile set --trusted-profile PROFILE --cluster CLUSTER [--output OUTPUT] [-q]--cluster CLUSTER- L'ID du cluster sur lequel le profil de confiance doit être défini. Pour obtenir l'ID du cluster, exécutez
ibmcloud oc cluster get. --trusted-profile PROFILE- L'ID du profil de confiance. Pour obtenir l'ID du profil de confiance, exécutez
ibmcloud iam trusted-profiles. --output OUTPUT- Imprime la sortie de commande dans le format fourni. Valeurs acceptées : json
-q- Permet de masquer le message du jour et les rappels de mise à jour.
Pour attribuer un profil de confiance à un groupe de ressources.
ibmcloud oc experimental trusted-profile default set --region REGION --resource-group GROUP --trusted-profile PROFILE [--output OUTPUT] [-q]--region REGION- La région où se trouve le groupe de ressources. Pour obtenir les détails d'un groupe de ressources, exécutez
ibmcloud resource group. --resource-group GROUP- L'ID du groupe de ressources sur lequel le profil de confiance doit être défini. Pour répertorier vos groupes de ressources, exécutez
ibmcloud resource groups. --trusted-profile PROFILE- L'ID du profil de confiance. Pour obtenir l'ID du profil de confiance, exécutez
ibmcloud iam trusted-profiles. --output OUTPUT- Imprime la sortie de commande dans le format fourni. Valeurs acceptées :
json. -q- Permet de masquer le message du jour et les rappels de mise à jour.
-
Vérifiez que le profil de confiance a été ajouté au cluster.
ibmcloud oc experimental trusted-profile get --cluster CLUSTERExemple de sortie.
Fetching trusted-profile for the cluster... OK Cluster a1bc2de45fgh6ijklmn7op is configured with trusted-profile Profile-a12bc34-1111-1111-1234-a123bc456
Limites et considérations
Avant d'utiliser des profils de confiance, prenez connaissance des limitations et considérations suivantes.
- Transition irréversible vers un profil de confiance
- Une fois qu'un profil de confiance est configuré au niveau du cluster ou du groupe de ressources, il n'est pas possible de revenir à l'utilisation d'une clé API. Suivez attentivement les étapes pour vous assurer que le profil de confiance est configuré correctement.
- La portée de la vérification est limitée à l'espace de noms
kube-system. - La validation des profils de confiance est actuellement limitée à l'espace de noms
kube-systempour les clusters Kubernetes et Red Hat OpenShift. Les utilisateurs qui expérimentent d'autres caractéristiques ou configurations de profils de confiance en dehors de ce champ d'application peuvent rencontrer des problèmes. - Tags de l'utilisateur pour VPC Block Storage volumes
- En raison d'un problème connu, les mises à jour des étiquettes utilisateur sur les volumes VPC Block Storage peuvent ne pas être affichées lorsqu'un profil de confiance est mis en œuvre.