Etablissement d'autorisations de service à service pour File Storage for VPC

Mettre en place des autorisations de type « service à service » dans IAM pour le chiffrement géré par le client d' File Storage for VPC, le partage entre comptes et la réplication interrégionale.

Vous pouvez utiliser l' Cloud Identity and Access Management (IAM) pour créer ou supprimer une autorisation permettant à un service d'accéder à un autre service.

Présentation

Dans une autorisation, le service source est le service qui est autorisé à accéder 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 l'accès par le service source, en fonction des rôles affectés. En règle générale, un service source peut se trouver dans le même compte que celui 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 File Storage for VPC, vous devez configurer l'autorisation de service à service pour :

  • Configuration du chiffrement géré par le client :

    Pour pouvoir créer un partage de fichiers crypté avec une clé racine client (CRK), vous devez d'abord disposer d'une instance d'un service de gestion de clés (KMS) pour détenir votre CRK. Vous pouvez choisir entre des instances Single Tenant (monocaté) ou Multi Tenant (multicaté) d' Key Protect. Ensuite, vous devez établir une autorisation de service à service entre le service de fichiers et l'instance KMS. L'autorisation doit être créée dans le compte qui possède et héberge la clé racine du client. Le compte qui détient le CRK est la source, et le compte où le partage de fichiers doit être créé est la cible.

    Les Hyper Protect Crypto Services sont obsolètes. Les clients peuvent utiliser les instances existantes jusqu'au 20 mars 2027. Pour plus d'informations, consultez la section Abandon de la fonctionnalité IBM Cloud Hyper Protect Crypto Services. Pour une protection continue, envisagez de migrer vos clés de chiffrement existantes vers une instance dédiée d' Key Protect. Pour plus d'informations, consultez le guide de migration.

  • Configuration de la réplication asynchrone interrégionale :

    Pour la réplication interrégionale, vous devez mettre en place des autorisations de service à service et définir les rôles des utilisateurs pour les différentes instances du service « File Storage » situées dans différents VPC. Cette autorisation permet au service « File Storage » d'un VPC d'interagir avec le service « File Storage » d'un autre VPC. Les deux VPC doivent appartenir au même compte. La réplication entre comptes n'est pas prise en charge.

    Pour plus d'informations, consultez la section « Présentation de la réplication ».

  • Configuration de l'accès inter-comptes

    Pour l'accès inter-comptes, vous devez établir des autorisations de service à service entre le service File Storage de deux comptes différents. L'autorisation doit être créée dans le compte qui possède et héberge le partage de fichiers. Vous devez également spécifier des rôles d'utilisateur dans les deux comptes pour permettre aux utilisateurs de créer et de gérer des partages d'accesseurs et des liaisons de partage. Pour plus d'informations, voir Partage et montage d'un partage de fichiers à partir d'un autre compte.

Pour plus d'informations sur les autorisations, voir Utilisation des autorisations pour accorder l'accès entre les services.

Création d'une autorisation pour le chiffrement géré par le client dans la console

  1. Dans la console IBM Cloud, connectez-vous au compte où se trouvent le service de gestion des clés (KMS) et la clé racine du client (CRK).
  2. Accédez à Gérer > Accès (IAM).
  3. Dans le panneau latéral, sélectionnez Autorisations.
  4. Sur la page Gérer les autorisations, cliquez sur Créer.
  5. Dans le Source section, sélectionnez la Compte source. C'est dans ce compte que le CRK doit être utilisé pour créer un partage de fichiers avec un cryptage géré par le client.
    • Pour autoriser l'utilisation des CRK de ce compte pour crypter des partages de fichiers dans un autre compte, sélectionnez Compte spécifique et entrez l'identifiant de 32 caractères du compte du service Fichier. Ensuite, cliquez sur Suivant.
    • Sinon, sélectionnez Ce compte. Ensuite, cliquez sur Suivant.
  6. Pour le service source, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
    1. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    2. Cliquez sur Sélectionner un attribut.
    3. Dans la liste, sélectionnez Type de ressource.
    4. Dans le champ suivant, sélectionnez File Storage for VPC.
    5. Cliquez sur Suivant.
  7. Pour le service concerné, sélectionnez KeyProtect dans la liste. Cliquez sur Suivant.
  8. Sélectionnez le rôle Reader.
  9. Cochez cette case pour permettre la délégation de l'autorisation par les services source et dépendants.
  10. Cliquez sur Revoir et inspectez vos choix.
  11. Cliquez sur Autoriser.

Création d'une autorisation pour la réplication interrégionale dans la console

  1. Dans la console IBM Cloud, connectez-vous au compte où se trouve votre partage de fichiers.
  2. Accédez à Gérer > Accès (IAM).
  3. Dans le panneau latéral, sélectionnez Autorisations.
  4. Sur la page Gérer les autorisations, cliquez sur Créer.
  5. Dans le Source section, sélectionnez la Compte source. Sélectionnez Ce compte, puis cliquez sur Suivant.
  6. Pour le service source, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
    1. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    2. Cliquez sur Sélectionner un attribut.
    3. Dans la liste, sélectionnez Type de ressource.
    4. Dans le champ suivant, sélectionnez File Storage for VPC.
    5. Cliquez sur Suivant.
  7. Pour le service cible, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
    1. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    2. Cliquez sur Sélectionner un attribut.
    3. Dans la liste, sélectionnez Type de ressource.
    4. Dans le champ suivant, sélectionnez File Storage for VPC.
    5. Cliquez sur Suivant.
  8. Sélectionnez le rôle Editor.
  9. Cliquez sur Revoir et inspectez vos choix.
  10. Cliquez sur Autoriser.

Création d'une autorisation de réplication interrégionale pour tous les comptes enfants d'une entreprise

Les administrateurs de comptes d'entreprise peuvent créer et affecter des modèles de politique d'autorisation aux comptes enfants afin de gérer les autorisations de manière centralisée. Pour créer un modèle de politique d'autorisation pouvant être utilisé pour activer la réplication interrégionale pour tous les comptes enfants de l'entreprise, procédez comme suit :

  1. Accédez à Gérer > Accès (IAM) > Modèles dans la console.
  2. Sélectionnez Autorisations et cliquez sur Créer.
  3. Entrez un nom et une description pour le modèle d'autorisation qui décrit son objectif pour les utilisateurs de l'entreprise.
  4. 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.
  5. Cliquez sur Créer.

Ensuite, suivez les étapes suivantes pour élaborer les règles d'autorisation :

  1. Allez dans Autorisation pour spécifier les détails de la politique d'autorisation.
  2. Sélectionnez Compte(s) attribué(s). Lorsque vous affectez le modèle d'autorisation à un compte enfant, le compte source est renseigné avec le même numéro de compte que le compte enfant, qui détient la ressource à laquelle on accède.
  3. Ensuite, vous sélectionnez le service et les ressources sources.
    1. Sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
    2. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    3. Cliquez sur Sélectionner un attribut.
    4. Dans la liste, sélectionnez Type de ressource.
    5. Dans le champ suivant, sélectionnez File Storage for VPC.
    6. Cliquez sur Suivant.
  4. Pour le service cible, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
    1. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    2. Cliquez sur Sélectionner un attribut.
    3. Dans la liste, sélectionnez Type de ressource.
    4. Dans le champ suivant, sélectionnez File Storage for VPC.
    5. Cliquez sur Suivant.
  5. Sélectionnez le rôle Editor.
  6. Cliquez sur Vérifier puis sur Enregistrer.
  7. Le modèle est maintenant prêt à être validé et affecté aux comptes enfants.

Création d'une autorisation pour l'accès inter-comptes dans la console

Cette autorisation concerne la création d'actions d'accès et le partage de données entre comptes.

  1. Dans la console IBM Cloud, connectez-vous au compte où se trouve votre partage de fichiers.
  2. Accédez à Gérer > Accès (IAM).
  3. Dans le panneau latéral, sélectionnez Autorisations.
  4. Sur la page Gérer les autorisations, cliquez sur Créer.
  5. Dans le Source section, sélectionnez la Compte source.
    • Si vous souhaitez autoriser un autre compte à accéder aux données de votre partage de fichiers, sélectionnez Compte spécifique et entrez l'identifiant de compte de 32 caractères. Ensuite, cliquez sur Suivant.
    • Si vous souhaitez créer des partages accesseurs dans le même compte, sélectionnez Ce compte. Ensuite, cliquez sur Suivant.
  6. Pour le service source, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
    1. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    2. Cliquez sur Sélectionner un attribut.
    3. Dans la liste, sélectionnez Type de ressource.
    4. Dans le champ suivant, sélectionnez File Storage for VPC.
    5. Cliquez sur Suivant.
  7. Pour le service cible, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
    1. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    2. Cliquez sur Sélectionner un attribut.
    3. Dans la liste, sélectionnez Type de ressource.
    4. Dans le champ suivant, sélectionnez File Storage for VPC.
    5. Cliquez sur Ajouter une condition.
    6. Cliquez sur Sélectionnez un attribut et sélectionnez Partager l'identifiant.
    7. Sélectionnez le partage dans la liste.
    8. Cliquez sur Suivant.
  8. Sélectionnez le rôle Share Broker.
  9. Cliquez sur Revoir et inspectez vos choix.
  10. Cliquez sur Autoriser.

Création d'une autorisation pour Watson Studio dans la console

  1. Dans la console IBM Cloud, connectez-vous au compte où se trouve votre partage de fichiers.
  2. Accédez à Gérer > Accès (IAM).
  3. Dans le panneau latéral, sélectionnez Autorisations.
  4. Sur la page Gérer les autorisations, cliquez sur Créer.
  5. Sur la page Accorder une autorisation de service, sélectionnez Ce compte.
  6. Pour le service source, sélectionnez Watson Studio de la liste.
    1. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    2. Cliquez sur Sélectionner un attribut.
    3. Dans la liste, sélectionnez Instance du service source.
    4. Dans le champ suivant, sélectionnez toutes les instances.
    5. Cliquez sur Suivant.
  7. Pour le service cible, sélectionnez Services d'infrastructure VPC dans la liste. Cliquez sur Suivant.
    1. Sélectionnez la portée en cliquant sur Ressources spécifiques.
    2. Cliquez sur Sélectionner un attribut.
    3. Dans la liste, sélectionnez Type de ressource.
    4. Dans le champ suivant, sélectionnez File Storage for VPC.
    5. Cliquez sur Ajouter une condition.
    6. Cliquez sur Sélectionnez un attribut et sélectionnez Partager l'identifiant.
    7. Laissez le champ " string equals" tel quel.
    8. Dans le champ suivant, sélectionnez le partage d'origine dans la liste.
    9. Cliquez sur Suivant.
  8. Sélectionnez le rôle Share Broker.
  9. Cochez cette case pour permettre la délégation de l'autorisation par les services source et dépendants.
  10. Cliquez sur Revoir et inspectez vos choix.
  11. Cliquez sur Autoriser.

Création d'une autorisation pour le chiffrement géré par le client à partir de la CLI

Connectez-vous à votre compte. Exécutez la commande ibmcloud iam authorization-policy-create pour créer des politiques d'autorisation permettant au service File Storage d'interagir avec votre instance d' Key Protect. Le service source est is avec le et --source-resource-type share le service cible est kms. Le rôle que vous devez attribuer est Reader. L'exemple suivant permet de créer une politique d'autorisation entre le service File Storage et Key Protect.

ibmcloud iam authorization-policy-create is kms Reader --source-resource-type share
Creating authorization policy under account a1234567 as test.user@ibm.com...
OK

Pour répertorier les autorisations de service déjà en place pour le compte, exécutez la commande ibmcloud iam authorization-policies. L'exemple suivant montre que les partages de fichiers peuvent être chiffrés à l'aide d'une clé CRK stockée dans Key Protect.

ibmcloud iam authorization-policies
Getting authorization policies under account a1234567 as test.user@ibm.com...
OK
ID:                        d2df60ea-5575-4bd1-9cd6-f35c52576577
Source service name:       is
Source service instance:   All instances
Source resource type:      share
Target service name:       kms
Target service instance:   All instances
Roles:                     Authorization Delegator, Reader

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 le chiffrement inter-comptes à partir de l'interface de gestion

Connectez-vous au compte qui héberge l'instance d' Key Protect. Exécutez la commande ibmcloud iam authorization-policy-create pour créer des politiques d'autorisation permettant au service File d'interagir avec le KMS. Le service source est is avec le et --source-resource-type share le service cible est kms. Le rôle que vous devez attribuer est Reader. L'exemple suivant crée une politique d'autorisation entre le service File de et KeyUserAccount l'instance Key Protect de KeyOwnerAccount.

  1. Créez un fichier JSON contenant les informations suivantes pour les politiques d'autorisation dans votre dossier Documents local.

    '{
       "description":"Reader and Delegator role for KeyProtect service instance",
       "resources": [{"attributes": [
             {"name": "KeyOwnerAccountID","value": "a/a1234567","operator": "stringEquals"},
             {"name":"serviceName","operator":"stringEquals","value":"kms"}]}],
       "roles": [
          {"role_id":"crn:v1:bluemix:public:iam::::role:AuthorizationDelegator"},
          {"role_id":"crn:v1:bluemix:public:iam::::serviceRole:Reader"}],
       "subjects": [
          {"name": "serviceName","value": "is"},
             {"name": "resourceType","value": "share"},
             {"name": "KeyUserAccountID","value": "a/a7654321"}],
       "type":"authorization"
    }'
    
  2. Ensuite, exécutez la commande CLI suivante avec le fichier JSON pour créer la politique d'autorisation.

    ibmcloud iam authorization-policy-create --file ~/Documents/policy.json
    

    L'autorisation inter-comptes est unidirectionnelle et spécifique à la clé et au service. Lorsque le compte A autorise le service de fichiers du compte B à utiliser sa clé, le compte B peut utiliser la clé de cryptage du compte A pour crypter les actions du compte B. Cependant, le compte A ne peut pas utiliser les clés racine du compte B pour chiffrer les parts du compte A.

Création d'une autorisation pour la réplication interrégionale à partir de l'interface de ligne de commande

Exécutez la commande ibmcloud iam authorization-policy-create pour autoriser les services de fichiers régionaux à fonctionner ensemble.

ibmcloud iam authorization-policy-create is is Editor --source-resource-type share --target-resource-type share

Consultez l'exemple suivant.

$ ibmcloud iam authorization-policy-create is is Editor --source-resource-type share --target-resource-type share
Creating authorization policy under account a1234567 as test.user@ibm.com...
OK
Authorization policy f311f255-d20e-49d0-aa94-316feaba981e was created.
ID:                        f311f255-d20e-49d0-aa94-316feaba981e
Source service name:       is
Source service instance:   All instances
Source resource type:      share
Target service name:       is
Target service instance:   All instances
Target resource type:      share
Roles:                     Editor

Pour plus de détails sur les paramètres disponibles de cette commande, voir ibmcloud iam authorization-policy-create.

Création d'une autorisation de réplication interrégionale pour tous les comptes enfants d'une entreprise

Les administrateurs de comptes d'entreprise peuvent créer et affecter des modèles de politique d'autorisation aux comptes enfants afin de gérer les autorisations de manière centralisée. Pour créer un modèle de politique d'autorisation pouvant être utilisé pour activer la réplication interrégionale pour tous les comptes enfants de l'entreprise, procédez comme suit.

  1. Créer un fichier JSON qui fournit 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.

    L'exemple de fichier JSON suivant spécifie les name et description du modèle et le account_id du compte d'entreprise. Le modèle d'autorisation accorde un rôle d'éditeur à tous les " File Storage for VPC " des comptes attribués.

        {
          "name": "VPC_REGIONAL_REPLICATOR",
          "description": "Grant Editor Role between VPC File Storage to enable regional replication",
          "account_id": "ENTERPRISE_ROOT_ACCOUNT_ID",
          "policy": {
            "type": "authorization",
            "description": "Grant Editor on VPC File Storage",
            "control": {
                "grant": {
                "roles": [
                  {
                    "role_id": "crn:v1:bluemix:public:iam::::role:Editor"
                  }
                ]
              }
            },
            "subject":
              {
                "attributes": [
                  {
                    "key": "serviceName",
                    "operator": "stringEquals",
                    "value": "is"
                  },
                  {
                    "key": "resourceType",
                    "operator": "stringEquals",
                    "value": "share"
                  }
                ]
              }
            ,
            "resource":
              {
                "attributes": [
                  {
                    "key": "serviceName",
                    "operator": "stringEquals",
                    "value": "is"
                  },
                  {
                    "key": "resourceType",
                    "operator": "stringEquals",
                    "value": "share"
                  }
                ]
              }
          }
    }
    
  2. Exécutez la commande authorization-policy-template-create avec 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

Pour plus d'informations sur tous les paramètres disponibles pour cette commande, consultez la référence CLI Gestion de l'accès IAM, des clés API, des profils de confiance, des identifiants de service et des groupes d'accès(ibmcloud iam).

Création d'une autorisation pour l'accès inter-comptes à partir de l'interface de programmation

Cette autorisation concerne la création d'actions d'accès et le partage de données entre comptes.

En tant que propriétaire de partage, créez un fichier JSON et utilisez-le avec la commande ibmcloud iam authorization-policy-create pour créer l'autorisation de service à service pour le service File Storage for VPC du compte de propriétaire de partage (source) afin d'accéder à un partage dans le compte d'accesseur (cible).

  1. Créez un fichier JSON contenant les informations suivantes. Dans cet exemple, le fichier est créé en tant que policy.json dans le dossier Documents.

    {
         "roles": [{"role_id": "crn:v1:bluemix:public:iam::::role:ShareBroker","display_name": "Share Broker",
                  "description": "As a share broker, you can create and delete share bindings"}],
         "resources": [{"attributes": [
             {"name": "accountId","value": "<origin share owner Account ID>","operator": "stringEquals"},
             {"name": "serviceName","value": "is","operator": "stringEquals"},
             {"name": "shareId","value": "<OriginShareId>","operator": "stringEquals"}]}],
         "type": "authorization",
         "description": "ShareBroker role for File Storage for VPC cross-account share access",
         "subjects": [{"attributes": [
             {"name": "serviceName","value": "is"},
             {"name": "resourceType","value": "share"},
             {"name": "accountId","value": "<accessor share Account ID>"}]}]
         }
    
  2. Exécutez ensuite la commande CLI avec le fichier JSON pour créer la règle d'autorisation.

    ibmcloud iam authorization-policy-create --file ~/Documents/policy.json
    

Création d'une autorisation pour le chiffrement géré par le client avec l'API

Pour autoriser le service de fichiers à accéder à votre instance de Key Management Service, effectuez une requête API vers l'API IAM Policy Management afin de créer l'autorisation de service à service.

  • L'exemple suivant montre comment vous pouvez autoriser le service de fichier is.share (source) à interagir avec le service Key Protect kms (cible) avec le rôle Lecteur .

    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 the file service to interact with the KeyProtect service.",
         "subjects": [
           {"attributes": [
             {"name": "serviceName","value": "is"},
             {"name": "resourceType","value": "share"}]}],
      "roles":[
         {"role_id": "crn:v1:bluemix:public:iam::::role:Reader"}],
      "resources":[
         {"attributes": [
             {"name": "serviceName","value": "kms"}]}]
      }'
    
  • Pour créer une règle d'autorisation pour Hyper Protect Crypto Services, remplacez kms par hs-crypto dans l'exemple précédent.

Création d'une autorisation pour le chiffrement inter-comptes avec l'API

Pour autoriser le service de fichiers d'un autre compte à accéder à votre instance de Key Management Service, envoyez une requête à l'API IAM Policy Management afin de créer l'autorisation de service à service. L'exemple suivant montre comment créer une autorisation permettant au service File Storage for VPC du compte source d'accéder au service de gestion des clés de votre compte (cible) avec l'autorisation Reader.

curl -X POST "https://iam.cloud.ibm.com/v1/policies" \
     -H "Authorization: <Auth Token>" \
     -H 'Content-Type: application/json' \
     -d '{
      "description":"Reader and Delegator role for KeyProtect service instance",
      "resources": [{"attributes": [
            {"name": "KeyOwnerAccountID","value": "a/a1234567","operator": "stringEquals"},
            {"name": "serviceName","operator":"stringEquals","value":"kms"}]}],
      "roles": [
         {"role_id": "crn:v1:bluemix:public:iam::::role:AuthorizationDelegator"},
         {"role_id": "crn:v1:bluemix:public:iam::::serviceRole:Reader"}],
      "subjects": [
         {"name": "serviceName","value": "is"},
            {"name": "resourceType","value": "share"},
            {"name": "KeyUserAccountID","value": "a/a7654321"}],
      "type":"authorization"
   }'

Création d'une autorisation pour la réplication interrégionale avec l'API

Faites une demande à l'API IAM Policy Management pour créer l'autorisation de service à service pour que le service de fichiers régionaux du partage source interagisse avec le service de fichiers régionaux du partage de répliques.

  • Autorisez is.share (source) à interagir avec is.share (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 source share's regional file service to interact with replica share's regional file service.",
      "subjects": [
        {"attributes": [
          {"name": "serviceName","value": "is"},
          {"name": "resourceType","value": "share"}]}],
      "roles":[
          {"role_id": "crn:v1:bluemix:public:iam::::role:Editor"}],
      "resources":[
          {"attributes": [
           {"name": "serviceName","value": "is"},
           {"name": "resourceType","value": "share"}]}]
      }'
    

Pour plus d'informations, voir la spécification d'API pour IAM Policy Management.

Création d'une autorisation pour l'accès inter-comptes avec l'API

Cette autorisation concerne la création d'actions d'accès et le partage de données entre comptes.

En tant que propriétaire du partage, adressez une demande à l'API de gestion des stratégies IAM pour créer une autorisation permettant au compte de l'accesseur d'accéder au partage d'origine. L'exemple suivant montre comment créer l'autorisation de service à service entre le compte de partage d'origine (source) et le compte d'accès (cible).

curl -X POST "https://iam.cloud.ibm.com/v1/policies" \
     -H "Authorization: <Auth Token>" \
     -H 'Content-Type: application/json' \
     -d '
       {"roles": [
          {"role_id": "crn:v1:bluemix:public:iam::::role:ShareBroker",
           "display_name": "Share Broker",
           "description": "As a share broker, you can create and delete share bindings"}
           ],
        "resources": [
            {"attributes": [
              {"name": "accountId","value": "<origin share owner Account ID>","operator": "stringEquals"},
              {"name": "serviceName","value": "is","operator": "stringEquals"},
              {"name": "shareId","value": "<OriginShareId>","operator": "stringEquals"}
              ]}],
        "type": "authorization",
        "description": "ShareBroker role for File Storage for VPC cross-account share access",
        "subjects": [{"attributes": [
            {"name": "serviceName","value": "is"},
            {"name": "resourceType","value": "share"},
            {"name": "accountId","value": "<accessor share Account ID>"}]}]
        }'

Création d'une autorisation pour le chiffrement géré par le client avec Terraform

Créez une règle d'autorisation entre le service de fichiers et les services de gestion de clés à l'aide de l'argument de ressource ibm_iam_authorization_policy dans votre fichier main.tf.

L'exemple suivant crée une règle d'autorisation entre le service de fichiers et Key Protect lorsqu'elle est appliquée.

resource "ibm_iam_authorization_policy" "mypolicy4keyprotect" {
  source_service_name  = "is"
  source_resource_type = "share"
  target_service_name  = "kms"
  roles                = ["Reader"]
}

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 le chiffrement inter-comptes avec Terraform

  1. Terraform prend en charge la configuration de deux comptes différents pour le fournisseur IBM. Le fournisseur sans alias est considéré comme le fournisseur par défaut. Voir l'exemple suivant, où deux comptes IBM sont spécifiés, le second utilisant l'alias team_account. Cette configuration est appelée " ibm.team_account par la suite.

    terraform {
      required_providers {
        ibm = {
          source = "IBM-Cloud/ibm"
          version = ">= 1.12.0"
        }
      }
    }
    provider "ibm" {
      ibmcloud_api_key = var.ibmcloud_api_key
      region           = var.region
      ibmcloud_timeout = var.ibmcloud_timeout
    }
    provider "ibm" {
      alias = "team_account"
      ibmcloud_api_key = var.ibmcloud_api_key_second_account
      region           = var.region
      ibmcloud_timeout = var.ibmcloud_timeout
    }
    

    Pour plus d'informations sur les arguments et les attributs, voir FournisseurIBM Cloud.

  2. Pour créer l'autorisation IAM entre le service de partage de fichiers d'un compte et le service de gestion des clés d'un autre compte, utilisez la ressource " ibm_iam_authorization_policy". L'exemple suivant permet de créer une autorisation entre le service de fichiers d'un compte et le service Key Protect d'un autre compte.

    resource "ibm_iam_authorization_policy" "policy" {
        source_service_name = "is"
        source_resource_type = "share"
        source_service_account = "<fileshare-account-id>"
        target_service_name = "kms"
        target_resource_instance_id = ibm_kms_key.key.instance_id
        roles               = ["Reader"]
        description         = "Authorization Policy"
    }
    

    Cette ressource terraform doit également inclure l'alias du fournisseur (dans notre exemple, " ibm.team_account) avec le compte " ibmcloud_api_key où la clé de chiffrement est stockée.

Créer une autorisation pour la réplication interrégionale avec Terraform

Créez une règle d'autorisation entre les services de fichiers dans les différentes régions à l'aide de l'argument de ressource ibm_iam_authorization_policy dans votre fichier main.tf.

resource "ibm_iam_authorization_policy" "mypolicy" {
  source_service_name  = "is"
  source_resource_type = "share"
  target_service_name  = "is"
  target_resource_type = "share"
  roles                = ["Editor"]
}

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 l'accès inter-comptes avec Terraform

Cette autorisation concerne la création d'actions d'accès et le partage de données entre comptes.

  1. Terraform prend en charge la configuration de deux comptes différents pour le fournisseur IBM. Le fournisseur sans alias est considéré comme le fournisseur par défaut. Voir l'exemple suivant, où deux comptes IBM sont spécifiés, le second utilisant l'alias team_account. Cette configuration doit être appelée ibm.team_account ultérieurement.

    terraform {
      required_providers {
        ibm = {
          source = "IBM-Cloud/ibm"
          version = ">= 1.12.0"
        }
      }
    }
    provider "ibm" {
      ibmcloud_api_key = var.ibmcloud_api_key
      region           = var.region
      ibmcloud_timeout = var.ibmcloud_timeout
    }
    provider "ibm" {
      alias = "team_account"
      ibmcloud_api_key = var.ibmcloud_api_key_second_account
      region           = var.region
      ibmcloud_timeout = var.ibmcloud_timeout
    }
    

    Pour plus d'informations sur les arguments et les attributs, voir FournisseurIBM Cloud.

  2. Pour créer l'autorisation IAM entre le service de partage de fichiers d'un compte vers le service de partage de fichiers d'un autre compte, utilisez la ressource ibm_iam_authorization_policy. L'exemple suivant crée une autorisation entre les services de fichiers de deux comptes.

    resource "ibm_iam_authorization_policy" "policy" {
        source_service_name = "is"
        source_resource_type = "share"
        source_service_account = "<ShareOwner-Account-id>"
        target_service_name = "is"
        target_resource_type = "share"
        target_service_account = "<Accessor-Account-id>"
        roles               = ["ShareBroker"]
        description         = "Authorization Policy"
    }
    

    Ou

    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 = "share"
     }
     resource_attributes {
       name  = "shareId"
       operator = "stringEquals"
       value = data.ibm_share_id
     }
     resource_attributes {
       name  = "serviceName"
       operator = "stringEquals"
       value = "is"
     }
     resource_attributes {
       name  = "volumeId"
       operator = "stringExists"
       value = "true"
     }
     roles   = ["ShareBroker"]
     }
    

    Cette ressource terraform doit également inclure l'alias de fournisseur (dans notre exemple, ibm.team_account) avec le compte ibmcloud_api_key où se trouve le partage d'origine.

    Pour plus d'informations sur les arguments et les attributs, voir ibm_iam_authorization_policy.

Etapes suivantes