Etablissement d'autorisations de service à service pour le service de sauvegarde
Configurez les autorisations de service à service et les rôles utilisateur pour « IBM Cloud Backup for VPC » afin de détecter les balises de ressources et de créer des instantanés de sauvegarde des volumes bloc et des partages de fichiers.
Présentation
Pour que le service IBM Cloud Backup for VPC fonctionne, vous devez fournir une autorisation pour le service. Lors d'une autorisation, le service source se voit accorder l'accès au service cible. Les rôles que vous sélectionnez définissent le niveau d'accès pour le service source. Le service cible est le service auquel vous accordez un droit d'accès au service source, en fonction des rôles que vous attribuez. Un service source peut se trouver dans le compte où l'autorisation a été créée ou dans un autre compte. Le service cible est toujours dans le compte où l'autorisation est créée.
Pour créer une politique de sauvegarde et pour que les tâches de sauvegarde s'exécutent correctement, le service de sauvegarde doit être autorisé à travailler avecBlock Storage for VPC, instantanés pour VPC etVirtual Server for VPC prestations de service.
Les administrateurs de compte d'entreprise qui souhaitent créer une politique de sauvegarde pour leur compte d'entreprise et ses sous-comptes doivent également disposer d'une autorisation. Plus précisément, le service de sauvegarde du compte d'entreprise doit être autorisé à interagir avec le service de sauvegarde des sous-comptes.
Pour créer une politique de sauvegarde et pour que les tâches de sauvegarde s'exécutent correctement pour les partages de fichiers, le service de sauvegarde doit être autorisé à travailler avec File Storage for VPC
Pour plus d'informations sur les autorisations, voir Utilisation des autorisations pour accorder l'accès entre les services.
Si vous configurez les autorisations de service de manière incorrecte, le service de sauvegarde ne peut pas créer les règles de sauvegarde. Pour plus d'informations, voir la rubrique de dépannage Quelle est la cause de l'erreur d'autorisation de service lorsque j'essaie de créer une politique de sauvegarde?
Création de politiques d'autorisation dans la console
Création d'une autorisation pour les sauvegardes de volume au niveau du compte
Pour créer une règle d'autorisation de service à service, procédez comme suit:
- Dans la console d' IBM Cloud, accédez à Gérer > Accès (IAM).
- Dans le panneau latéral, sélectionnez Autorisations.
- Sur la page Gérer les autorisations, cliquez sur Créer.
- Dans la section Source, sélectionnez le compte source. Lorsque vous configurez l'autorisation pour le service de sauvegarde dans votre compte, sélectionnez Ce compte. Cliquez sur Suivant.
- Pour le service source, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Dans la liste, sélectionnez Type de ressource.
- Dans le champ suivant, sélectionnez IBM Cloud Backup for VPC.
- Cliquez sur Suivant.
- Pour le service cible, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Cliquez sur Type de ressource. Sélectionnez l'un des services suivants. Vous devez créer une autorisation pour tous ces éléments.
| Service source - type de ressource | Service cible - type de ressource | Rôle utilisateur du service dépendant |
|---|---|---|
| IBM Cloud Backup for VPC | Block Storage for VPC | Opérateur |
| IBM Cloud Backup for VPC | Block Storage Snapshots for VPC | Editeur |
| IBM Cloud Backup for VPC | Instantanés multivolume pour VPC | Editeur |
| IBM Cloud Backup for VPC | Virtual Server for VPC | Opérateur |
(Facultatif) Pour limiter la portée de l'autorisation à certaines instances de serveurs virtuels, cliquez sur « Ajouter une condition » et sélectionnez « ID d'instance » dans la liste des attributs. Sélectionnez ensuite une instance spécifique dans le menu.
Le fait de limiter la portée de l'autorisation à certaines instances entraîne des échecs de sauvegarde pour les volumes associés à d'autres instances. Si vous ajoutez une condition pour « Virtual Server for VPC », vous devez créer une politique d'autorisation distincte pour chaque instance dont les volumes doivent être sauvegardés. Pour plus d'informations, consultez la section consacrée au dépannage des problèmes liés à la portée des autorisations.
- Cliquez sur Suivant.
- Sélectionnez le rôle. Pour plus d'informations, consultez le tableau correspondant au rôle concerné.
- Cliquez sur Vérifier et examinez vos choix.
- Cliquez sur Autoriser.
- Lorsque vous revenez à la page Gérer les autorisations, cliquez à nouveau sur Créer et suivez les mêmes étapes pour configurer les autorisations pour les services restants.
Création d'une autorisation pour les sauvegardes de fichiers partagés au niveau du compte
Pour créer une règle d'autorisation de service à service, procédez comme suit:
- Dans la console d' IBM Cloud, accédez à Gérer > Accès (IAM).
- Dans le panneau latéral, sélectionnez Autorisations.
- Sur la page Gérer les autorisations, cliquez sur Créer.
- Dans la section Source, sélectionnez le compte source. Lorsque vous configurez l'autorisation pour le service de sauvegarde dans votre compte, sélectionnez Ce compte. Cliquez sur Suivant.
- Pour le service source, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Dans la liste, sélectionnez Type de ressource.
- Dans le champ suivant, sélectionnez IBM Cloud Backup for VPC.
- Cliquez sur Suivant.
- Pour le service cible, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Cliquez sur Type de ressource. Sélectionnez File Storage for VPC.
- Cliquez sur Suivant.
- Sélectionner les rôles : Éditeur, Opérateur de capture d'écran.
- Cliquez sur Vérifier et examinez vos choix.
- Cliquez sur Autoriser.
Création d'une autorisation inter-comptes pour les sauvegardes gérées par le compte Enterprise à partir du compte enfant
Pour permettre à un administrateur d'Enterprise de gérer les sauvegardes de manière centralisée, les sous-comptes doivent autoriser le service de sauvegarde du compte Enterprise à interagir avec leurs ressources. L'administrateur du compte enfant peut suivre ces étapes pour créer les autorisations localement, depuis son compte.
- Dans la console d' IBM Cloud, accédez à Gérer > Accès (IAM).
- Dans le panneau latéral, sélectionnez Autorisations.
- Sur la page Gérer les autorisations, cliquez sur Créer.
- Dans la section Source, sélectionnez le compte source. Lorsque vous configurez l'autorisation pour le service de sauvegarde du compte d'entreprise, sélectionnez Compte spécifique et entrez l'ID du compte d'entreprise. Cliquez sur Suivant.
- Pour le service source, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Dans la liste, sélectionnez Type de ressource.
- Dans le champ suivant, sélectionnez IBM Cloud Backup for VPC.
- Cliquez sur Suivant.
- Pour le service cible, sélectionnez Services d'infrastructure VPC dans la liste.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Cliquez sur Type de ressource. Sélectionnez l'un des services dans le tableau 2.
| Service source - type de ressource | Service cible - type de ressource | Rôle utilisateur du service dépendant |
|---|---|---|
| IBM Cloud Backup for VPC | Block Storage for VPC | Opérateur |
| IBM Cloud Backup for VPC | Block Storage Snapshots for VPC | Editeur |
| IBM Cloud Backup for VPC | Instantanés multivolume pour VPC | Editeur |
| IBM Cloud Backup for VPC | Virtual Server for VPC | Opérateur |
| IBM Cloud Backup for VPC | IBM Cloud Backup for VPC | Editeur |
| IBM Cloud Backup for VPC | File Storage for VPC | Éditeur, opérateur de Share Snapshot |
- Cliquez sur Suivant.
- Sélectionnez le rôle. Pour plus d'informations, consultez le tableau 2 afin de déterminer le rôle approprié.
- Cliquez sur Vérifier et examinez vos choix.
- Cliquez sur Autoriser.
- Lorsque vous revenez à la page Gérer les autorisations, cliquez à nouveau sur Créer et suivez les mêmes étapes pour configurer les autorisations pour les services restants.
Création de modèles d'autorisation inter-comptes pour les sauvegardes gérées par Enterprise
Grâce aux modèles d'autorisation, l'administrateur du compte Entreprise peut créer une politique d'autorisation et l'attribuer aux comptes enfants. L'autorisation est alors appliquée à ces comptes sans que l'administrateur ait à se connecter individuellement à chaque compte d'enfant.
- Dans la console d' IBM Cloud, accédez à Gérer > Accès (IAM) > Entreprise > Modèles.
- Sélectionnez Autorisations et cliquez sur Créer.
- Entrez un nom et une description pour le modèle d'autorisation qui décrit son objectif pour les utilisateurs de l'entreprise.
- Saisissez une description de la politique d'autorisation gérée par l'entreprise qui décrit son objectif pour les utilisateurs du compte enfant.
- Cliquez sur Créer.
Ensuite, suivez les étapes suivantes pour élaborer les règles d'autorisation :
- Allez dans Autorisation pour spécifier les détails de la politique d'autorisation.
- Sélectionnez le compte à partir duquel le service source demande l'accès à un autre service. Sélectionnez Compte(s) attribué(s). Lorsque vous attribuez ultérieurement le modèle d'autorisation à un compte enfant, le champ « Compte source » est automatiquement défini pour correspondre au compte enfant qui détient la ressource à laquelle on accède.
- Sélectionnez ensuite le service et les ressources sources.
- Sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Dans la liste, sélectionnez Type de ressource.
- Dans le champ suivant, sélectionnez IBM Cloud Backup for VPC.
- Pour le service cible, sélectionnez Services d'infrastructure VPC dans la liste.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Dans la liste, sélectionnez Type de ressource. Sélectionnez l'un des services figurant dans le tableau ci-dessous. Vous devez créer une autorisation pour tous ces éléments.
| Service source - type de ressource | Service cible - type de ressource | Rôle utilisateur du service dépendant |
|---|---|---|
| IBM Cloud Backup for VPC | Block Storage for VPC | Opérateur |
| IBM Cloud Backup for VPC | Block Storage Snapshots for VPC | Editeur |
| IBM Cloud Backup for VPC | Instantanés multivolume pour VPC | Editeur |
| IBM Cloud Backup for VPC | Virtual Server for VPC | Opérateur |
| IBM Cloud Backup for VPC | IBM Cloud Backup for VPC | Editeur |
| IBM Cloud Backup for VPC | File Storage for VPC | Éditeur, opérateur de Share Snapshot |
- Cliquez sur Suivant.
- Sélectionnez le rôle. Pour plus d'informations, consultez le tableau correspondant au rôle concerné.
- Cliquez sur Vérifier et examinez vos choix. Ensuite, cliquez sur Sauvegarder.
- Valider et attribuer le modèle aux comptes enfants. Répétez les étapes pour créer des modèles d'autorisation pour tous les services.
Créer une autorisation pour Event Notifications
Pour créer une politique d'autorisation de service à service pour Event Notifications, suivez cette procédure :
- Dans la console d' IBM Cloud, accédez à Gérer > Accès (IAM).
- Dans le panneau latéral, sélectionnez Autorisations.
- Sur la page Gérer les autorisations, cliquez sur Créer.
- Dans la section Source, sélectionnez le compte source. Lorsque vous configurez l'autorisation pour le service de sauvegarde dans votre compte, sélectionnez Ce compte. Cliquez sur Suivant.
- Pour le service source, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut et dans la liste, sélectionnez Type de ressource.
- Dans le champ suivant, sélectionnez IBM Cloud Backup for VPC.
- Cliquez sur Suivant.
- Sélectionnez Event Notifications comme service cible. Cliquez sur Suivant.
- Sélectionnez la portée en cliquant sur Ressources spécifiques.
- Cliquez sur Sélectionner un attribut.
- Cliquez sur serviceInstance.
- Dans le champ suivant, sélectionnez la chaîne "equals".
- Dans le champ suivant, sélectionnez l'instance de service Event Notifications que vous souhaitez autoriser.
- Sélectionnez le rôle Gestionnaire de sources d’évènements .
- Cliquez sur Vérifier et examinez vos choix.
- Cliquez sur Autoriser.
Création de règles d'autorisation depuis l'interface de ligne de commande
Création d'une autorisation pour les sauvegardes de volume au niveau du compte
Pour utiliser Backup for VPC dans votre compte afin de créer des politiques et des plans, et d'exécuter des tâches de sauvegarde pour des volumes de stockage en blocs, créez les autorisations de service à service suivantes :
backup-policy(source) versinstance(cible) avec le rôle Opérateurbackup-policy(source) versvolume(cible) avec le rôle Opérateurbackup-policy(source) verssnapshot(cible) avec le rôle Editeurbackup-policy(source) verssnapshot-consistency-group(cible) avec le rôle Editeur
- Créez quatre fichiers JSON avec les informations suivantes pour les règles d'autorisation.
Conservez les caractères génériques ("*") dans les exemples. Le remplacement des caractères génériques par des identifiants de ressource spécifiques limite la portée de l'autorisation et entraîne des échecs de sauvegarde.
Pour plus d'informations, consultez la section consacrée au dépannage des problèmes liés à la portée des autorisations.
- Service d'instance:
{ "type": "authorization", "subject": { {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "value": "is"}, {"name": "resourceType", "value": "backup-policy"}]}}, "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}], "resources": [ {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "instanceId", "operator": "stringEquals", "value": "*"}]}] } - Block Storage service de volume :
{ "type": "authorization", "subject": { {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "value": "is"}, {"name": "resourceType", "value": "backup-policy"}]}}, "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}], "resources": [ {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "volumeId", "operator": "stringEquals", "value": "*"}]}] } - Block Storage Service de snapshots :
{ "type": "authorization", "subject": { {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "value": "is"}, {"name": "resourceType", "value": "backup-policy"}]}}, "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}], "resources": [ {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "snapshotId", "operator": "stringEquals", "value": "*"}]}] } - Groupe de cohérence d'image instantanée:
{ "type": "authorization", "subject": { {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "value": "is"}, {"name": "resourceType", "value": "backup-policy"}]}}, "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}], "resources": [ {"attributes": [ {"name": "accountId", "value": "ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "snapshotConsistencyGroupId", "operator": "stringEquals", "value": "*"}]}] }
- Utilisez ensuite les fichiers JSON pour exécuter la commande CLI suivante.
ibmcloud iam authorization-policy-create --file ~/Documents/policy.json
Pour plus de détails sur les paramètres disponibles de cette commande, voir ibmcloud iam authorization-policy-create.
Création d'une autorisation pour les sauvegardes de fichiers partagés au niveau du compte
Pour créer une politique d'autorisation de service à service pour les sauvegardes de partages File Storage for VPC, utilisez la commande authorization-policy-create.
ibmcloud iam authorization-policy-create is is "Share Snapshot Operator",Editor --source-resource-type backup-policy --target-resource-type share
Pour plus de détails sur les paramètres disponibles de cette commande, voir ibmcloud iam authorization-policy-create.
Création de modèles d'autorisation inter-comptes pour les sauvegardes gérées par Enterprise
Les administrateurs de comptes d'entreprise peuvent créer des modèles de politiques d'autorisation et les attribuer à des comptes enfants afin de gérer les autorisations de manière centralisée. Pour créer un modèle de stratégie d'autorisation destiné à être utilisé avec les stratégies de sauvegarde sur tous les comptes enfants de l'entreprise, procédez comme suit.
- Pour obtenir l'identifiant du compte racine de l'entreprise, vous pouvez exécuter la commande suivante.
ibmcloud enterprise show
- Créer les fichiers JSON qui fournissent la définition du modèle de politique d'autorisation. Pour plus d'informations sur les attributs que vous pouvez utiliser dans votre fichier JSON, consultez l'API IAM Policy Management.
-
Service d'instance:
{ "name": "Centralized authorization for Backup service to work with Instances", "description": "Grant Operator Role for the Backup service to work with Instances", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on VPC Instances", "control":{ "grant":{ "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"} ]}, "resource":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "instanceId", "operator": "stringExists", "value": true} ]}} }- Block Storage service de volume :
{ "name": "Centralized authorization for Backup service to work with Block Storage service", "description": "Grant Operator Role for the Backup service to work with Block Storage volumes", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on Block Storage for VPC volumes", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "volumeId", "operator": "stringExists", "value": "true"} ]}} }- Block Storage Service de snapshots :
{ "name": "Centralized authorization for Backup service to work with Block Storage snapshots", "description": "Grant Editor Role for the Backup service to work with Block Storage snapshots", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on Block Storage for VPC snapshots", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "snapshotId", "operator": "stringExists", "value": "true"} ]}} }- Groupe de cohérence d'image instantanée:
{ "name": "Centralized authorization for Backup service to work with snapshot consistency groups", "description": "Grant Editor Role for the Backup service to work with snapshot consistency groups", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on snapshot consistency groups", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "snapshotConsistencyGroupId", "operator": "stringExists", "value": "true"} ]}} }- Partage de fichiers :
{ "name": "Centralized authorization for Backup service to work with File shares", "description": "Grant Editor Role for the Backup service to work with File shares", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor, and Share Snapshot Operator roles on File shares", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"},{"role_id": "crn:v1:bluemix:public:iam::::role:ShareSnapshotOperator"}] }, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"}] }, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "shareId", "operator": "stringExists", "value": "true"}] } } }
-
Exécutez la commande
authorization-policy-template-createavec le fichier JSON, comme indiqué dans l'exemple de demande suivant :ibmcloud iam authorization-policy-template-create --file /path/to/vpc-share-authorization-template.json -
Répétez l'opération pour tous les fichiers JSON. Lorsque vous avez terminé, les modèles sont prêts à être validés et affectés à des comptes enfants.
-
Exécutez les commandes suivantes pour valider la version du modèle et affecter le modèle aux comptes cibles.
ibmcloud iam authorization-policy-template-version-commit (TEMPLATE_ID | TEMPLATE_NAME) TEMPLATE_VERSION [-q, --quiet]ibmcloud iam authorization-policy-assignment-create (TEMPLATE_ID | TEMPLATE_NAME) TEMPLATE_VERSION --target-type TYPE --target TARGET [-q, --quiet] [-o, --output FORMAT]
Pour plus d'informations sur tous les paramètres disponibles pour cette commande, consultez ibmcloud iam authorization-policy-template-create.
Créer une autorisation pour Event Notifications
Pour créer une politique d'autorisation de service à service pour Event Notifications, utilisez la commande 'authorization-policy-create
ibmcloud iam authorization-policy-create is event-notification EventSourceManager --source-resource-type backup-policy --target-resource-instance $en-instance-ID
Pour plus de détails sur les paramètres disponibles de cette commande, voir ibmcloud iam authorization-policy-create.
Création de règles d'autorisation avec l'API
Création d'une autorisation pour les sauvegardes de volume au niveau du compte
Pour utiliser Backup for VPC dans votre compte afin de créer des politiques et des plans, et d'exécuter des tâches de sauvegarde pour des volumes de stockage en blocs, créez les autorisations de service à service suivantes :
is.backup-policy(source) versis.instance(cible) avec le rôle operator .is.backup-policy(source) versis.volume(cible) avec le rôle operator .is.backup-policy(source) versis.snapshot(cible) avec le rôle Editeur .is.backup-policy(source) versis.snapshot-consistency-groupavec le rôle Editeur
Envoyez la demande à l'API IAM Policy Management, comme dans les exemples suivants.
Conservez les caractères génériques ("*") dans les exemples. Le remplacement des caractères génériques par des identifiants de ressource spécifiques limite la portée de l'autorisation et entraîne des échecs de sauvegarde.
Pour plus d'informations, consultez la section consacrée au dépannage des problèmes liés à la portée des autorisations.
curl -X POST 'https://iam.cloud.ibm.com/v1/policies'
-H 'Authorization: Bearer $TOKEN'
-H 'Content-Type: application/json'
-d '{
"type": "access",
"description": "Operator role for the Backup service to the Virtual Server service",
"subjects": [
{"attributes": [
{"name": "serviceName", "value": "is"},
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "resourceType", "value": "backup-policy"}]
}
],
"roles":[
{"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}
],
"resources":[
{"attributes":[
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "serviceName", "operator": "stringEquals", "value": "is"},
{"name": "instanceId", "operator": "stringEquals", "value": "*"}]
}
]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "access",
"description": "Operator role for the Backup service to the Cloud Block Storage",
"subjects":[
{"attributes":[
{"name": "serviceName", "value": "is"},
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "resourceType", "value": "backup-policy"}]
}],
"roles":[
{"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}
],
"resources":[
{"attributes": [
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "serviceName", "operator": "stringEquals", "value": "is.volume"},
{"name": "volumeId", "operator": "stringEquals", "value": "*"}
]
}
]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "access",
"description": "Editor role for the Backup service to Block Storage Snapshots",
"subjects": [
{"attributes": [
{"name": "serviceName", "value": "is"},
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "resourceType", "value": "backup-policy"}]
}
],
"roles":[
{"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}
],
"resources":[
{"attributes": [
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "serviceName", "operator": "stringEquals", "value": "is"},
{"name": "snapshotId", "operator": "stringEquals", "value": "*"}]
}
]
}'
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' \
-H 'Authorization: Bearer $TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"type": "access",
"description": "Editor role for the Backup service to the Snapshot consistency groups",
"subjects": [
{"attributes": [
{"name": "serviceName", "value": "is"},
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "resourceType", "value": "backup-policy"}]
}
],
"roles":[
{"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}
],
"resources":[
{"attributes":[
{"name": "accountId", "value": "$ACCOUNT_ID"},
{"name": "serviceName", "operator": "stringEquals", "value": "is"},
{"name": "snapshotConsistencyGroupId", "operator": "stringEquals", "value": "*"}]
}
]
}'
Pour plus d'informations, voir la spécification d'API pour IAM Policy Management.
Création d'une autorisation inter-comptes pour les sauvegardes de volumes gérées par l'entreprise à partir du compte enfant
Pour permettre à un administrateur d'entreprise de gérer les sauvegardes de manière centralisée, les sous-comptes doivent fournir une autorisation pour que le service de sauvegarde du compte d'entreprise puisse interagir avec les ressources des comptes enfant.
-
Faites une demande d'API à l'API Enterprise Management pour obtenir l'ID de compte du compte d'entreprise parent.
curl -X GET "https://enterprise.cloud.ibm.com/v1/enterprises" -H "Authorization: Bearer <IAM_Token>" -H 'Content-Type: application/json' -
Ensuite, faites les demandes à l'API IAM Policy Management pour créer les autorisations de service à service pour le
is.backup-policydu compte d'entreprise afin d'interagir avec les servicesis.backup,is.snapshot,is.volume,is.snapshot-consistency-groupetis.instancedu compte enfant.- Autorisez
is.backup-policy(source) à interagir avecis.backup-policy(cible) avec le rôle Editeur .
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "type": "access", "description": "Editor role for the Enterprise account's backup service to interact with this account's backup service.", "subjects": [ {"attributes": [ {"name": "serviceName", "value": "is"}, {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"}, {"name": "resourceType", "value": "backup-policy"}] } ], "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"} ], "resources":[ {"attributes":[ {"name": "accountId", "value": "$SUB_ACCOUNT_ID", "operator": "stringEquals"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "backupPolicyId", "operator": "stringEquals", "value": "*"}] } ] }'- Autorisez
is.backup-policy(source) à interagir avecis.volume(cible) avec le rôle operator .
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "type": "access", "description": "Operator role for the Enterprise account's backup service to interact with this account's volume service", "subjects": [ { "attributes": [ {"name": "serviceName", "value": "is"}, {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"}, {"name": "resourceType", "value": "backup-policy"}] } ], "roles":[ {"role_id" "crn:v1:bluemix:public:iam::::role:Operator"} ], "resources":[ {"attributes": [ {"name": "accountId", "value": "$SUB_ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is.volume"}, {"name": "volumeId", "operator": "stringEquals", "value": "*"}] } ] }'- Autorisez
is.backup-policy(source) à interagir avecis.snapshot(cible) avec le rôle Editeur .
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "type": "access", "description": "Editor role for the Enterprise account's backup service to interact with this account's snapshots", "subjects":[ { "attributes":[ {"name": "serviceName", "value": "is"}, {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"}, {"name": "resourceType", "value": "backup-policy"}] } ], "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"} ], "resources":[ {"attributes": [ {"name": "accountId", "value": "$SUB_ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is"}, {"name": "snapshotId", "operator": "stringEquals", "value": "*"}] } ] }'- Autorisez
is.backup-policy(source) à interagir avecis.instance(cible) avec le rôle operator .
curl -X POST 'https://iam.cloud.ibm.com/v1/policies' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "type": "access", "description": "Operator role for the Enterprise account's backup service to interact with this account's virtual server instance service", "subjects": [ {"attributes": [ {"name": "serviceName", "value": "is"}, {"name": "accountId", "value": "$ENTERPRISE_ACCOUNT_ID"}, {"name": "resourceType", "value": "backup-policy"}] } ], "roles":[ {"role_id" "crn:v1:bluemix:public:iam::::role:Operator"} ], "resources":[ {"attributes": [ {"name": "accountId", "value": "$SUB_ACCOUNT_ID"}, {"name": "serviceName", "operator": "stringEquals", "value": "is.volume"}, {"name": "instanceId", "operator": "stringEquals", "value": "*"}] } ] }' - Autorisez
Pour plus d'informations, voir la spécification d'API pour IAM Policy Management.
Création d'une autorisation pour les sauvegardes de fichiers partagés
Pour utiliser Backup for VPC dans votre compte afin de créer des politiques et des plans, et d'exécuter des tâches de sauvegarde pour des partages de fichiers, envoyez la requête suivante afin de créer l'autorisation de service à service requise.
curl -X POST 'https://iam.cloud.ibm.com/v2/policies'
-H 'Authorization: Bearer $TOKEN'
-H 'Content-Type: application/json'
-d '{
"type": "authorization",
"description": "IAM roles for the Backup service to Cloud File Storage",
"subject": {
"attributes": [
{"key": "serviceName","operator": "stringEquals","value": "is"},
{"key": "accountId","operator": "stringEquals","value": "a1234567"},
{"key": "resourceType","operator": "stringEquals","value": "backup-policy"}]
},
"control": {
"grant": {
"roles": [
{"role_id":"crn:v1:bluemix:public:is::::serviceRole:ShareSnapshotOperator"},
{"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}]}
},
"resource": {
"attributes": [
{"key": "accountId","operator": "stringEquals","value": "a1234567"},
{"key": "serviceName","operator": "stringEquals","value": "is"},
{"key": "shareId","operator": "stringExists","value": true}]
}
}'
Création de modèles d'autorisation inter-comptes pour les sauvegardes gérées par Enterprise
Les administrateurs de comptes d'entreprise peuvent, par programmation, créer des modèles de politiques d'autorisation et les attribuer à des comptes enfants afin de gérer les autorisations de manière centralisée. Pour créer un modèle de stratégie d'autorisation destiné à être utilisé avec les stratégies de sauvegarde sur tous les comptes enfants de l'entreprise, procédez comme suit.
-
Faites une demande d'API à l'API Enterprise Management pour obtenir l'ID de compte du compte d'entreprise parent.
curl -X GET `https://enterprise.cloud.ibm.com/v1/enterprises` -H "Authorization: Bearer <IAM_Token>" -H 'Content-Type: application/json' -
Ensuite, faites les demandes à l'API de gestion des politiques IAM pour créer les autorisations de service à service pour que
is.backup-policydu compte Entreprise interagisse avec les services du compte enfant assignéis.backup,is.snapshot,is.volume,is.snapshot-consistency-group, etis.instance.- Autorisez
is.backup-policy(source) à interagir avecis.backup-policy(cible) avec le rôle Editeur .
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with Instances", "description": "Grant Operator Role for the Backup service to work with Instances", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on VPC Instances", "control":{ "grant":{ "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"} ]}, "resource":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "instanceId", "operator": "stringExists", "value": true} ]}} }- Autorisez
is.backup-policy(source) à interagir avecis.volume(cible) avec le rôle operator .
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with Block Storage service", "description": "Grant Operator Role for the Backup service to work with Block Storage volumes", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on Block Storage for VPC volumes", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "volumeId", "operator": "stringExists", "value": "true"} ]}} }'- Autorisez
is.backup-policy(source) à interagir avecis.snapshot(cible) avec le rôle Editeur .
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with Block Storage snapshots", "description": "Grant Editor Role for the Backup service to work with Block Storage snapshots", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on Block Storage for VPC snapshots", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "snapshotId", "operator": "stringExists", "value": "true"} ]}} }'- Autorisez
is.backup-policy(source) à interagir avecis.instance(cible) avec le rôle operator .
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with Instances", "description": "Grant Operator Role for the Backup service to work with Instances", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy":{ "type": "authorization", "description": "Grant Operator on VPC Instances", "control":{ "grant":{ "roles":[ {"role_id": "crn:v1:bluemix:public:iam::::role:Operator"}] }}, "subject":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "resourceType", "operator": "stringEquals", "value": "backup-policy"} ]}, "resource":{ "attributes":[ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "instanceId", "operator": "stringExists", "value": true} ]}} }`- Autorisez
is.backup-policy(source) à interagir avecis.snapshotConsistencyGroup(cible) avec le rôle Editeur .
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with snapshot consistency groups", "description": "Grant Editor Role for the Backup service to work with snapshot consistency groups", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor on snapshot consistency groups", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}] }}, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"} ]}, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "snapshotConsistencyGroupId", "operator": "stringExists", "value": "true"} ]}} }`- Autoriser
is.backup-policy(source) pour interagir avecis.share(cible) avec l' éditeur et partage les rôles d'opérateur d'instantané.
curl -X POST 'https://iam.cloud.ibm.com/v1/policy_templates' -H 'Authorization: Bearer $TOKEN' -H 'Content-Type: application/json' -d '{ "name": "Centralized authorization for Backup service to work with File shares", "description": "Grant Editor Role for the Backup service to work with File shares", "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID", "policy": { "type": "authorization", "description": "Grant Editor, and Share Snapshot Operator roles on File shares", "control": { "grant": { "roles": [ {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}, {"role_id": "crn:v1:bluemix:public:iam::::role:ShareSnapshotOperator"}]} }, "subject": { "attributes": [ {"key": "serviceName", "value": "is"}, {"key": "resourceType", "value": "backup-policy"}] }, "resource": { "attributes": [ {"key": "serviceName", "operator": "stringEquals", "value": "is"}, {"key": "shareId", "operator": "stringExists", "value": "true"}] } } }' - Autorisez
-
Après avoir créé les modèles d'autorisation, vous devez les valider et les affecter aux comptes.
Pour plus d'informations, voir la spécification d'API pour IAM Policy Management.
Créer une autorisation pour Event Notifications
Pour créer une politique d'autorisation de service à service pour Event Notifications, effectuez une requête API afin d'accorder à is.backup-policy (source) l'accès à event-notification (cible) avec le rôle EventSourceManager.
curl -X POST 'https://iam.cloud.ibm.com/v2/policies' -H
'Authorization: Bearer $TOKEN' -H
'Content-Type: application/json' -d
'{
"type": "access",
"description": "Event Source Manager role for the backup service to interact with the Event notification service",
"subjects": [
{"attributes": [
{"name": "serviceName", "value": "is"},
{"name": "resourceType", "value": "backup-policy"}]
}
],
"roles":[
{"role_id" "crn:v1:bluemix:public:iam::::role:EventSourceManager"}
],
"resource":[
{"attributes": [
{"name": "serviceName", "operator": "stringEquals", "value": "event-notification"},
{"name": "instanceId", "operator": "stringEquals", "value": "<en-instance-ID>"}]
}
]
}'
Création de règles d'autorisation avec Terraform
Création d'une autorisation pour les sauvegardes de volume au niveau du compte
Créez une règle d'autorisation entre les services à l'aide de l'argument de ressource ibm_iam_authorization_policy dans votre fichier main.tf.
Consultez la page operator = "stringExists" avec value = "true" pour les attributs des ressources. Le passage à "stringEquals" avec des identifiants de ressources spécifiques
limite la portée de l'autorisation et entraîne des échecs de sauvegarde. Pour plus d'informations, consultez la section consacrée au dépannage des problèmes liés à la portée des autorisations.
resource "ibm_iam_authorization_policy" "policy1" {
subject_attributes {
name = "accountId"
value = data.ibm_iam_account_settings.iam.account_id
}
subject_attributes {
name = "serviceName"
value = "is"
}
subject_attributes {
name = "resourceType"
value = "backup-policy"
}
resource_attributes {
name = "accountId"
operator = "stringEquals"
value = data.ibm_iam_account_settings.iam.account_id
}
resource_attributes {
name = "serviceName"
operator = "stringEquals"
value = "is"
}
resource_attributes {
name = "volumeId"
operator = "stringExists"
value = "true"
}
roles = ["Operator"]
}
resource "ibm_iam_authorization_policy" "policy2" {
subject_attributes {
name = "accountId"
value = data.ibm_iam_account_settings.iam.account_id
}
subject_attributes {
name = "serviceName"
value = "is"
}
subject_attributes {
name = "resourceType"
value = "backup-policy"
}
resource_attributes {
name = "accountId"
operator = "stringEquals"
value = data.ibm_iam_account_settings.iam.account_id
}
resource_attributes {
name = "serviceName"
operator = "stringEquals"
value = "is"
}
resource_attributes {
name = "snapshotId"
operator = "stringExists"
value = "true"
}
roles = ["Editor"]
}
resource "ibm_iam_authorization_policy" "policy3" {
subject_attributes {
name = "accountId"
value = data.ibm_iam_account_settings.iam.account_id
}
subject_attributes {
name = "serviceName"
value = "is"
}
subject_attributes {
name = "resourceType"
value = "backup-policy"
}
resource_attributes {
name = "accountId"
operator = "stringEquals"
value = data.ibm_iam_account_settings.iam.account_id
}
resource_attributes {
name = "serviceName"
operator = "stringEquals"
value = "is"
}
resource_attributes {
name = "snapshotConsistencyGroupId"
operator = "stringExists"
value = "true"
}
roles = ["Editor"]
}
resource "ibm_iam_authorization_policy" "policy4" {
subject_attributes {
name = "accountId"
value = data.ibm_iam_account_settings.iam.account_id
}
subject_attributes {
name = "serviceName"
value = "is"
}
subject_attributes {
name = "resourceType"
value = "backup-policy"
}
resource_attributes {
name = "accountId"
operator = "stringEquals"
value = data.ibm_iam_account_settings.iam.account_id
}
resource_attributes {
name = "serviceName"
operator = "stringEquals"
value = "is"
}
resource_attributes {
name = "instanceId"
operator = "stringExists"
value = "true"
}
roles = ["Operator"]
}
Pour plus d'informations sur les arguments et les attributs, voir la documentation Terraform pour les ressources d'autorisation.
Création d'une autorisation pour les sauvegardes de fichiers partagés
Créez une règle d'autorisation entre les services à l'aide de l'argument de ressource ibm_iam_authorization_policy dans votre fichier main.tf.
resource "ibm_iam_authorization_policy" "policy1" {
source_service_name = "is"
source_resource_type = "backup-policy"
target_service_name = "is"
target_resource_type = "share"
roles = ["ShareSnapshotOperator,Editor"]
}
Pour plus d'informations sur les arguments et les attributs, voir la documentation Terraform pour les ressources d'autorisation.
Créer une autorisation pour Event Notifications
Pour créer une politique d'autorisation de service à service pour Event Notifications, utilisez l'argument de ressource " ibm_iam_authorization_policy dans votre fichier " main.tf.
resource "ibm_iam_authorization_policy" "en-policy" {
source_service_name = "is"
source_resource_type = "backup-policy"
source_resource_instance_id = ibm_backup-policy_instance.instance.guid
target_service_name = "event-notification"
target_resource_instance_id = ibm_event-notification_instance.instance.guid
roles = ["EventSourceManager"]
}
Pour plus d'informations sur les arguments et les attributs, voir la documentation Terraform pour les ressources d'autorisation.