Affectation de l'accès à un compartiment individuel
Attribuez des rôles d'accès aux utilisateurs et aux ID de service sur les compartiments, à l'aide de l'interface utilisateur ou de l'interface de ligne de commande, pour créer des règles.
| Rôle d'accès | Exemples d'actions |
|---|---|
| Responsable | Rendre les objets publics, créer et détruire des compartiments et des objets |
| Auteur | Créer et détruire des compartiments et des objets |
| Lecteur | Répertoriez les compartiments, les objets de liste et les objets de téléchargement. |
| Lecteur de contenu | Répertorier et télécharger des objets |
| Lecteur d'objet | Recevoir par téléchargement des objets |
| Rédacteur d'objet | Transfert d'objets |
Octroi d'un accès à un utilisateur
Si l'utilisateur doit pouvoir utiliser la console et peut afficher la liste de tous les compartiments d'une instance, il est possible d'utiliser un rôle d'accès de plateforme personnalisé. Cela leur permet d'afficher uniquement le contenu de compartiments spécifiques. S'il n'est pas approprié pour un utilisateur de lire les noms d'autres compartiments, il est nécessaire de concevoir et d'implémenter un portail personnalisé ou une autre interface utilisateur à l'aide de l'API.
Si l'utilisateur interagit avec les données en utilisant l'API et n'a pas besoin d'accéder à la console, et s'il est membre de votre compte, vous pouvez lui accorder l'accès à un seul godet sans accès à l'instance parente à l'aide des rôles par défaut.
Application des règles
Les règles IAM sont appliquées hiérarchiquement du niveau d'accès le plus élevé vers le niveau d'accès le plus restreint. Les conflits sont résolus en utilisant la règle plus permissive. Par exemple, si un utilisateur possède les rôles d'accès
au service Writer et Reader sur un compartiment, la règle accordant le rôle Reader est ignorée.
Cela s'applique également aux règles d'instance de service et de niveau de compartiment.
- Par exemple, si la règle affectée à un utilisateur lui octroie le rôle d'accès
Writersur une instance de service et le rôleReadersur un compartiment unique, la règle de niveau compartiment est ignorée. - Si la règle affectée à un utilisateur lui octroie le rôle d'accès
Readersur une instance de service et le rôleWritersur un compartiment unique, les deux règles sont appliquées et le rôleWriterplus permissif est prioritaire pour le compartiment individuel.
S'il est nécessaire de restreindre l'accès à un seul seau (ou ensemble de seaux), assurez-vous que l'utilisateur ou l'identifiant de service n'a pas d'autres politiques au niveau de l'instance en utilisant la console ou le CLI.
Pour en savoir plus, voir Meilleures pratiques pour l'organisation des ressources et l'affectation des accès.
Créer une nouvelle politique pour un utilisateur
Pour créer une règle de niveau compartiment :
- Accédez à la console Accès (IAM) à partir du menu Gérer.
- Sélectionnez Utilisateurs dans le menu de navigation de gauche.
- Sélectionnez un utilisateur.
- Sélectionnez l'onglet Règles d'accès pour visualiser les règles existantes de l'utilisateur, affecter une nouvelle règle ou éditer une règle existante.
- Cliquez sur Affecter un accès pour créer une nouvelle règle.
- Choisissez Affecter l'accès aux ressources.
- Sélectionnez d'abord Cloud Object Storage dans le menu des services.
- Sélectionnez ensuite l'instance de service appropriée. Entrez
bucketdans la zone Type de ressource et le nom du compartiment dans la zone Ressource. - Sélectionnez le rôle d'accès au service souhaité. La sélection du losange avec le nombre d'actions affiche les actions disponibles pour le rôle, comme illustré pour "Lecteur de contenu" dans la figure 1.
- Cliquez sur Affecter.
Notez que si la zone Type de ressource ou Ressource est vide, une règle de niveau instance sera créée.
Création d'une règle pour une commande d'interface de ligne de commande utilisateur
A partir d'un terminal, exécutez la commande suivante :
ibmcloud iam user-policy-create <user-name> \
--roles <role> \
--service-name cloud-object-storage \
--service-instance <resource-instance-id> \
--resource-type bucket \
--resource <bucket-name>
Pour répertorier des règles existantes :
ibmcloud iam user-policies <user-name>
Pour éditer une règle existante :
ibmcloud iam user-policy-update <user-name> <policy-id> \
--roles <role> \
--service-name cloud-object-storage \
--service-instance <resource-instance-id> \
--resource-type bucket \
--resource <bucket-name>
Octroi d'un accès à un utilisateur
Si vous devez accorder l'accès à un godet à une application ou à une autre entité non humaine, utilisez un identifiant de service. L'ID de service peut être créé spécifiquement pour cette opération ou il peut s'agir d'un ID service existant déjà utilisé.
Créer une nouvelle politique pour un utilisateur
- Accédez à la console Accès (IAM) à partir du menu Gérer.
- Sélectionnez ID de service dans le menu de navigation de gauche.
- Sélectionnez un ID de service pour afficher des règles existantes et affectez une nouvelle règle ou éditez une règle existante.
- Sélectionnez l'instance de service, l'ID de service et le rôle souhaité.
- Entrez
bucketdans la zone Type de ressource et le nom de compartiment dans la zone Ressource. - Cliquez sur Submit.
Notez que si la zone Type de ressource ou Ressource est vide, une règle de niveau instance sera créée.
Créer une nouvelle politique pour un identifiant de service
A partir d'un terminal, exécutez la commande suivante :
ibmcloud iam service-policy-create <service-id-name> \
--roles <role> \
--service-name cloud-object-storage \
--service-instance <resource-instance-id> \
--resource-type bucket \
--resource <bucket-name>
Pour répertorier des règles existantes :
ibmcloud iam service-policies <service-id-name>
Pour éditer une règle existante :
ibmcloud iam service-policy-update <service-id-name> <policy-id> \
--roles <role> \
--service-name cloud-object-storage \
--service-instance <resource-instance-id>
--resource-type bucket \
--resource <bucket-name>