def run_sample(): # Instantiate a key client that will be used to call the service. # Notice that the client is using default Azure credentials. # To make default credentials work, ensure that environment variables 'AZURE_CLIENT_ID', # 'AZURE_CLIENT_SECRET' and 'AZURE_TENANT_ID' are set with the service principal credentials. VAULT_URL = os.environ["VAULT_URL"] credential = DefaultAzureCredential() client = KeyClient(vault_url=VAULT_URL, credential=credential) try: # Let's create a Key of type RSA. # if the key already exists in the Key Vault, then a new version of the key is created. print("\n1. Create Key") key = client.create_key("keyName", "RSA") print("Key with name '{0}' created with key type '{1}'".format( key.name, key.key_material.kty)) # Backups are good to have, if in case keys gets deleted accidentally. # For long term storage, it is ideal to write the backup to a file. print("\n1. Create a backup for an existing Key") key_backup = client.backup_key(key.name) print("Backup created for key with name '{0}'.".format(key.name)) # The rsa key is no longer in use, so you delete it. client.delete_key(key.name) # To ensure key is deleted on the server side. print("\nDeleting key...") time.sleep(20) print("Deleted Key with name '{0}'".format(key.name)) # In future, if the key is required again, we can use the backup value to restore it in the Key Vault. print("\n2. Restore the key using the backed up key bytes") key = client.restore_key(key_backup) print("Restored Key with name '{0}'".format(key.name)) except HttpResponseError as e: print("\nrun_sample has caught an error. {0}".format(e.message)) finally: print("\nrun_sample done")
credential = DefaultAzureCredential() client = KeyClient(vault_url=VAULT_URL, credential=credential) try: # Let's create a Key of type RSA. # if the key already exists in the Key Vault, then a new version of the key is created. print("\n.. Create Key") key = client.create_key("keyName", "RSA") print("Key with name '{0}' created with key type '{1}'".format( key.name, key.key_material.kty)) # Backups are good to have, if in case keys gets deleted accidentally. # For long term storage, it is ideal to write the backup to a file. print("\n.. Create a backup for an existing Key") key_backup = client.backup_key(key.name) print("Backup created for key with name '{0}'.".format(key.name)) # The rsa key is no longer in use, so you delete it. print("\n.. Delete the key") client.delete_key(key.name) # In future, if the key is required again, we can use the backup value to restore it in the Key Vault. print("\n.. Restore the key using the backed up key bytes") key = client.restore_key(key_backup) print("Restored Key with name '{0}'".format(key.name)) except HttpResponseError as e: print("\nrun_sample has caught an error. {0}".format(e.message)) finally: print("\nrun_sample done")