コード例 #1
0
 public PSKeyVaultPermission(KeyVaultPermission permission)
 {
     Actions        = permission.Actions.ToArray();
     NotActions     = permission.NotActions.ToArray();
     DataActions    = permission.DataActions.Select(x => x.ToString()).ToArray();
     NotDataActions = permission.NotDataActions.Select(x => x.ToString()).ToArray();
 }
コード例 #2
0
        public async Task CreateOrUpdateRoleDefinition()
        {
            var description         = Recording.GenerateAlphaNumericId("role");
            var name                = Recording.Random.NewGuid();
            var originalPermissions = new KeyVaultPermission();

            originalPermissions.DataActions.Add(KeyVaultDataAction.BackupHsmKeys);

            KeyVaultRoleDefinition createdDefinition = await Client.CreateOrUpdateRoleDefinitionAsync(description, originalPermissions, KeyVaultRoleScope.Global, name);

            RegisterForCleanup(createdDefinition);

            Assert.That(createdDefinition.AssignableScopes, Is.EqualTo(new[] { KeyVaultRoleScope.Global }));
            Assert.That(createdDefinition.Description, Is.EqualTo(description));
            Assert.That(createdDefinition.Name, Is.EqualTo(name.ToString()));
            Assert.That(createdDefinition.Permissions.First().DataActions, Is.EquivalentTo(originalPermissions.DataActions));
            Assert.That(createdDefinition.Type, Is.EqualTo(KeyVaultRoleDefinitionType.MicrosoftAuthorizationRoleDefinitions));

            var updatedpermissions = new KeyVaultPermission();

            updatedpermissions.DataActions.Add(KeyVaultDataAction.CreateHsmKey);
            updatedpermissions.DataActions.Add(KeyVaultDataAction.DownloadHsmSecurityDomain);

            KeyVaultRoleDefinition updatedDefinition = await Client.CreateOrUpdateRoleDefinitionAsync(description, updatedpermissions, KeyVaultRoleScope.Global, name);

            Assert.That(updatedDefinition.AssignableScopes, Is.EqualTo(new[] { KeyVaultRoleScope.Global }));
            Assert.That(updatedDefinition.Description, Is.EqualTo(description));
            Assert.That(updatedDefinition.Name, Is.EqualTo(name.ToString()));
            Assert.That(updatedDefinition.Permissions.First().DataActions, Is.EquivalentTo(updatedpermissions.DataActions));
            Assert.That(updatedDefinition.Type, Is.EqualTo(KeyVaultRoleDefinitionType.MicrosoftAuthorizationRoleDefinitions));
        }
コード例 #3
0
 public PSKeyVaultPermission(KeyVaultPermission permission)
 {
     AllowedActions     = permission.Actions.ToArray();
     DeniedActions      = permission.NotActions.ToArray();
     AllowedDataActions = permission.DataActions.ToArray();
     DeniedDataActions  = permission.NotDataActions.ToArray();
 }
コード例 #4
0
        public async Task DeleteRoleDefinition()
        {
            var description         = Recording.GenerateAlphaNumericId("role");
            var name                = Recording.Random.NewGuid();
            var originalPermissions = new KeyVaultPermission();

            originalPermissions.DataActions.Add(KeyVaultDataAction.BackupHsmKeys);

            KeyVaultRoleDefinition createdDefinition = await Client.CreateOrUpdateRoleDefinitionAsync(description, originalPermissions, KeyVaultRoleScope.Global, name);

            await Client.DeleteRoleDefinitionAsync(name, KeyVaultRoleScope.Global);

            List <KeyVaultRoleDefinition> results = await Client.GetRoleDefinitionsAsync(KeyVaultRoleScope.Global).ToEnumerableAsync().ConfigureAwait(false);

            Assert.That(!results.Any(r => r.Name.ToString().Equals(name.ToString())));
        }
コード例 #5
0
        public static KeyVaultPermission ToSdkType(this PSKeyVaultPermission psPermission)
        {
            var sdkPermission = new KeyVaultPermission();

            foreach (var x in psPermission.Actions)
            {
                sdkPermission.Actions.Add(x);
            }
            foreach (var x in psPermission.NotActions)
            {
                sdkPermission.NotActions.Add(x);
            }
            foreach (var x in psPermission.DataActions)
            {
                sdkPermission.DataActions.Add(x);
            }
            foreach (var x in psPermission.NotDataActions)
            {
                sdkPermission.NotDataActions.Add(x);
            }
            return(sdkPermission);
        }