Ejemplo n.º 1
0
        public async Task KeyVaultManagementVaultTestCompoundIdentityAccessControlPolicy()
        {
            AccessPolicy.ApplicationId       = Guid.Parse(TestEnvironment.ClientId);
            VaultProperties.EnableSoftDelete = null;

            var parameters = new VaultCreateOrUpdateParameters(Location, VaultProperties);

            parameters.Tags.InitializeFrom(Tags);

            var createVault = await VaultContainer.CreateOrUpdateAsync(
                vaultName : VaultName,
                parameters : parameters
                ).ConfigureAwait(false);

            var vaultResponse = createVault.Value;

            ValidateVault(vaultResponse.Data,
                          VaultName,
                          ResGroupName,
                          TestEnvironment.SubscriptionId,
                          TenantIdGuid,
                          Location,
                          "A",
                          SkuName.Standard,
                          true,
                          true,
                          true,
                          true,
                          new[] { AccessPolicy },
                          Tags);

            // Get
            var retrievedVault = await VaultContainer.GetAsync(VaultName);

            ValidateVault(retrievedVault.Value.Data,
                          VaultName,
                          ResGroupName,
                          TestEnvironment.SubscriptionId,
                          TenantIdGuid,
                          Location,
                          "A",
                          SkuName.Standard,
                          true,
                          true,
                          true,
                          true,
                          new[] { AccessPolicy },
                          Tags);

            // Delete
            await retrievedVault.Value.DeleteAsync();

            Assert.ThrowsAsync <RequestFailedException>(async() =>
            {
                await VaultContainer.GetAsync(VaultName);
            });
        }
        public async Task Get()
        {
            #region Snippet:Managing_KeyVaults_GetAVault
            VaultContainer vaultContainer = resourceGroup.GetVaults();

            Vault vault = await vaultContainer.GetAsync("myVault");

            Console.WriteLine(vault.Data.Name);
            #endregion
        }
        public async Task Delete()
        {
            #region Snippet:Managing_KeyVaults_DeleteAVault
            VaultContainer vaultContainer = resourceGroup.GetVaults();

            Vault vault = await vaultContainer.GetAsync("myVault");

            await vault.DeleteAsync();

            #endregion
        }
Ejemplo n.º 4
0
        public async Task KeyVaultManagementRecoverDeletedVault()
        {
            var parameters = new VaultCreateOrUpdateParameters(Location, VaultProperties);

            parameters.Tags.InitializeFrom(Tags);
            var createdVault = await VaultContainer.CreateOrUpdateAsync(VaultName, parameters).ConfigureAwait(false);

            var vaultValue = createdVault.Value;

            // Delete
            await vaultValue.DeleteAsync();

            // Get deleted vault
            Assert.ThrowsAsync <RequestFailedException>(async() =>
            {
                await VaultContainer.GetAsync(VaultName);
            });

            parameters = new VaultCreateOrUpdateParameters(Location, VaultProperties);
            parameters.Tags.InitializeFrom(Tags);
            // Recover in default mode
            var recoveredRawVault = await VaultContainer.CreateOrUpdateAsync(VaultName, parameters).ConfigureAwait(false);

            var recoveredVault = recoveredRawVault.Value;

            Assert.True(recoveredVault.Data.IsEqual(vaultValue.Data));

            // Get recovered vault
            var getResult = await VaultContainer.GetAsync(VaultName);

            // Delete
            await getResult.Value.DeleteAsync();

            VaultProperties.CreateMode = CreateMode.Recover;
            parameters = new VaultCreateOrUpdateParameters(Location, VaultProperties);

            // Recover in recover mode
            var recoveredRawVault2 = await VaultContainer.CreateOrUpdateAsync(VaultName, parameters).ConfigureAwait(false);

            var recoveredVault2 = recoveredRawVault.Value;

            Assert.True(recoveredVault2.Data.IsEqual(vaultValue.Data));

            // Get recovered vault
            getResult = await VaultContainer.GetAsync(VaultName);

            // Delete
            await getResult.Value.DeleteAsync();
        }
Ejemplo n.º 5
0
        public async Task KeyVaultManagementVaultCreateUpdateDelete()
        {
            VaultProperties.EnableSoftDelete = null;

            var parameters = new VaultCreateOrUpdateParameters(Location, VaultProperties);

            parameters.Tags.InitializeFrom(Tags);

            var rawVault = await VaultContainer.CreateOrUpdateAsync(VaultName, parameters).ConfigureAwait(false);

            var createdVault = rawVault.Value.Data;

            ValidateVault(createdVault,
                          VaultName,
                          ResGroupName,
                          TestEnvironment.SubscriptionId,
                          TenantIdGuid,
                          Location,
                          "A",
                          SkuName.Standard,
                          true,
                          true,
                          true,
                          true, // enableSoftDelete defaults to true
                          new[] { AccessPolicy },
                          VaultProperties.NetworkAcls,
                          Tags);

            //Update
            AccessPolicy.Permissions.Secrets.Clear();
            AccessPolicy.Permissions.Secrets.Add(SecretPermissions.Get);
            AccessPolicy.Permissions.Secrets.Add(SecretPermissions.Set);
            (AccessPolicy.Permissions.Keys as ChangeTrackingList <KeyPermissions>).Reset();

            AccessPolicy.Permissions.Storage.Clear();
            AccessPolicy.Permissions.Storage.Add(StoragePermissions.Get);
            AccessPolicy.Permissions.Storage.Add(StoragePermissions.Regeneratekey);

            createdVault.Properties.AccessPolicies.Clear();
            createdVault.Properties.AccessPolicies.Add(AccessPolicy);
            createdVault.Properties.Sku.Name = SkuName.Premium;

            parameters = new VaultCreateOrUpdateParameters(Location, createdVault.Properties);
            parameters.Tags.InitializeFrom(Tags);
            var rawUpdateVault = await VaultContainer.CreateOrUpdateAsync(VaultName, parameters).ConfigureAwait(false);

            var updateVault = rawUpdateVault.Value.Data;

            ValidateVault(updateVault,
                          VaultName,
                          ResGroupName,
                          TestEnvironment.SubscriptionId,
                          TenantIdGuid,
                          Location,
                          "A",
                          SkuName.Premium,
                          true,
                          true,
                          true,
                          true,
                          new[] { AccessPolicy },
                          VaultProperties.NetworkAcls,
                          Tags);

            var rawRetrievedVault = await VaultContainer.GetAsync(VaultName);

            var retrievedVault = rawRetrievedVault.Value.Data;

            ValidateVault(retrievedVault,
                          VaultName,
                          ResGroupName,
                          TestEnvironment.SubscriptionId,
                          TenantIdGuid,
                          Location,
                          "A",
                          SkuName.Premium,
                          true,
                          true,
                          true,
                          true,
                          new[] { AccessPolicy },
                          VaultProperties.NetworkAcls,
                          Tags);

            // Delete
            await rawRetrievedVault.Value.DeleteAsync();

            Assert.ThrowsAsync <RequestFailedException>(async() =>
            {
                await VaultContainer.GetAsync(VaultName);
            });
        }