Skip to main content
La version française est une traduction automatique. La version anglaise prévaut sur la française en cas de divergence.

Configurer un groupe de courtiers de données pour utiliser un coffre-fort HashiCorp externe dans NetApp Copy and Sync

Contributeurs amgrissino

Lorsque vous créez une relation de synchronisation qui nécessite des informations d'identification Amazon S3, Azure ou Google Cloud, vous devez spécifier ces informations d'identification via l'interface utilisateur ou l'API NetApp Copy and Sync. Une alternative consiste à configurer le groupe de courtiers de données pour accéder aux informations d'identification (ou secrets) directement à partir d'un coffre-fort HashiCorp externe.

Cette fonctionnalité est prise en charge via l'API Copier et synchroniser avec des relations de synchronisation qui nécessitent des informations d'identification Amazon S3, Azure ou Google Cloud.

UnPréparer le coffre-fort

Préparez le coffre-fort pour fournir les informations d’identification au groupe de courtiers de données en configurant les URL. Les URL vers les secrets du coffre-fort doivent se terminer par Creds.

DeuxPréparer le groupe de courtiers en données

Préparez le groupe de courtiers de données pour récupérer les informations d’identification du coffre-fort externe en modifiant le fichier de configuration local pour chaque courtier de données du groupe.

TroisCréer une relation de synchronisation à l'aide de l'API

Maintenant que tout est configuré, vous pouvez envoyer un appel API pour créer une relation de synchronisation qui utilise votre coffre-fort pour obtenir les secrets.

Préparer le coffre-fort

Vous devrez fournir à Copy and Sync l'URL des secrets de votre coffre-fort. Préparez le coffre-fort en configurant ces URL. Vous devez configurer des URL vers les informations d’identification pour chaque source et cible dans les relations de synchronisation que vous prévoyez de créer.

L'URL doit être configurée comme suit :

/<path>/<requestid>/<endpoint-protocol>Creds

Chemin

Le chemin du préfixe vers le secret. Il peut s’agir de n’importe quelle valeur qui vous est propre.

ID de la demande

Un ID de demande que vous devez générer. Vous devrez fournir l'ID dans l'un des en-têtes de la requête API POST lorsque vous créez la relation de synchronisation.

Protocole de point final

L’un des protocoles suivants, tel que défini "dans la documentation de la relation post v2" : S3, AZURE ou GCP (chacun doit être en majuscules).

Crédits

L'URL doit se terminer par Creds.

Exemples

Les exemples suivants montrent des URL vers des secrets.

Exemple d'URL complète et de chemin d'accès aux informations d'identification de la source

\ http://example.vault.com:8200/my-path/all-secrets/hb312vdasr2/S3Creds

Comme vous pouvez le voir dans l'exemple, le chemin du préfixe est /my-path/all-secrets/, l'ID de la requête est hb312vdasr2 et le point de terminaison source est S3.

Exemple d'URL complète et de chemin d'accès aux informations d'identification cibles

\ http://example.vault.com:8200/my-path/all-secrets/n32hcbnejk2/AZURECreds

Le chemin du préfixe est /my-path/all-secrets/, l’ID de demande est n32hcbnejk2 et le point de terminaison cible est Azure.

Préparer le groupe de courtiers en données

Préparez le groupe de courtiers de données pour récupérer les informations d’identification du coffre-fort externe en modifiant le fichier de configuration local pour chaque courtier de données du groupe.

Étapes
  1. Connectez-vous en SSH à un courtier de données du groupe.

  2. Modifiez le fichier local.json qui réside dans /opt/netapp/databroker/config.

  3. Définissez enable sur true et définissez les champs de paramètres de configuration sous external-integrations.hashicorp comme suit :

    activé
    • Valeurs valides : vrai/faux

    • Type : booléen

    • Valeur par défaut : faux

    • Vrai : le courtier en données obtient des secrets de votre propre coffre-fort HashiCorp externe

    • Faux : Le courtier en données stocke les informations d’identification dans son coffre-fort local

    URL
    • Type : chaîne

    • Valeur : l'URL de votre coffre-fort externe

    chemin
    • Type : chaîne

    • Valeur : Préfixez le chemin d'accès au secret avec vos informations d'identification

    Rejeter-non autorisé
    • Détermine si vous souhaitez que le courtier de données rejette le coffre-fort externe non autorisé

    • Type : booléen

    • Par défaut : faux

    méthode d'authentification
    • La méthode d'authentification que le courtier de données doit utiliser pour accéder aux informations d'identification du coffre-fort externe

    • Type : chaîne

    • Valeurs valides : « aws-iam » / « role-app » / « gcp-iam »

    nom de rôle
    • Type : chaîne

    • Votre nom de rôle (si vous utilisez aws-iam ou gcp-iam)

    Secretid et rootid
    • Type : chaîne (au cas où vous utiliseriez app-role)

    Espace de noms
    • Type : chaîne

    • Votre espace de noms (en-tête X-Vault-Namespace si nécessaire)

  4. Répétez ces étapes pour tous les autres courtiers de données du groupe.

Exemple d'authentification aws-role

{
          “external-integrations”: {
                  “hashicorp”: {
                         “enabled”: true,
                         “url”: “https://example.vault.com:8200”,
                         “path”: ““my-path/all-secrets”,
                         “reject-unauthorized”: false,
                         “auth-method”: “aws-role”,
                         “aws-role”: {
                               “role-name”: “my-role”
                         }
                }
       }
}

Exemple d'authentification gcp-iam

{
"external-integrations": {
    "hashicorp": {
      "enabled": true,
      "url": http://ip-10-20-30-55.ec2.internal:8200,
      "path": "v1/secret",
      "namespace": "",
      "reject-unauthorized": true,
      "auth-method": "gcp-iam",
      "aws-iam": {
        "role-name": ""
      },
      "app-role": {
        "root_id": "",
        "secret_id": ""
      },
"gcp-iam": {
          "role-name": "my-iam-role"
      }
    }
  }
}

Configurer les autorisations lors de l'utilisation de l'authentification gcp-iam

Si vous utilisez la méthode d'authentification gcp-iam, le courtier de données doit disposer de l'autorisation GCP suivante :

- iam.serviceAccounts.signJwt

Créer une nouvelle relation de synchronisation à l'aide des secrets du coffre-fort

Maintenant que tout est configuré, vous pouvez envoyer un appel API pour créer une relation de synchronisation qui utilise votre coffre-fort pour obtenir les secrets.

Publiez la relation à l’aide de l’API REST Copier et synchroniser.

Headers:
Authorization: Bearer <user-token>
Content-Type: application/json
x-account-id: <accountid>
x-netapp-external-request-id-src: request ID as part of path for source credentials
x-netapp-external-request-id-trg: request ID as part of path for target credentials
Body: post relationship v2 body

Exemple

Exemple pour la requête POST :

url: https://api.cloudsync.netapp.com/api/relationships-v2
headers:
"x-account-id": "CS-SasdW"
"x-netapp-external-request-id-src": "hb312vdasr2"
"Content-Type": "application/json"
"Authorization": "Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6Ik…"
Body:
{
"dataBrokerId": "5e6e111d578dtyuu1555sa60",
"source": {
        "protocol": "s3",
        "s3": {
                "provider": "sgws",
                "host": "1.1.1.1",
                "port": "443",
                "bucket": "my-source"
     },
"target": {
        "protocol": "s3",
        "s3": {
                "bucket": "my-target-bucket"
        }
    }
}