

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# AWS Glue support pour SAP OData
<a name="sap-odata-support"></a>

AWS Glue prend en charge SAP OData comme suit :

**Prise en charge en tant que source ?**  
Oui. Vous pouvez utiliser des tâches AWS Glue ETL pour interroger des données auprès de SAP OData.

**Prise en charge en tant que cible ?**  
Oui. Vous pouvez utiliser des tâches AWS Glue ETL pour écrire des enregistrements dans SAP OData.

**Versions d' OData API SAP prises en charge**  
Les versions d' OData API SAP suivantes sont prises en charge :
+ 2.0

**Sources prises en charge**  
Les sources suivantes sont prises en charge :
+ Sources ODP (Operational Data Provisioning) :
  + Extracteurs BW (1) DataSources
  + Vues CDS
  + SLT
+ Sources non ODP, par exemple :
  + Services d’affichage CDS
  + Services basés sur RFC
  + Services ABAP personnalisés

**Composants SAP pris en charge**  
Les exigences minimales sont les suivantes :
+ Vous devez activer le service de catalogue pour la découverte de service.
  + Configurez les sources de données ODP (Operational Data Provisioning) à extraire dans la passerelle SAP de votre système SAP.
  + **OData V2.0** : Activez le ou les services de catalogue OData V2.0 dans votre passerelle SAP via une transaction. `/IWFND/MAINT_SERVICE`
  + Activez les services OData V2.0 dans votre passerelle SAP via une transaction. `/IWFND/MAINT_SERVICE`
  + Votre OData service SAP doit prendre en charge pagination/query les options côté client telles que `$top` et`$skip`. Il doit également prendre en charge l’option de requête système `$count`.
  + Vous devez fournir l'autorisation requise pour que l'utilisateur puisse découvrir les services et extraire les données à l'aide des OData services SAP. Reportez-vous à la documentation de sécurité fournie par SAP.
+ Si vous souhaitez utiliser la OAuth version 2.0 comme mécanisme d'autorisation, vous devez activer la OAuth version 2.0 pour le OData service et enregistrer le OAuth client conformément à la documentation SAP.
+ Pour générer un OData service basé sur des sources de données ODP, SAP Gateway Foundation doit être installé localement dans votre ERP/BW stack ou dans une configuration de hub.
  + Pour vos ERP/BW applications, la pile SAP NetWeaver AS ABAP doit être 7.50 SP02 ou supérieure.
  + Pour le système de hub (SAP Gateway), le SAP NetWeaver AS ABAP du système de hub doit être 7.50 SP01 ou supérieur pour la configuration du hub distant.
+ Pour les sources non ODP, la version de votre NetWeaver stack SAP doit être 7.40 SP02 ou supérieure.

**Méthodes d’authentification prises en charge**  
Les méthodes d’authentification suivantes sont prises en charge :
+ Authentification de base
+ OAuth 2,0

# Conditions préalables
<a name="sap-odata-prerequisites"></a>

Avant de lancer une AWS Glue tâche d'extraction de données depuis SAP à OData l'aide de la OData connexion SAP, remplissez les conditions préalables suivantes :
+ Le OData service SAP correspondant doit être activé dans le système SAP, afin de garantir que la source de données est disponible pour la consommation. Si le OData service n'est pas activé, la tâche Glue ne pourra pas accéder aux données de SAP ni en extraire.
+ Les mécanismes d'authentification appropriés tels que l'authentification de base (personnalisée) ou OAuth 2.0 doivent être configurés dans SAP pour garantir que la AWS Glue tâche puisse établir avec succès une connexion avec le OData service SAP.
+ Configurez les politiques IAM pour accorder à la AWS Glue tâche les autorisations appropriées pour accéder à SAP, à Secrets Manager et aux autres AWS ressources impliquées dans le processus.
+ Si le système SAP est hébergé sur un réseau privé, la connectivité VPC doit être configurée pour garantir que la AWS Glue tâche puisse communiquer en toute sécurité avec SAP sans exposer de données sensibles sur Internet public.

AWS Secrets Manager peut être utilisé pour stocker en toute sécurité des informations sensibles telles que les informations d'identification SAP, que la AWS Glue tâche peut récupérer dynamiquement lors de l'exécution. Cette approche élimine le besoin de coder en dur les informations d’identification, et améliore ainsi la sécurité et la flexibilité.

Les prérequis suivants fournissent des step-by-step conseils sur la façon de configurer chaque composant pour une intégration fluide entre SAP AWS Glue et SAP OData.

**Topics**
+ [OData Activation de SAP](sap-odata-activation.md)
+ [politiques IAM](sap-odata-configuring-iam-permissions.md)
+ [Connectivité/connexion VPC](sap-odata-connectivity-vpc-connection.md)
+ [Authentification SAP](sap-odata-authentication.md)
+ [AWS Secrets Manager pour stocker votre secret d'authentification](sap-odata-aws-secret-manager-auth-secret.md)

# OData Activation de SAP
<a name="sap-odata-activation"></a>

Procédez comme suit pour la OData connexion SAP :

## Sources ODP
<a name="sap-odata-odp-sources"></a>

Avant de pouvoir transférer des données depuis un fournisseur ODP, vous devez respecter les conditions requises suivantes :
+ Vous disposez d'une instance SAP NetWeaver AS ABAP.
+ Votre NetWeaver instance SAP contient un fournisseur ODP à partir duquel vous souhaitez transférer des données. Les fournisseurs ODP incluent :
  + SAP DataSources (code de transaction RSO2)
  + Vues SAP Core Data Services ABAP CDS
  + Systèmes SAP BW ou SAP BW/4HANA (, Object) InfoObject DataStore 
  + Réplication en temps réel de tables et de vues de base de données depuis le système source SAP via SAP Landscape Replication Server (SAP SLT)
  + Vues d’informations SAP HANA dans des sources basées sur SAP ABAP
+ Votre NetWeaver instance SAP possède le composant SAP Gateway Foundation.
+ Vous avez créé un OData service qui extrait les données de votre fournisseur ODP. Pour créer le OData service, vous utilisez le SAP Gateway Service Builder. Pour accéder à vos données ODP, Amazon AppFlow appelle ce service à l'aide de l' OData API. Pour plus d'informations, consultez la section [Génération d'un service d'extraction de données ODP OData](https://help.sap.com/docs/SAP_BPC_VERSION_BW4HANA/dd104a87ab9249968e6279e61378ff66/69b481859ef34bab9cc7d449e6fff7b6.html?version=11.0) dans la documentation SAP BW/4HANA.
+ Pour générer un OData service basé sur des sources de données ODP, SAP Gateway Foundation doit être installé localement dans votre ERP/BW stack ou dans une configuration de hub.
  + Pour vos ERP/BW applications, la pile SAP NetWeaver AS ABAP doit être 7.50 SP02 ou supérieure.
  + Pour le système de hub (SAP Gateway), le SAP NetWeaver AS ABAP du système de hub doit être 7.50 SP01 ou supérieur pour la configuration du hub distant.

## Sources non ODP
<a name="sap-odata-non-odp-sources"></a>
+ Votre version de SAP NetWeaver Stack doit être 7.40 SP02 ou supérieure.
+ Vous devez activer le service de catalogue pour la découverte de service.
  + **OData V2.0** : Le ou les services de catalogue OData V2.0 peuvent être activés dans votre SAP Gateway via une transaction `/IWFND/MAINT_SERVICE`
+ Votre OData service SAP doit prendre en charge pagination/query les options côté client telles que `$top` et`$skip`. Il doit également prendre en charge l’option de requête système `$count`.
+ Pour la OAuth version 2.0, vous devez activer la OAuth version 2.0 pour le OData service, enregistrer le OAuth client conformément à la documentation SAP et définir l'URL de redirection autorisée comme suit :
  + `https://<region>.console.aws.amazon.com/gluestudio/oauth`, en `<region>` remplaçant par la région dans laquelle AWS Glue s'exécute, par exemple : us-east-1. 
  + Vous devez activer la configuration sécurisée pour vous connecter via HTTPS.
+ Vous devez fournir l'autorisation requise à l'utilisateur dans SAP pour découvrir les services et extraire les données à l'aide des OData services SAP. Reportez-vous à la documentation de sécurité fournie par SAP.

# politiques IAM
<a name="sap-odata-configuring-iam-permissions"></a>

## Politiques contenant les opérations API pour la création et l’utilisation des connexions
<a name="sap-odata-policies-api-operations"></a>

L'exemple de politique suivant décrit les autorisations AWS IAM requises pour créer et utiliser des connexions. Si vous créez un rôle, créez une politique contenant les éléments suivants :

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "glue:ListConnectionTypes",
        "glue:DescribeConnectionType",
        "glue:RefreshOAuth2Tokens",
        "glue:ListEntities",
        "glue:DescribeEntity"
      ],
      "Resource": "*"
    },
    {
      "Effect": "Allow",
      "Action": [
        "secretsmanager:DescribeSecret",
        "secretsmanager:GetSecretValue",
        "secretsmanager:PutSecretValue"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Le rôle doit accorder l’accès à toutes les ressources utilisées par la tâche, par exemple Amazon S3. Si vous ne voulez pas utiliser la méthode ci-dessus, vous pouvez également utiliser les politiques IAM gérées suivantes.
+ [AWSGlueServiceRole](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/service-role/AWSGlueServiceRole)— Accorde l'accès aux ressources dont AWS Glue les différents processus ont besoin pour s'exécuter en votre nom. Ces ressources incluent AWS Glue Amazon S3, IAM, CloudWatch Logs et Amazon EC2. Si vous suivez la convention de dénomination des ressources spécifiée dans cette politique, AWS Glue les processus disposent des autorisations requises. Cette politique est généralement attachée aux rôles spécifiés lorsque vous définissez les crawlers, les tâches et les points de terminaison de développement.
+ [AWSGlueConsoleFullAccess](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/AWSGlueConsoleFullAccess)— Accorde un accès complet aux AWS Glue ressources lorsqu'une identité à laquelle la politique est attachée utilise la console AWS de gestion. Si vous suivez la convention de dénomination pour les ressources spécifiées dans la politique, les utilisateurs bénéficient des capacités totales de la console. Cette politique s'applique généralement aux utilisateurs de la AWS Glue console.
+ [SecretsManagerReadWrite](https://console.aws.amazon.com/iam/home#policies/arn:aws:iam::aws:policy/SecretsManagerReadWrite)— Permet read/write d'accéder à AWS Secrets Manager via la console AWS de gestion. Remarque : Cela exclut les actions IAM, alors combinez-les avec `IAMFullAccess` si une configuration de rotation est requise.

**IAM Policies/Permissions nécessaire pour configurer le VPC**

Les autorisations IAM suivantes sont requises lors de l'utilisation d'une connexion VPC pour AWS Glue créer une connexion. Pour plus de détails, consultez [Create an IAM policy for AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/create-service-policy.html).

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "ec2:CreateNetworkInterface",
        "ec2:DeleteNetworkInterface",
        "ec2:DescribeNetworkInterfaces"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------

# Connectivité/connexion VPC
<a name="sap-odata-connectivity-vpc-connection"></a>

Étapes de connexion VPC :

1. Utilisez la connexion VPC existante ou créez-en une autre en suivant la [documentation Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc.html).

1. Assurez-vous que vous disposez d’une passerelle NAT qui achemine le trafic vers Internet.

1. Choisissez Amazon S3 Gateway comme point de terminaison d’un VPC pour créer une connexion.

1. Activez la résolution DNS et le nom d'hôte DNS pour utiliser les services DNS AWS fournis.

1. Accédez au VPC créé et ajoutez les points de terminaison nécessaires pour différents services tels que STS AWS Glue, Secret Managers.

   1. Choisissez Créer un point de terminaison.

   1. Pour Catégorie de service, sélectionnez AWS Services.

   1. Pour Nom du service, choisissez le service auquel vous vous connectez.

   1. Choisissez VPC et Activer le nom DNS.

   1. Points de terminaison de VCP requis pour la connexion VPC :

      1. [STS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sts_vpc_endpoint_create.html)

      1. [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/vpc-interface-endpoints.html)

      1. [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html)

## Configuration du groupe de sécurité
<a name="sap-odata-security-group-configuration"></a>

Le groupe de sécurité doit autoriser le trafic vers son port d'écoute depuis le AWS Glue VPC AWS Glue pour pouvoir s'y connecter. Il est recommandé de limiter autant que possible la plage d’adresses IP source. 

AWS Glue nécessite un groupe de sécurité spécial qui autorise tout le trafic entrant à partir de lui-même. Vous pouvez créer une règle de référence circulaire qui autorise tout le trafic provenant du groupe de sécurité. Vous pouvez modifier un groupe de sécurité existant et le spécifier en tant que source.

Ouvrez la communication depuis les ports HTTPS du point de terminaison de l’URL (instance NLB ou SAP).

## Options de connectivité
<a name="sap-odata-connectivity-options"></a>
+ Connexion HTTPS avec NLB interne et externe, certificat SSL de l’autorité de certification (CA), pas de certificat SSL non auto-signé
+ Connexion HTTPS avec certificat SSL d’instance SAP de l’autorité de certification (CA), pas de certificat SSL non auto-signé

# Authentification SAP
<a name="sap-odata-authentication"></a>

Le connecteur SAP prend en charge les méthodes d’authentification PERSONNALISÉES (authentification SAP DE BASE) et OAUTH.

## Authentification personnalisée
<a name="sap-odata-custom-authentication"></a>

AWS Glue prend en charge l'authentification personnalisée (authentification de base) comme méthode d'établissement de connexions à vos systèmes SAP, permettant l'utilisation d'un nom d'utilisateur et d'un mot de passe pour un accès sécurisé. Ce type d'authentification fonctionne bien pour les scénarios d'automatisation car il permet d'utiliser le nom d'utilisateur et le mot de passe dès le départ avec les autorisations d'un utilisateur particulier dans l' OData instance SAP. AWS Glue est capable d'utiliser le nom d'utilisateur et le mot de passe pour authentifier SAP OData APIs. Dans AWS Glue, l'autorisation de base est implémentée en tant qu'autorisation personnalisée.

Pour consulter la OData documentation SAP publique sur le flux d'authentification de base, consultez la section [Authentification de base HTTP](https://help.sap.com/docs/SAP_SUCCESSFACTORS_PLATFORM/d599f15995d348a1b45ba5603e2aba9b/5c8bca0af1654b05a83193b2922dcee2.html).

## OAuth 2.0 Authentification
<a name="sap-odata-oauth-2.0-authentication"></a>

AWS Glue prend également en charge la OAuth version 2.0 en tant que mécanisme d'authentification sécurisé pour établir des connexions à vos systèmes SAP. Cela permet une intégration fluide tout en garantissant la conformité aux normes d’authentification modernes et en renforçant la sécurité de l’accès aux données.

## Type d’autorisation AUTHORIZATION\$1CODE
<a name="sap-odata-authentication-code-grant-type"></a>

Le type de subvention détermine le AWS Glue mode de communication avec SAP OData pour demander l'accès à vos données. SAP ne OData prend en charge que le type de `AUTHORIZATION_CODE` subvention. Ce type de subvention est considéré comme « à trois étapes » OAuth car il repose sur la redirection des utilisateurs vers le serveur d'autorisation tiers pour authentifier l'utilisateur. Il est utilisé lors de la création de connexions via la AWS Glue console. 

Les utilisateurs peuvent toujours choisir de créer leur propre application connectée dans SAP OData et de fournir leur propre identifiant client et leur propre secret client lors de la création de connexions via la AWS Glue console. Dans ce scénario, ils seront toujours redirigés vers SAP pour OData se connecter et autoriser AWS Glue l'accès à leurs ressources.

Ce type d’autorisation donne lieu à un jeton d’actualisation et à un jeton d’accès. Le jeton d’accès est de courte durée et peut être actualisé automatiquement sans interaction de l’utilisateur à l’aide du jeton d’actualisation.

Pour consulter OData la documentation SAP publique sur la création d'une application connectée pour le OAuth flux de code d'autorisation, voir [Authentification Using OAuth 2.0](https://help.sap.com/docs/ABAP_PLATFORM_NEW/e815bb97839a4d83be6c4fca48ee5777/2e5104fd87ff452b9acb247bd02b9f9e.html).

# AWS Secrets Manager pour stocker votre secret d'authentification
<a name="sap-odata-aws-secret-manager-auth-secret"></a>

Vous devrez stocker les secrets de OData connexion SAP dans AWS Secrets Manager, configurer les autorisations nécessaires pour les récupérer, comme indiqué dans la [politiques IAM](sap-odata-configuring-iam-permissions.md) section, et les utiliser lors de la création d'une connexion.

Utilisez la console AWS de gestion de AWS Secrets Manager pour créer un secret pour votre source SAP. Pour plus d'informations, consultez la section [Créer un secret du Gestionnaire de AWS Secrets](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Les informations AWS contenues dans Secrets Manager doivent inclure les éléments du code suivant. 

## Secret d’authentification personnalisé
<a name="sap-odata-custom-auth-secret"></a>

Vous devrez saisir votre nom d’utilisateur du système SAP à la place de *<your SAP username>* et son mot de passe à la place de *<your SAP username password>*, ainsi que True ou False. Dans ce contexte, la définition de `basicAuthDisableSSO` sur `true` désactive l’authentification unique (SSO) pour les demandes d’authentification de base, en exigeant des informations d’identification utilisateur explicites pour chaque demande. Inversement, sa définition sur `false` autorise l’utilisation des sessions SSO existantes si elles sont disponibles.

```
{
   "basicAuthUsername": "<your SAP username>",
   "basicAuthPassword": "<your SAP username password>",
   "basicAuthDisableSSO": "<True/False>",
   "customAuthenticationType": "CustomBasicAuth"
}
```

## OAuth 2.0 Secret
<a name="sap-odata-oauth-2.0-secret"></a>

Si vous utilisez la OAuth version 2.0 comme mécanisme d'authentification, le secret du Gestionnaire de AWS Secrets doit avoir l'**application ClientId cliente gérée par l'utilisateur** au format suivant. Vous devrez saisir votre secret client SAP à la place de <your client secret>.

```
{"USER_MANAGED_CLIENT_APPLICATION_CLIENT_SECRET": "<your client secret>"
}
```