IBM Cloud Docs
Configuration d'un profil de confiance pour les composants d'un cluster

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):
    • Kubernetes
    • Red 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.

Autorisations minimales pour tous les composants
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):
    • Kubernetes
    • Red 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.

Autorisations minimales pour le stockage de blocs dans les VPC
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):
    • Kubernetes
    • Red 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.

Autorisations minimales pour le stockage des blocs classiques
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):
    • Kubernetes
    • Red 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.

Autorisations minimales pour le stockage des fichiers VPC
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):
    • Kubernetes
    • Red 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.

Autorisations minimales pour le stockage des fichiers classiques
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):
    • Kubernetes
    • Red 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.

Autorisations minimales pour l'autoscaler de cluster
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):
    • Kubernetes
    • Red 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.

Autorisations minimales pour le stockage d'objets
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):
    • Kubernetes
    • Red 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.

Autorisations minimales pour l'agent de facturation ODF
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é.

  1. Connectez-vous à l'interface de ligne de commande d'IBM Cloud.

    ibmcloud login --apikey <API_KEY> -g <RESOURCE_GROUP>
    
  2. 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"
    
  3. 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
    
  4. 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 is
    

    Ajouter des politiques pour le service de facturation.

    ibmcloud iam trusted-profile-policy-create NAME|ID --roles Editor --service-name billing
    

    Ajouter 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"
    
  5. 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
    
  6. 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é.

  1. Connectez-vous à votre compte IBM Cloud et accédez à la page Profils de confiance.

  2. Créez un profil sécurisé.

  3. Créer une relation de confiance avec le service Red Hat OpenShift on IBM Cloud.

    1. Dans la section Sélectionner un type d'entité de confiance, cliquez sur Ressources informatiques.
    2. Sous Créer une relation de confiance, sélectionnez Red Hat OpenShift.
    3. 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.
  4. Cliquez sur Créer.

  5. VPC uniquement. Ajouter des stratégies d'accès au profil de confiance.

    1. Dans la page Profils de confiance, cliquez sur le profil de confiance que vous venez de créer.
    2. Dans l'onglet Accès, cliquez sur Attribuer l'accès.
    3. Dans la section Comment voulez-vous attribuer l'accès? cliquez sur Politique d'accès.
    4. Ajoutez les services et les rôles pour répondre aux exigences minimales des composants concernés. Appliquer la politique à toutes les ressources.
  6. Classique uniquement. Ajouter des autorisations au profil de confiance.

    1. Dans la page Profils de confiance, cliquez sur le profil de confiance que vous venez de créer.
    2. Accédez à l'onglet Infrastructure classique.
    3. 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

  1. 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>"
    }'
    
  2. 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\""
            }
        ]
    }'
    
  3. 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"
                    },
                ]
            }
        ]
    }
    
  4. Pour les clusters classiques: Ajoutez des autorisations au profil de confiance à l'aide de l'interface utilisateur.

    1. Connectez-vous à votre compte IBM Cloud et accédez à la page Profils de confiance.
    2. Cliquez sur le profil de confiance que vous venez de créer.
    3. Accédez à l'onglet Infrastructure classique.
    4. 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é.

  1. Assurez-vous d'avoir créé un profil de confiance qui répond aux exigences minimales pour les composants de stockage.

  2. 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.
  3. Vérifiez que le profil de confiance a été ajouté au cluster.

    ibmcloud oc experimental trusted-profile get --cluster CLUSTER
    

    Exemple 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-system pour 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.