Gestion de l'accès aux ressources

Pour gérer les droits d'accès à des utilisateurs ou à des ID de service au moyen de règles IAM, vous devez être le propriétaire du compte ou disposer des droits d'accès appropriés. Pour affecter à un utilisateur les droits d'accès à des ressources, vous devez être l'administrateur de tous les services du compte ou l'administrateur affecté au service ou à l'instance de service spécifique. Pour affecter des droits d'accès à un ID de service, vous devez être administrateur sur le service d'identité ou l'ID de service spécifique.

Affectation d'accès aux ressources

Vous pouvez affecter l'accès aux ressources à l'aide de deux types de règles :

  • Accès aux ressources du compte, avec la possibilité d'inclure un seul type ou tous les types
  • Accès aux ressources au sein d'un groupe de ressources, y compris la possibilité d'accéder à une seule ressource ou à toutes les ressources

Si vous supprimez ou modifiez une politique existante pour un identifiant de service en cours d'utilisation, vous risquez de provoquer une interruption de service.

Si vous souhaitez accorder à un utilisateur un accès administrateur complet pour effectuer des tâches de gestion des comptes, telles que l'invitation et la suppression d'utilisateurs, l'affichage de la facturation et de l'utilisation, la gestion des ID de service, la gestion des groupes d'accès, la gestion des accès utilisateur et l'accès à toutes les ressources compatibles IAM, vous devez affecter l'accès suivant à un utilisateur :

  • Une politique pour les services activés par l'identité et l'accès avec les rôles d'administrateur et de gestionnaire.
  • Une politique avec le rôle d'administrateur sur tous les services de gestion des comptes.

Vous pouvez également définir des balises de gestion d'accès pour gérer l'accès. Pour plus d'informations, voir Contrôle de l'accès aux ressources à l'aide d'étiquettes.

Les utilisateurs ayant le rôle d'administrateur pour les services de gestion des comptes peuvent modifier l'accès d'autres utilisateurs et supprimer des utilisateurs de la ressource, y compris d'autres utilisateurs ayant le rôle d'administrateur.

Affectation d'un accès à des ressources dans la console

Pour affecter des droits d'accès à une ressource individuelle du compte ou l'accès à toutes les ressources du compte, procédez comme suit :

  1. Dans la console IBM Cloud, cliquez sur Gérer > Accès (IAM), puis sélectionnez Utilisateurs ou Gérer > Accès (IAM), puis ID de service, en fonction de l'identité à laquelle vous souhaitez affecter l'accès.
  2. Cliquez sur l'icône Actions Icône Liste des actions > Affecter un accès pour l'utilisateur ou l'ID de service auquel vous souhaitez affecter l'accès.
  3. Sélectionnez un groupe de services ou un seul service. Ensuite, cliquez sur Suivant.
  4. Etendez l'accès à toutes les ressources du compte ou sélectionnez des ressources spécifiques en fonction des attributs.
  5. Cliquez sur Suivant.
  6. Sélectionnez une combinaison de rôles à affecter, puis cliquez sur Réviser.
  7. Cliquez sur Ajouter pour ajouter votre configuration de règles à votre récapitulatif de règles.
  8. (Facultatif) Ajoutez des utilisateurs ou des ID de service à Groupes d'accès.
    1. Sélectionnez les groupes d'accès auxquels vous souhaitez que l'utilisateur ou l'ID de service appartienne.
    2. Cliquez sur Ajouter
  9. Cliquez sur Affecter.

Si un utilisateur ne détient pas de rôle sur le groupe de ressources qui contient les ressources, il peut voir les ressources, mais il ne peut pas y accéder en passant par la liste de ressources du compte pour commencer à les utiliser. Affectez le rôle Afficheur ou un rôle supérieur sur le groupe de ressources lui-même pour vous assurer qu'un utilisateur peut accéder à la ressource.

L'augmentation des limites des polices d'assurance pour les identifiants de service est disponible pour certains comptes. Pour profiter de l'augmentation des limites de la police, attribuez l'accès aux services Event Streams ou IBM Cloud Object Storage. Vous devez également étendre les politiques d'accès à une instance de service, un type de ressource et un identifiant de ressource spécifiques.

Affectation d'un accès dans un groupe de ressources de la console

Pour affecter des droits d'accès à toutes les ressources d'un groupe de ressources ou uniquement à un service d'un groupe de ressources, procédez comme suit :

  1. Dans la console IBM Cloud, cliquez sur Gérer > Accès (IAM) et sélectionnez Utilisateurs ou ID de service, en fonction de l'identité à laquelle vous souhaitez affecter l'accès.
  2. Cliquez sur l'utilisateur ou l'ID de service auquel vous souhaitez attribuer un accès, puis cliquez sur Accès > Attribuer un accès.
  3. Sélectionnez un groupe de services ou un seul service. Ensuite, cliquez sur Suivant.
  4. Etendez l'accès à Ressources spécifiques. Sélectionnez le type d'attribut Groupe de ressources et saisissez un groupe de ressources.
  5. Cliquez sur Suivant.
  6. Sélectionnez les rôles d'accès pour gérer le groupe de ressources. Ensuite, cliquez sur Suivant.
  7. Sélectionnez une combinaison de rôles à affecter, puis cliquez sur Réviser.
  8. Cliquez sur Ajouter pour ajouter votre configuration de règles à votre récapitulatif de règles.
  9. Cliquez sur Affecter.

Attribution d'un accès à la gestion d'un groupe de ressources

Vous pouvez attribuer l'accès à la visualisation ou à la gestion d'un groupe de ressources sans attribuer l'accès au service.

En tant qu'administrateur, vous pouvez créer un groupe d'accès avec le rôle de visualiseur sur tous les groupes de ressources. Ainsi, lorsque vous attribuez l'accès aux ressources de service, vous n'avez pas besoin de créer des règles supplémentaires pour visualiser les groupes de ressources. Le rôle de visualiseur d'un groupe de ressources est nécessaire pour qu'un utilisateur puisse créer une instance de service dans ce groupe de ressources.

Pour attribuer un accès à un groupe de ressources sans attribuer d'accès au service, procédez comme suit :

  1. Dans la console IBM Cloud, cliquez sur Gérer > Accès (IAM) et sélectionnez Utilisateurs ou ID de service, en fonction de l'identité à laquelle vous souhaitez affecter l'accès.
  2. Cliquez sur l'utilisateur ou l'ID de service auquel vous souhaitez attribuer un accès, puis cliquez sur Accès > Attribuer un accès.
  3. Sélectionner le groupe de ressources uniquement.
  4. Sélectionnez Ajouter une condition.
  5. Sélectionnez le type d'attribut Groupe de ressources et saisissez un groupe de ressources.
  6. Cliquez sur Suivant.
  7. Sélectionnez les rôles d'accès pour la visualisation ou la gestion du groupe de ressources. Cliquez ensuite sur Réviser.
  8. Cliquez sur Ajouter pour ajouter votre configuration de règles à votre récapitulatif de règles.
  9. Cliquez sur Affecter.

Vous pouvez répéter ce type de politique pour chaque groupe de ressources disponible dans le compte afin d'attribuer un accès à la gestion de tous les groupes de ressources du compte.

Affectation d'un accès à des ressources à l'aide de l'interface de ligne de commande

  1. Connectez-vous à l'interface de ligne de commande IBM Cloud®. Si vous possédez plusieurs comptes, vous êtes invité à sélectionner le compte à utiliser. Si vous n'indiquez pas de région avec l'option -r, vous devez également sélectionner une région.

    ibmcloud login
    

    Si vos données d'identification sont rejetées, vous pouvez utiliser un ID fédéré. Pour vous connecter avec un ID fédéré, utilisez l'indicateur --sso. Voir Connexion à l'aide d'un ID fédéré pour plus de détails.

    Si c'est la première fois que vous utilisez l'interface de ligne de commande IBM Cloud, consultez la rubrique Tutoriel d'initiation.

  2. Créez une politique d'accès et attribuez-la à un utilisateur ou à un identifiant de service à l'aide de la commande ibmcloud iam user-policy-create.

    • Cet exemple attribue l'accès à une ressource individuelle dans le compte avec le rôle Administrator pour toutes les instances du service sample-service:
    ibmcloud iam user-policy-create name@example.com --roles Administrator --service-name sample-service
    
    • Cet exemple attribue l'accès aux services de gestion de tous les comptes avec le rôle Administrator:
    ibmcloud iam service-policy-create name@example.com --roles Administrator --account-management
    
    • Cet exemple attribue l'accès à tous les services d'identité et d'accès avec le rôle Administrator:
    ibmcloud iam service-policy-create name@example.com --roles Administrator --attributes serviceType=service
    
    • Cet exemple attribue l'accès à tous les services de gestion des comptes IAM avec le rôle Administrator:
    ibmcloud iam service-policy-create name@example.com --roles Administrator --attributes service_group_id=IAM
    

    L'augmentation des limites des polices d'assurance pour les identifiants de service est disponible pour certains comptes. Pour profiter de l'augmentation des limites de la police, attribuez l'accès aux services Event Streams ou IBM Cloud Object Storage. Vous devez également étendre les politiques d'accès à une instance de service, un type de ressource et un identifiant de ressource spécifiques.

    • Cet exemple attribue l'accès à Object Storage avec le rôle Manager. Il permet d'accéder à une instance de service, à un type de ressource et à un identifiant de ressource spécifiques :
    ibmcloud iam service-policy-create SERVICE_ID service-name cloud-object-storage --service-instance SERVICE_INSTANCE_GUID --resource-type RESOURCE_TYPE --resource RESOURCE --roles Manager
    

Affectation d'un accès dans un groupe de ressources à l'aide de l'interface de ligne de commande

Entrez la commande ibmcloud user-policy-create pour affecter un accès à toutes les ressources d'un groupe de ressources, ou à un seul service d'un groupe de ressources. Cet exemple accorde à name@example.com le rôle Operator pour le groupe de ressources portant l'ID dda27e49d2a1efca58083a01dfde18f6 :

ibmcloud iam user-policy-create name@example.com --roles Operator --resource-type resource-group --resource dda27e49d2a1efca58083a01dfde18f6

Entrez la commande ibmcloud iam service-policy-create pour affecter un accès à toutes les ressources d'un groupe de ressources, ou à un seul service d'un groupe de ressources. Cet exemple accorde au service test le rôle Administrator pour le groupe de ressources nommé sample-resource-group :

ibmcloud iam service-policy-create test --roles Administrator --resource-group-name sample-resource-group

Attribution d'un accès à la gestion d'un groupe de ressources à l'aide de la CLI

Vous pouvez attribuer l'accès à la visualisation ou à la gestion d'un groupe de ressources sans attribuer l'accès au service.

En tant qu'administrateur, vous pouvez créer un groupe d'accès avec le rôle de visualiseur sur tous les groupes de ressources. Ainsi, lorsque vous attribuez l'accès aux ressources de service, vous n'avez pas besoin de créer des règles supplémentaires pour visualiser les groupes de ressources. Le rôle de visualiseur d'un groupe de ressources est nécessaire pour qu'un utilisateur puisse créer une instance de service dans ce groupe de ressources.

L'exemple suivant crée une politique pour le visualiseur d'un groupe de ressources spécifique :

iam user-policy-create name@example.com --roles Viewer --resource-type resource-group --resource fec6c95e6a0a44c5bcca138bfe5a1f9e

L'exemple suivant crée une stratégie pour la visualisation de tous les groupes de ressources du compte.

iam user-policy-create name@example.com --roles Viewer --resource-type resource-group

L'exemple suivant crée une politique de visualisation de toutes les ressources d'un groupe de ressources

iam user-policy-create name@example.com --roles Viewer --resource-group-name satellite-test

Affectation d'un accès à des ressources à l'aide de l'API

Vous pouvez attribuer un accès à une ressource individuelle dans le compte ou à une liste de ressources dans le compte en appelant l'API de gestion des politiques IBM Cloud® Identity and Access Management(IAM), comme le montre l'exemple de demande suivant. Dans cet exemple, un accès est accordé au rôle Administrator pour une instance d'un service :

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' -d '{
  "type": "access",
  "description": "Administrator role for SERVICE_NAME's RESOURCE_NAME",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "IBMid-123453user"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::role:Administrator"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceName",
          "value": "$SERVICE_NAME"
        },
        {
          "name": "resource",
          "value": "$RESOURCE_NAME",
          "operator": "stringEquals"
        }
      ]
    }
  ]
}'
SubjectAttribute subjectAttribute = new SubjectAttribute.Builder()
      .name("iam_id")
      .value("EXAMPLE_USER_ID")
      .build();

PolicySubject policySubjects = new PolicySubject.Builder()
      .addAttributes(subjectAttribute)
      .build();

PolicyRole policyRoles = new PolicyRole.Builder()
      .roleId("crn:v1:bluemix:public:iam::::role:Administrator")
      .build();

ResourceAttribute accountIdResourceAttribute = new ResourceAttribute.Builder()
      .name("accountId")
      .value(exampleAccountId)
      .operator("stringEquals")
      .build();

ResourceAttribute serviceNameResourceAttribute = new ResourceAttribute.Builder()
      .name("serviceName")
      .value("service")
      .operator("stringEquals")
      .build();

PolicyResource policyResources = new PolicyResource.Builder()
      .addAttributes(accountIdResourceAttribute)
      .addAttributes(serviceNameResourceAttribute)
      .build();

CreatePolicyOptions options = new CreatePolicyOptions.Builder()
      .type("access")
      .subjects(Arrays.asList(policySubjects))
      .roles(Arrays.asList(policyRoles))
      .resources(Arrays.asList(policyResources))
      .build();

Response<Policy> response = service.createPolicy(options).execute();
Policy policy = response.getResult();

System.out.println(policy);
const policySubjects = [
  {
    attributes: [
      {
        name: 'iam_id',
        value: 'exampleUserId',
      },
    ],
  },
];
const policyRoles = [
  {
    role_id: 'crn:v1:bluemix:public:iam::::role:Administrator',
  },
];
const accountIdResourceAttribute = {
  name: 'accountId',
  value: exampleAccountId,
  operator: 'stringEquals',
};
const serviceNameResourceAttribute = {
  name: 'serviceName',
  value: 'service',
  operator: 'stringEquals',
};
const policyResources = [
  {
    attributes: [accountIdResourceAttribute, serviceNameResourceAttribute]
  },
];
const params = {
  type: 'access',
  subjects: policySubjects,
  roles: policyRoles,
  resources: policyResources,
};

iamPolicyManagementService.createPolicy(params)
  .then(res => {
    examplePolicyId = res.result.id;
    console.log(JSON.stringify(res.result, null, 2));
  })
  .catch(err => {
    console.warn(err)
  });
policy_subjects = PolicySubject(
  attributes=[SubjectAttribute(name='iam_id', value='example_user_id')])
policy_roles = PolicyRole(
  role_id='crn:v1:bluemix:public:iam::::role:Administrator')
account_id_resource_attribute = ResourceAttribute(
  name='accountId', value=example_account_id)
service_name_resource_attribute = ResourceAttribute(
  name='serviceName', value='service')
policy_resources = PolicyResource(
  attributes=[account_id_resource_attribute,
        service_name_resource_attribute])

policy = iam_policy_management_service.create_policy(
  type='access',
  subjects=[policy_subjects],
  roles=[policy_roles],
  resources=[policy_resources]
).get_result()

print(json.dumps(policy, indent=2))
subjectAttribute := &iampolicymanagementv1.SubjectAttribute{
  Name:  core.StringPtr("iam_id"),
  Value: core.StringPtr("exampleUserID"),
}
policySubjects := &iampolicymanagementv1.PolicySubject{
  Attributes: []iampolicymanagementv1.SubjectAttribute{*subjectAttribute},
}
policyRoles := &iampolicymanagementv1.PolicyRole{
  RoleID: core.StringPtr("crn:v1:bluemix:public:iam::::role:Administrator"),
}
accountIDResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
  Name:     core.StringPtr("accountId"),
  Value:    core.StringPtr(exampleAccountID),
  Operator: core.StringPtr("stringEquals"),
}
serviceNameResourceAttribute := &iampolicymanagementv1.ResourceAttribute{
  Name:     core.StringPtr("serviceName"),
  Value:    core.StringPtr("service"),
  Operator: core.StringPtr("stringEquals"),
}
policyResources := &iampolicymanagementv1.PolicyResource{
  Attributes: []iampolicymanagementv1.ResourceAttribute{
    *accountIDResourceAttribute, *serviceNameResourceAttribute}
}

options := iamPolicyManagementService.NewCreatePolicyOptions(
  "access",
  []iampolicymanagementv1.PolicySubject{*policySubjects},
  []iampolicymanagementv1.PolicyRole{*policyRoles},
  []iampolicymanagementv1.PolicyResource{*policyResources},
)

policy, response, err := iamPolicyManagementService.CreatePolicy(options)
if err != nil {
  panic(err)
}
b, _ := json.MarshalIndent(policy, "", "  ")
fmt.Println(string(b))

Vous pouvez attribuer un accès à un groupe de services. Pour attribuer l'accès à tous les services activés par l'identité et l'accès, spécifiez serviceType pour l'attribut name et utilisez l'attribut value service. Pour attribuer l'accès aux services de gestion de tous les comptes, spécifiez serviceType pour l'attribut name et utilisez l'attribut value platform_service. Pour attribuer l'accès au sous-ensemble de services de gestion de comptes Tous les services de gestion de comptes IAM, spécifiez service_group_id pour l'attribut name et utilisez l'attribut value IAM.

L'augmentation des limites des polices d'assurance pour les identifiants de service est disponible pour certains comptes. Pour profiter de l'augmentation des limites de la police, attribuez l'accès aux services Event Streams ou IBM Cloud Object Storage. Vous devez également étendre les politiques d'accès à une instance de service, un type de ressource et un identifiant de ressource spécifiques.

L'exemple de demande suivant donne à un rôle d'ID de service Reader l'accès à une instance de Object Storage. Il permet d'accéder à une instance de service, à un type de ressource et à un identifiant de ressource spécifiques :

curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{
  "type": "access",
  "description": "Reader role for SERVICE_NAME's RESOURCE_NAME",
  "subjects": [
    {
      "attributes": [
        {
          "name": "iam_id",
          "value": "$SERVICE_ID"
        }
      ]
    }'
  ],
  "roles":[
    {
      "role_id": "crn:v1:bluemix:public:iam::::serviceRole:Reader"
    }
  ],
  "resources":[
    {
      "attributes": [
        {
          "name": "accountId",
          "value": "$ACCOUNT_ID"
        },
        {
          "name": "serviceName",
          "value": "cloud-object-storage"
        },,
        {
          "name": "serviceInstance",
          "value": "$INSTANCE_ID",
          "operator": "stringEquals"
        }
        {
          "name": "resourceType",
          "value": "$RESOURCE_TYPE",
          "operator": "stringEquals"
        },
        {
          "name": "resource",
          "value": "$RESOURCE_NAME",
          "operator": "stringEquals"
        }
      ]
    }
  ]
}'

Affectation d'un accès dans un groupe de ressources à l'aide de l'API

Cette action ne peut être effectuée que via l'interface utilisateur ou l'interface de ligne de commande. Pour afficher les étapes, passez aux instructions de l'interface utilisateur ou de l'interface de ligne de commande.

Avant de commencer

Avant de pouvoir attribuer l'accès aux ressources à l'aide de Terraform, assurez-vous d'avoir effectué les opérations suivantes :

  • Installez le CLI Terraform et configurez le plug-in IBM Cloud Provider pour Terraform. Pour plus d'informations, voir le tutoriel Getting started with Terraform sur IBM Cloud®. Ce plug-in résume les API IBM Cloud utilisées pour effectuer cette tâche.
  • Créez un fichier de configuration Terraform nommé main.tf. Dans ce fichier, vous définissez les ressources en utilisant le langage de configuration HashiCorp. Pour plus d'informations, voir la documentation de Terraform.

Affectation de l'accès aux ressources à l'aide de Terraform

Pour attribuer l'accès aux ressources à l'aide de Terraform, procédez comme suit :

  1. Attribuez l'accès aux ressources en utilisant l'argument de ressource ibm_iam_user_policy dans votre fichier main.tf.

    L'exemple suivant donne le rôle test@in.ibm.com Viewer à toutes les instances du service kms en utilisant ibm_iam_user_policy.

    resource "ibm_iam_user_policy" "policy" {
     ibm_id = "test@in.ibm.com"
     roles  = ["Viewer"]
    
    resources {
     service = "kms"
    }
    }
    

    L'augmentation des limites des polices d'assurance pour les identifiants de service est disponible pour certains comptes. Pour profiter de l'augmentation des limites de la police, attribuez l'accès aux services Event Streams ou IBM Cloud Object Storage. Vous devez également étendre les politiques d'accès à une instance de service, un type de ressource et un identifiant de ressource spécifiques.

    L'exemple suivant donne à un service ID le rôle Reader l'accès à une instance de Object Storage en utilisant ibm_iam_user_policy. Il permet d'accéder à une instance de service, à un type de ressource et à un identifiant de ressource spécifiques :

    resource "ibm_iam_service_policy" "policy" {
     iam_service_id = "$SERVICE_ID"
     roles          = ["Reader"]
    
    resources {
     service              = "cloud_object_storage"
     resource_instance_id = "$SERVICE_INSTANCE_ID"
     resource_type = "$RESOURCE_TYPE"
     resource      = "$RESOURCE"
    }
    }
    

    Vous pouvez indiquer le nom du service auquel vous souhaitez affecter l'accès dans l'option service. Pour plus d'informations, voir les détails de la référence des arguments sur la page Terraform Identity and Access Management(IAM ).

    Contrôlez l'accès aux ressources avec le module IAM Access Groups pour des autorisations basées sur des règles. Découvrez les modules Terraform IBM pour les stratégies d'accès.

  2. Une fois que vous avez fini de construire votre fichier de configuration, initialisez le CLI Terraform. Pour plus d'informations, voir Initialisation des répertoires de travail.

    terraform init
    
  3. Fournir les ressources à partir du fichier main.tf. Pour plus d'informations, voir Provisionnement de l'infrastructure avec Terraform.

    1. Exécutez terraform plan pour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.

      terraform plan
      
    2. Exécutez le site terraform apply pour créer les ressources définies dans le plan.

      terraform apply
      

Affectation d'un accès dans un groupe de ressources à l'aide de Terraform

Pour attribuer un accès au sein d'un groupe de ressources à l'aide de Terraform, procédez comme suit.

  1. Attribuez un accès au sein d'un groupe de ressources en utilisant la ressource ibm_iam_user_policy dans votre fichier main.tf.

    L'exemple suivant donne le rôle test@in.ibm.com Viewer pour le groupe de ressources avec l'ID data.ibm_resource_group.group.id en utilisant ibm_iam_user_policy.

    data "ibm_resource_group" "group" {
     name = "default"
    }
    
    resource "ibm_iam_user_policy" "policy" {
     ibm_id = "test@in.ibm.com"
     roles  = ["Viewer"]
    
    resources {
     service           = "containers-kubernetes"
     resource_group_id = data.ibm_resource_group.group.id
    }
    }
    

    Vous pouvez spécifier l'ID du groupe de ressources auquel vous souhaitez attribuer l'accès sur l'option resource_group_id. Pour plus d'informations, voir les détails de la référence des arguments sur la page Terraform Identity and Access Management(IAM ).

    Étendre l'accès aux groupes de ressources à l'aide du module IAM Access Groups pour un contrôle granulaire. Consultez les modules Terraform IBM pour connaître les politiques relatives aux groupes de ressources.

  2. Une fois que vous avez fini de construire votre fichier de configuration, initialisez le CLI Terraform. Pour plus d'informations, voir Initialisation des répertoires de travail.

    terraform init
    
  3. Fournir les ressources à partir du fichier main.tf. Pour plus d'informations, voir Provisionnement de l'infrastructure avec Terraform.

    1. Exécutez terraform plan pour générer un plan d'exécution Terraform afin de prévisualiser les actions proposées.

      terraform plan
      
    2. Exécutez le site terraform apply pour créer les ressources définies dans le plan.

      terraform apply
      

Retrait d'un accès dans la console

La procédure de suppression d'accès pour un utilisateur ou un ID de service peut nécessiter jusqu'à 10 minutes.

  1. Dans la console IBM Cloud, cliquez sur Gérer > Accès (IAM) et sélectionnez Utilisateurs ou ID de service, en fonction de l'identité que vous souhaitez gérer.
  2. Sélectionnez le nom de l'utilisateur ou l'ID de service auquel vous voulez retirer l'accès.
  3. Dans l'onglet Accès, cliquez sur l'icône Actions Actions > Supprimer sur la ligne de la politique que vous souhaitez supprimer.
  4. Consultez les détails relatifs à la règle que vous êtes sur le point de retirer, puis confirmez le retrait en cliquant sur Retirer.

Vous pouvez également retirer des utilisateurs et des ID de service des groupes d'accès en cochant la case en regard de l'utilisateur ou de l'ID de service à retirer et en cliquant sur Retirer. Ensuite, cliquez à nouveau sur Retirer pour approuver le processus.

Retrait de l'accès à l'aide de l'interface de ligne de commande

Si vous souhaitez retirer une règle utilisateur à l'aide de l'interface de ligne de commande, vous pouvez utiliser la commande ibmcloud iam user-policy-delete.

ibmcloud iam user-policy-delete USER_ID POLICY_ID [-f, --force]

Pour retirer une règle d'ID de service à l'aide de l'interface de ligne de commande, vous pouvez utiliser la commande ibmcloud iam service-policy-delete.

ibmcloud iam service-policy-delete SERVICE_ID POLICY_ID [-f, --force]

Retrait de l'accès à l'aide de l'API

Supprimez une politique en fournissant un identifiant de politique et en appelant l'API de gestion des politiques IBM Cloud® Identity and Access Management(IAM), comme indiqué dans l'exemple de demande suivant :

curl -X DELETE 'https://iam.cloud.ibm.com/v1/policies/$POLICY_ID' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json'
DeletePolicyOptions options = new DeletePolicyOptions.Builder()
      .policyId(examplePolicyId)
      .build();

service.deletePolicy(options).execute();
const params = {
  policyId: examplePolicyId,
};

iamPolicyManagementService.deletePolicy(params)
.then(res => {
  console.log(JSON.stringify(res, null, 2));
})
.catch(err => {
  console.warn(err)
});
response = iam_policy_management_service.delete_policy(
  policy_id=example_policy_id
).get_result()

print(json.dumps(response, indent=2))
options := iamPolicyManagementService.NewDeletePolicyOptions(
  examplePolicyID,
)

response, err := iamPolicyManagementService.DeletePolicy(options)
if err != nil {
  panic(err)
}

Une règle ne peut pas être supprimée si l'ID de sujet contient un ID de service verrouillé.

Vérification de l'accès affecté dans la console

Pour vérifier l'accès affecté à un compte auquel vous avez été ajouté, procédez comme suit :

  1. Dans la console IBM Cloud, cliquez sur Gérer > Accès (IAM) et sélectionnez Utilisateurs ou ID de service, en fonction de l'identité que vous souhaitez réviser.
  2. Sélectionnez votre nom ou l'ID de service.
  3. Examinez l'accès attribué dans l'onglet Accès.

Si vous avez besoin d'accès supplémentaires, contactez le propriétaire du compte afin de mettre à jour vos droits d'accès ou l'administrateur du service ou de l'instance de service pour mettre à jour la règle d'accès.

Vérification de l'accès affecté à l'aide de l'interface de ligne de commande

Pour vérifier l'accès affecté dans un compte auquel vous avez été ajouté, vous pouvez utiliser la commande ibmcloud iam user-policies. Cet exemple répertorie les règles de l'utilisateur name@example.com :

ibmcloud iam user-policies name@example.com

Vérification de l'accès affecté à l'aide de l'API

L'API vous permet uniquement d'extraire toutes les règles du compte et de les filtrer par valeurs d'attribut. Vous pouvez vérifier l'accès qui vous a été attribué dans un compte en allant dans Gérer > Utilisateurs > votre_nom > Accès dans la console IBM Cloud. Pour récupérer les politiques, appelez l'API de gestion des politiques IBM Cloud® Identity and Access Management(IAM) comme indiqué dans l'exemple de demande suivant :

curl -X GET 'https://iam.cloud.ibm.com/v1/policies?account_id=$ACCOUNT_ID' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json'
ListPoliciesOptions options = new ListPoliciesOptions.Builder()
    .accountId(exampleAccountId)
    .iamId(EXAMPLE_USER_ID)
    .build();

Response<PolicyList> response = service.listPolicies(options).execute();
PolicyList policyList = response.getResult();

System.out.println(policyList);
const params = {
  accountId: exampleAccountId,
  iamId: exampleUserId
};

iamPolicyManagementService.listPolicies(params)
 .then(res => {
   console.log(JSON.stringify(res.result, null, 2));
 })
 .catch(err => {
   console.warn(err)
 });
policy_list = iam_policy_management_service.list_policies(
 account_id=example_account_id, iam_id=example_user_id
).get_result()

print(json.dumps(policy_list, indent=2))
options := iamPolicyManagementService.NewListPoliciesOptions(
 exampleAccountID,
)
options.SetIamID(exampleUserID)

policyList, response, err := iamPolicyManagementService.ListPolicies(options)
if err != nil {
 panic(err)
}
b, _ := json.MarshalIndent(policyList, "", "  ")
fmt.Println(string(b))