

# Identità Ping
<a name="identity-idp-pingidentity"></a>

La PingOne piattaforma di Ping Identity può essere configurata come provider di credenziali di AgentCore identità per l'accesso alle risorse in uscita. Ciò consente ai tuoi agenti di autenticare gli utenti tramite il PingOne servizio OAuth2 e ottenere token di accesso per le risorse API. PingOne 

## In uscita
<a name="identity-idp-pingidentity-outbound"></a>

**Nota**  
È possibile configurare un'applicazione PingOne OAuth2 solo come federazione di utenti o client M2M OAuth2, ma non entrambi.

**Nota**  
AgentCore Identity emette un URL di callback OAuth2 univoco per ogni provider di credenziali creato. L'URL di callback univoco abilita l'associazione di sessione, che protegge lo scambio di codice di autorizzazione OAuth2 dalla riproduzione e dagli CSRF-style attacchi tra provider, garantendo che una risposta di autorizzazione possa essere riscattata solo contro lo specifico provider di credenziali che l'ha avviata. **Poiché l'URL è unico per provider, lo saprai solo dopo la chiamata.** `CreateOauth2CredentialProvider` Crea prima la tua applicazione PingOne OAuth2, quindi torna alla console di PingOne amministrazione per registrare l'URL di callback una volta che AgentCore Identity lo ha emesso.

 **Passaggio 1: creare l'applicazione Ping Identity OAuth2** 

Utilizzare la seguente procedura per configurare un'applicazione PingOne OAuth2 e ottenere le credenziali client necessarie per Identity. AgentCore Se state configurando un client di federazione utenti, registrerete l'URI di reindirizzamento nel passaggio 3, dopo che AgentCore Identity avrà emesso l'URL di callback univoco.

 **Per configurare un'applicazione OAuth2 PingOne ** 

1. Accedi alla console di PingOne amministrazione.

1. Nella barra di navigazione, in **Applicazioni**, scegli **Applicazione**.

1. Nella pagina, scegli l'icona **\+** accanto a **Applicazioni** per creare una nuova applicazione.

1. Per configurare l'applicazione come client M2M OAuth2:
   + Seleziona le **credenziali del client** per il tipo di concessione.
   + Seleziona **Client Secret Post** per il metodo di autenticazione Token Endpoint.
   + Crea una risorsa personalizzata in Applicazioni→Risorse nelle schede, incluso un ambito. **Quindi, aggiungi quell'ambito all'applicazione nella scheda Risorse personali.** Quindi, assicurati che l'ambito sia presente nel campo «ambiti» di GetResourceOauth2AccessToken.

1. Per configurare la tua applicazione come client Oauth2 per una federazione di utenti:
   + Seleziona **Codice per il tipo** di risposta.
   + Seleziona il **codice di autorizzazione** per il tipo di concessione.
   + Seleziona **Client Secret Basic** per il metodo di autenticazione Token Endpoint.
   + Lascia vuoto l'elenco degli URI di reindirizzamento per ora: aggiungerai l'URL di callback univoco nel passaggio 3.

Per maggiori dettagli, consulta la documentazione dell'[ PingOne API di Ping Identity](https://apidocs.pingidentity.com/pingone/getting-started/v1/api).

 **Passaggio 2: creare il provider di credenziali di AgentCore identità** 

Per configurarlo PingOne come provider di risorse in uscita, utilizza quanto segue:

```
{
  "name": "PingOne",
  "credentialProviderVendor": "PingOneOauth2",
  "oauth2ProviderConfigInput" : {
    "includedOauth2ProviderConfig": {
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret",
      "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize",
      "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token",
      "issuer": "https://auth.pingone.com/your-env-id/as"
    }
  }
}
```

Per utilizzare [lo scambio di token PingIdentity OAuth 2.0 per la delega](https://docs.pingidentity.com/pingone/use_cases/p1_oauth_2_token_exchange_delegation.html), utilizza un provider personalizzato per la configurazione avanzata. Per i dettagli, consulta [Scambio di On-behalf-of token con Identity AgentCore ](on-behalf-of-token-exchange.md).

```
{
  "name": "PingOne",
  "credentialProviderVendor": "CustomOauth2",
  "oauth2ProviderConfigInput": {
    "customOauth2ProviderConfig": {
      "clientAuthenticationMethod": "CLIENT_SECRET_BASIC",
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret",
      "oauthDiscovery": {
        "authorizationServerMetadata": {
          "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize",
          "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token",
          "issuer": "https://auth.pingone.com/your-env-id/as"
        }
      },
      "onBehalfOfTokenExchangeConfig": {
        "grantType": "TOKEN_EXCHANGE",
        "tokenExchangeGrantTypeConfig": {
          "actorTokenContent": "M2M"
        }
      }
    }
  }
}
```

Per utilizzare [lo scambio di token PingIdentity OAuth 2.0 per l'impersonificazione](https://docs.pingidentity.com/pingone/use_cases/p1_oauth_2_token_exchange_impersonation.html), utilizza un provider personalizzato per la configurazione avanzata. Per i dettagli, consulta Scambio di [On-behalf-of token](on-behalf-of-token-exchange.md) con Identity. AgentCore 

```
{
  "name": "PingOne",
  "credentialProviderVendor": "CustomOauth2",
  "oauth2ProviderConfigInput": {
    "customOauth2ProviderConfig": {
      "clientAuthenticationMethod": "CLIENT_SECRET_BASIC",
      "clientId": "your-client-id",
      "clientSecret": "your-client-secret",
      "oauthDiscovery": {
        "authorizationServerMetadata": {
          "authorizationEndpoint": "https://auth.pingone.com/your-env-id/as/authorize",
          "tokenEndpoint": "https://auth.pingone.com/your-env-id/as/token",
          "issuer": "https://auth.pingone.com/your-env-id/as"
        }
      },
      "onBehalfOfTokenExchangeConfig": {
        "grantType": "TOKEN_EXCHANGE",
        "tokenExchangeGrantTypeConfig": {
          "actorTokenContent": "NONE"
        }
      }
    }
  }
}
```

La [CreateOauth2CredentialProvider](https://docs.aws.amazon.com/bedrock-agentcore-control/latest/APIReference/API_CreateOauth2CredentialProvider.html)risposta include un `callbackUrl` campo. Questo URL è unico per questo fornitore di credenziali e ha il seguente aspetto:`https://bedrock-agentcore.us-east-1.amazonaws.com/identities/oauth2/callback/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX`. Salva questo valore per il passaggio successivo.

**Nota**  
L'URL di callback univoco si applica solo ai client di federazione degli utenti. Se è stato configurato PingOne come client M2M, non è richiesta la registrazione dell'URL di callback.

 **Passaggio 3: Registra l'URL di callback univoco con PingOne** 

Torna alla console di PingOne amministrazione e aggiungi l'URL di callback univoco all'elenco degli URI di reindirizzamento dell'applicazione di federazione utenti.

1. Accedi alla console di PingOne amministrazione e apri l'applicazione creata nel passaggio 1.

1. Aggiungi il `callbackUrl` valore restituito da `CreateOauth2CredentialProvider` alla configurazione URI di reindirizzamento dell'applicazione.

1. Salvare le modifiche.