Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygun programlı kimlik doğrulaması kimlik bilgileriyle KeyClient'ı oluşturun, ardından istemciyi kullanarak Azure Key Vault'ta bir anahtarı ayarlayın, güncelleştirin ve döndürün.
Anahtarı döndürmek, anahtarın yeni bir sürümünü oluşturmak ve bu sürümü en son sürüm olarak ayarlamak anlamına gelir. Önceki sürüm silinmez, ancak artık etkin sürüm değildir.
Döndürme ilkesiyle anahtar oluşturma
Azure Key Vault'ta anahtar oluşturmak için KeyClient sınıfının createKey yöntemini kullanın. İsteğe bağlı createKeyOptions nesnesiyle tüm özellikleri ayarlayın. Anahtar oluşturulduktan sonra, anahtarı bir döndürme ilkesiyle güncelleştirin.
Bir KeyVaultKey döndürülür. updateKeyRotationPolicy kullanarak anahtarı bildirim içeren bir ilkeyle güncelleştirin.
Kolaylık oluşturma yöntemleri, bu anahtar türüyle ilişkili özellikleri ayarlayan aşağıdaki anahtar türleri için kullanılabilir:
// Azure client libraries
import { DefaultAzureCredential } from '@azure/identity';
import {
CreateKeyOptions,
KeyClient,
KeyRotationPolicyProperties,
KnownKeyOperations,
KnownKeyTypes
} from '@azure/keyvault-keys';
// Day/time manipulation
import dayjs from 'dayjs';
import duration from 'dayjs/plugin/duration';
dayjs.extend(duration);
// Authenticate to Azure Key Vault
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// Name of key
const keyName = `mykey-${Date.now().toString()}`;
// Set key options
const keyOptions: CreateKeyOptions = {
enabled: true,
expiresOn: dayjs().add(1, 'year').toDate(),
exportable: false,
tags: {
project: 'test-project'
},
keySize: 2048,
keyOps: [
KnownKeyOperations.Encrypt,
KnownKeyOperations.Decrypt
// KnownKeyOperations.Verify,
// KnownKeyOperations.Sign,
// KnownKeyOperations.Import,
// KnownKeyOperations.WrapKey,
// KnownKeyOperations.UnwrapKey
]
};
// Set key type
const keyType = KnownKeyTypes.RSA; // 'EC', 'EC-HSM', 'RSA', 'RSA-HSM', 'oct', 'oct-HSM'
// Create key
const key = await client.createKey(keyName, keyType, keyOptions);
if (key) {
// Set rotation policy properties: KeyRotationPolicyProperties
const rotationPolicyProperties: KeyRotationPolicyProperties = {
expiresIn: 'P90D',
lifetimeActions: [
{
action: 'Rotate',
timeAfterCreate: 'P30D'
},
{
action: 'Notify',
timeBeforeExpiry: dayjs.duration({ days: 7 }).toISOString()
}
]};
// Set rotation policy: KeyRotationPolicy
const keyRotationPolicy = await client.updateKeyRotationPolicy(
key.name,
rotationPolicyProperties
);
console.log(keyRotationPolicy);
}
Anahtarı el ile döndürme
Anahtarı döndürmeniz gerektiğinde rotateKey yöntemini kullanın. Bu, anahtarın yeni bir sürümünü oluşturur ve bu sürümü etkin sürüm olarak ayarlar.
// Azure client libraries
import { DefaultAzureCredential } from '@azure/identity';
import {
KeyClient
} from '@azure/keyvault-keys';
// Authenticate to Azure Key Vault
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// Get existing key
let key = await client.getKey(`MyKey`);
console.log(key);
if(key?.name){
// rotate key
key = await client.rotateKey(key.name);
console.log(key);
}
Anahtar özelliklerini güncelleştirme
Anahtarın en son sürümünün özelliklerini updateKeyProperties ile güncelleştirin veya updateKeyProperties ile anahtarın belirli bir sürümünü güncelleştirin. Belirtilmeyen tüm UpdateKeyPropertiesOptions özellikleri değiştirilmeden bırakılır. Bu, anahtar değerini değiştirmez.
// Azure client libraries
import { DefaultAzureCredential } from '@azure/identity';
import {
KeyClient
} from '@azure/keyvault-keys';
// Authenticate to Azure Key Vault
const credential = new DefaultAzureCredential();
const client = new KeyClient(
`https://${process.env.AZURE_KEYVAULT_NAME}.vault.azure.net`,
credential
);
// Get existing key
const key = await client.getKey('MyKey');
if (key) {
//
const updateKeyPropertiesOptions = {
enabled: false,
// expiresOn,
// keyOps,
// notBefore,
// releasePolicy,
tags: {
...key.properties.tags, subproject: 'Health and wellness'
}
}
// update properties of latest version
await client.updateKeyProperties(
key.name,
updateKeyPropertiesOptions
);
// update properties of specific version
await client.updateKeyProperties(
key.name,
key?.properties?.version,
{
enabled: true
}
);
}
Anahtar değerini güncelleştirme
Anahtar değerini güncelleştirmek için rotateKey yöntemini kullanın. Anahtarın geçerli sürümünden saklamak istediğiniz tüm özelliklerle yeni değeri geçirmeyi unutmayın. RotateKey'e yapılan ek çağrılarda ayarlanmayan tüm geçerli özellikler kaybolur.
Bu, anahtarın yeni bir sürümünü oluşturur. Döndürülen KeyVaultKey nesnesi yeni sürüm kimliğini içerir.