Partager via


CertificateCredential Classe

S’authentifie en tant que principal de service à l’aide d’un certificat.

Le certificat doit avoir une clé privée RSA, car ces informations d’identification signent des assertions à l’aide de RS256. Pour plus d’informations sur la configuration de l’authentification par certificat, consultez la documentation Azure Active Directory .

Héritage
azure.identity._internal.client_credential_base.ClientCredentialBase
CertificateCredential

Constructeur

CertificateCredential(tenant_id: str, client_id: str, certificate_path: str | None = None, **kwargs: Any)

Paramètres

tenant_id
str
Obligatoire

ID du locataire du principal de service. Également appelé son ID « répertoire ».

client_id
str
Obligatoire

ID client du principal de service

certificate_path
str
valeur par défaut: None

Chemin d’accès facultatif à un fichier de certificat au format PEM ou PKCS12, y compris la clé privée. S’il n’est pas fourni, certificate_data est obligatoire.

authority
str

Autorité d’un point de terminaison Azure Active Directory, par exemple « login.microsoftonline.com », l’autorité pour le cloud public Azure (qui est la valeur par défaut). AzureAuthorityHosts définit les autorités pour d’autres clouds.

certificate_data
bytes

Octets d’un certificat au format PEM ou PKCS12, y compris la clé privée

password
str ou bytes

Mot de passe du certificat. S’il s’agit d’une chaîne unicode, elle est encodée en UTF-8. Si le certificat nécessite un encodage différent, passez les octets correctement codés à la place.

send_certificate_chain
bool

Si la valeur est True, les informations d’identification envoient la chaîne de certificats publics dans l’en-tête x5c du JWT de chaque demande de jeton. Cela est requis pour l’authentification du nom de l’objet/émetteur (SNI). Valeur par défaut False.

cache_persistence_options
TokenCachePersistenceOptions

Configuration pour la mise en cache des jetons persistants. Si elles ne sont pas spécifiées, les informations d’identification mettez en cache les jetons en mémoire.

disable_instance_discovery
bool

Détermine si instance découverte est effectuée lors de la tentative d’authentification. La définition de cette valeur sur true désactive complètement la découverte instance et la validation de l’autorité. Cette fonctionnalité est destinée à être utilisée dans les scénarios où le point de terminaison de métadonnées n’est pas accessible, par exemple dans des clouds privés ou Azure Stack. Le processus de découverte instance implique la récupération des métadonnées d’autorité à partir de https://login.microsoft.com/ pour valider l’autorité. En affectant la valeur True, la validation de l’autorité est désactivée. Par conséquent, il est essentiel de s’assurer que l’hôte d’autorité configuré est valide et digne de confiance.

additionally_allowed_tenants
List[str]

Spécifie les locataires en plus du « tenant_id » spécifié pour lequel les informations d’identification peuvent acquérir des jetons. Ajoutez la valeur générique « * » pour permettre aux informations d’identification d’acquérir des jetons pour n’importe quel locataire auquel l’application peut accéder.

Exemples

Créez un CertificateCredential.


   from azure.identity import CertificateCredential

   credential = CertificateCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       certificate_path="<path to PEM/PKCS12 certificate>",
       password="<certificate password if necessary>",
   )

   # Certificate/private key byte data can also be passed directly
   credential = CertificateCredential(
       tenant_id="<tenant_id>",
       client_id="<client_id>",
       certificate_data=b"<cert data>",
   )

Méthodes

close
get_token

Demandez un jeton d’accès pour les étendues.

Cette méthode est appelée automatiquement par les clients du Kit de développement logiciel (SDK) Azure.

close

close() -> None

get_token

Demandez un jeton d’accès pour les étendues.

Cette méthode est appelée automatiquement par les clients du Kit de développement logiciel (SDK) Azure.

get_token(*scopes: str, claims: str | None = None, tenant_id: str | None = None, **kwargs: Any) -> AccessToken

Paramètres

scopes
str
Obligatoire

étendues souhaitées pour le jeton d’accès. Cette méthode nécessite au moins une étendue. Pour plus d’informations sur les étendues, consultez https://learn.microsoft.com/azure/active-directory/develop/scopes-oidc.

claims
str

revendications supplémentaires requises dans le jeton, telles que celles retournées dans la contestation de revendications d’un fournisseur de ressources suite à un échec d’autorisation.

tenant_id
str

locataire facultatif à inclure dans la demande de jeton.

enable_cae
bool

indique s’il faut activer l’évaluation continue de l’accès (CAE) pour le jeton demandé. Valeur par défaut False.

Retours

Jeton d’accès avec les étendues souhaitées.

Type de retour

Exceptions

les informations d’identification ne peuvent pas tenter d’authentification, car elles ne disposent pas de la prise en charge des données, de l’état ou de la plateforme requises

échec de l’authentification. L’attribut de l’erreur message donne une raison.