Assignment Args
Assigns a given Principal (User or Group) to a given Role.
Example Usage
Using A Built-In Role)
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var primary = CoreFunctions.getSubscription();
final var exampleClientConfig = CoreFunctions.getClientConfig();
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.roleDefinitionName("Reader")
.principalId(exampleClientConfig.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.build());
}
}
Custom Role & Service Principal)
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
import com.pulumi.azure.authorization.RoleDefinition;
import com.pulumi.azure.authorization.RoleDefinitionArgs;
import com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var primary = CoreFunctions.getSubscription();
final var exampleClientConfig = CoreFunctions.getClientConfig();
var exampleRoleDefinition = new RoleDefinition("exampleRoleDefinition", RoleDefinitionArgs.builder()
.roleDefinitionId("00000000-0000-0000-0000-000000000000")
.scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.permissions(RoleDefinitionPermissionArgs.builder()
.actions("Microsoft.Resources/subscriptions/resourceGroups/read")
.notActions()
.build())
.assignableScopes(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.build());
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.name("00000000-0000-0000-0000-000000000000")
.scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())
.principalId(exampleClientConfig.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.build());
}
}
Custom Role & User)
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
import com.pulumi.azure.authorization.RoleDefinition;
import com.pulumi.azure.authorization.RoleDefinitionArgs;
import com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var primary = CoreFunctions.getSubscription();
final var exampleClientConfig = CoreFunctions.getClientConfig();
var exampleRoleDefinition = new RoleDefinition("exampleRoleDefinition", RoleDefinitionArgs.builder()
.roleDefinitionId("00000000-0000-0000-0000-000000000000")
.scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.permissions(RoleDefinitionPermissionArgs.builder()
.actions("Microsoft.Resources/subscriptions/resourceGroups/read")
.notActions()
.build())
.assignableScopes(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.build());
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.name("00000000-0000-0000-0000-000000000000")
.scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())
.principalId(exampleClientConfig.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.build());
}
}
Custom Role & Management Group)
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.core.inputs.GetSubscriptionArgs;
import com.pulumi.azure.management.ManagementFunctions;
import com.pulumi.azure.management.inputs.GetGroupArgs;
import com.pulumi.azure.authorization.RoleDefinition;
import com.pulumi.azure.authorization.RoleDefinitionArgs;
import com.pulumi.azure.authorization.inputs.RoleDefinitionPermissionArgs;
import com.pulumi.azure.authorization.Assignment;
import com.pulumi.azure.authorization.AssignmentArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
final var primary = CoreFunctions.getSubscription();
final var exampleClientConfig = CoreFunctions.getClientConfig();
final var exampleGroup = ManagementFunctions.getGroup(GetGroupArgs.builder()
.name("00000000-0000-0000-0000-000000000000")
.build());
var exampleRoleDefinition = new RoleDefinition("exampleRoleDefinition", RoleDefinitionArgs.builder()
.roleDefinitionId("00000000-0000-0000-0000-000000000000")
.scope(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.permissions(RoleDefinitionPermissionArgs.builder()
.actions("Microsoft.Resources/subscriptions/resourceGroups/read")
.notActions()
.build())
.assignableScopes(primary.applyValue(getSubscriptionResult -> getSubscriptionResult.id()))
.build());
var exampleAssignment = new Assignment("exampleAssignment", AssignmentArgs.builder()
.name("00000000-0000-0000-0000-000000000000")
.scope(data.azurerm_management_group().primary().id())
.roleDefinitionId(exampleRoleDefinition.roleDefinitionResourceId())
.principalId(exampleClientConfig.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.build());
}
}
Import
Role Assignments can be imported using the resource id
, e.g.
$ pulumi import azure:role/assignment:Assignment example /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
for scope
Subscription
, the id format is/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
* for scopeResource Group
, the id format is/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000
text /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/00000000-0000-0000-0000-000000000000|00000000-0000-0000-0000-000000000000
Constructors
Functions
Properties
The scope at which the Role Assignment applies to, such as /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333
, /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup
, or /subscriptions/0b1f6471-1bf0-4dda-aec3-111122223333/resourceGroups/myGroup/providers/Microsoft.Compute/virtualMachines/myVM
, or /providers/Microsoft.Management/managementGroups/myMG
. Changing this forces a new resource to be created.