Verwalten von Microsoft Entra-tokenbasierten Benutzern in Azure Confidential Ledger
Artikel
Microsoft Entra ID-basierte Benutzer werden durch ihre Microsoft Entra-Objekt-ID identifiziert.
Benutzer mit Administratorrechten können Benutzer von Confidential Ledger verwalten. Verfügbare Rollen sind „Leser“ (schreibgeschützt), „Mitwirkender“ (Lese- und Schreibzugriff) und „Administrator“ (Lese- und Schreibzugriff sowie Verwalten von Benutzern).
Anmelden bei Azure
Melden Sie sich über den Azure CLI-Befehl az login oder das Azure PowerShell-Cmdlet Connect-AzAccount bei Azure an.
Die CLI oder PowerShell öffnet Ihren Standardbrowser, sofern sie oder der Dienst dazu in der Lage ist, und lädt eine Azure-Anmeldeseite. Besuchen Sie andernfalls https://aka.ms/devicelogin, und geben Sie den in Ihrem Terminal angezeigten Autorisierungscode ein.
Melden Sie sich dann im Browser mit Ihren Anmeldeinformationen an, wenn Sie dazu aufgefordert werden.
Rufen Sie den Namen von Confidential Ledger und den Identitätsdienst-URI aus dem Azure-Portal ab. Dies ist erforderlich, um einen Client zum Verwalten der Benutzer zu erstellen. Diese Abbildung zeigt die entsprechenden Eigenschaften im Azure-Portal.
Ersetzen Sie Instanzen von contoso und https://contoso.confidential-ledger.azure.com in den folgenden Codeausschnitten durch die entsprechenden Werte aus dem Azure-Portal.
from azure.identity import DefaultAzureCredential
from azure.confidentialledger import ConfidentialLedgerClient
from azure.confidentialledger.identity_service import ConfidentialLedgerIdentityServiceClient
from azure.confidentialledger import LedgerUserRole
identity_client = ConfidentialLedgerCertificateClient()
network_identity = identity_client.get_ledger_identity(
ledger_id="contoso"
)
ledger_tls_cert_file_name = "ledger_certificate.pem"with open(ledger_tls_cert_file_name, "w") as cert_file:
cert_file.write(network_identity["ledgerTlsCertificate"])
# The DefaultAzureCredential will use the current Azure context to authenticate to Azure
credential = DefaultAzureCredential()
ledger_client = ConfidentialLedgerClient(
endpoint="https://contoso.confidential-ledger.azure.com",
credential=credential,
ledger_certificate_path=ledger_tls_cert_file_name
)
# Add a user with the contributor role# Other supported roles are Contributor and Administrator
user_id = "Azure AD object id of the user"
user = ledger_client.create_or_update_user(
user_id, {"assignedRole": "Contributor"}
)
# Get the user and check their properties
user = ledger_client.get_user(user_id)
assert user["userId"] == user_id
assert user["assignedRole"] == "Contributor"# Delete the user
ledger_client.delete_user(user_id)
Anmelden bei Azure
Melden Sie sich über den Azure CLI-Befehl az login oder das Azure PowerShell-Cmdlet Connect-AzAccount bei Azure an.
Die CLI oder PowerShell öffnet Ihren Standardbrowser, sofern sie oder der Dienst dazu in der Lage ist, und lädt eine Azure-Anmeldeseite. Besuchen Sie andernfalls https://aka.ms/devicelogin, und geben Sie den in Ihrem Terminal angezeigten Autorisierungscode ein.
Melden Sie sich dann im Browser mit Ihren Anmeldeinformationen an, wenn Sie dazu aufgefordert werden.
Rufen Sie den Namen von Confidential Ledger und den Identitätsdienst-URI aus dem Azure-Portal ab. Dies ist erforderlich, um einen Client zum Verwalten der Benutzer zu erstellen. Diese Abbildung zeigt die entsprechenden Eigenschaften im Azure-Portal.
Ersetzen Sie Instanzen von contoso und https://contoso.confidential-ledger.azure.com in den folgenden Codeausschnitten durch die entsprechenden Werte aus dem Azure-Portal.
Erstellen eines Clients und Verwalten der Benutzer
Dotnet
using Azure.Core;
using Azure.Identity;
using Azure.Security.ConfidentialLedger;
internal class ACLUserManagement
{
static void Main(string[] args)
{
// Create a ConfidentialLedgerClient instance
// The DefaultAzureCredential will use the current Azure context to authenticate to Azure
var ledgerClient = new ConfidentialLedgerClient(new Uri("https://contoso.confidential-ledger.azure.com"), new DefaultAzureCredential());
string userId = "Azure AD object id of the user";
// Add the user with the Reader role
// Other supported roles are Contributor and Administrator
ledgerClient.CreateOrUpdateUser(
userId,
RequestContent.Create(new { assignedRole = "Reader" }));
// Get the user and print their properties
Azure.Response response = ledgerClient.GetUser(userId);
var aclUser = System.Text.Json.JsonDocument.Parse(response.Content.ToString());
Console.WriteLine($"Assigned Role is = {aclUser.RootElement.GetProperty("assignedRole").ToString()}");
Console.WriteLine($"User id is = {aclUser.RootElement.GetProperty("userId").ToString()}");
// Delete the user
ledgerClient.DeleteUser(userId);
}
}
Anmelden bei Azure
Melden Sie sich über den Azure CLI-Befehl az login oder das Azure PowerShell-Cmdlet Connect-AzAccount bei Azure an.
Die CLI oder PowerShell öffnet Ihren Standardbrowser, sofern sie oder der Dienst dazu in der Lage ist, und lädt eine Azure-Anmeldeseite. Besuchen Sie andernfalls https://aka.ms/devicelogin, und geben Sie den in Ihrem Terminal angezeigten Autorisierungscode ein.
Melden Sie sich dann im Browser mit Ihren Anmeldeinformationen an, wenn Sie dazu aufgefordert werden.
Rufen Sie den Namen von Confidential Ledger und den Identitätsdienst-URI aus dem Azure-Portal ab. Dies ist erforderlich, um einen Client zum Verwalten der Benutzer zu erstellen. Diese Abbildung zeigt die entsprechenden Eigenschaften im Azure-Portal.
Ersetzen Sie Instanzen von contoso und https://contoso.confidential-ledger.azure.com in den folgenden Codeausschnitten durch die entsprechenden Werte aus dem Azure-Portal.
Die CLI oder PowerShell öffnet Ihren Standardbrowser, sofern sie oder der Dienst dazu in der Lage ist, und lädt eine Azure-Anmeldeseite. Besuchen Sie andernfalls https://aka.ms/devicelogin, und geben Sie den in Ihrem Terminal angezeigten Autorisierungscode ein.
Melden Sie sich dann im Browser mit Ihren Anmeldeinformationen an, wenn Sie dazu aufgefordert werden.
Rufen Sie den Namen von Confidential Ledger und den Identitätsdienst-URI aus dem Azure-Portal ab. Dies ist erforderlich, um einen Client zum Verwalten der Benutzer zu erstellen. Diese Abbildung zeigt die entsprechenden Eigenschaften im Azure-Portal.
Ersetzen Sie Instanzen von contoso und https://contoso.confidential-ledger.azure.com in den folgenden Codeausschnitten durch die entsprechenden Werte aus dem Azure-Portal.
Erstellen eines Clients und Verwalten der Benutzer
TypeScript
import ConfidentialLedger, { getLedgerIdentity } from"@azure-rest/confidential-ledger";
import { DefaultAzureCredential } from"@azure/identity";
exportasyncfunctionmain() {
// Get the signing certificate from the confidential ledger Identity Serviceconst ledgerIdentity = await getLedgerIdentity("contoso");
// Create the confidential ledger Clientconst confidentialLedger = ConfidentialLedger(
"https://contoso.confidential-ledger.azure.com",
ledgerIdentity.ledgerIdentityCertificate,
new DefaultAzureCredential()
);
// Azure AD object id of the userconst userId = "Azure AD Object id"// Other supported roles are Reader and Contributorconst createUserParams: CreateOrUpdateUserParameters = {
contentType: "application/merge-patch+json",
body: {
assignedRole: "Contributor",
userId: `${userId}`
}
}
// Add the uservar response = await confidentialLedger.path("/app/users/{userId}", userId).patch(createUserParams)
// Check for a non-success responseif (response.status !== "200") {
throw response.body.error;
}
// Print the responseconsole.log(response.body);
// Get the user
response = await confidentialLedger.path("/app/users/{userId}", userId).get()
// Check for a non-success responseif (response.status !== "200") {
throw response.body.error;
}
// Print the responseconsole.log(response.body);
// Set the user role to Readerconst updateUserParams: CreateOrUpdateUserParameters = {
contentType: "application/merge-patch+json",
body: {
assignedRole: "Reader",
userId: `${userId}`
}
}
// Update the user
response = await confidentialLedger.path("/app/users/{userId}", userId).patch(updateUserParams)
// Check for a non-success responseif (response.status !== "200") {
throw response.body.error;
}
// Print the responseconsole.log(response.body);
// Delete the userawait confidentialLedger.path("/app/users/{userId}", userId).delete()
// Get the user to make sure it is deleted
response = await confidentialLedger.path("/app/users/{userId}", userId).get()
// Check for a non-success responseif (response.status !== "200") {
throw response.body.error;
}
}
main().catch((err) => {
console.error(err);
});
Azure-Portal
Navigieren Sie zum Azure-Portal, und greifen Sie auf das Blatt „Manage users“ zu. Auf diesem Blatt können Sie Benutzer hinzufügen, aktualisieren und löschen.
Wenn Sie einen Benutzer hinzufügen möchten, klicken Sie auf die Schaltfläche „Add/Remove“, wählen Sie einen Benutzer aus, und wählen Sie die Rolle für den Benutzer aus. Wählen Sie dann „Apply“ aus, um die Änderungen zu übernehmen. Der Benutzer wird der Liste der Benutzer mit der ausgewählten Rolle hinzugefügt.
Um einen Benutzer aus dem Ledger zu entfernen, wählen Sie die Not Assigned-Rolle aus, und klicken Sie auf die Schaltfläche „Apply“. Der Benutzer wird aus der Liste der Benutzer entfernt.
Der Zugriff auf cloudbasierte Workloads muss zentral gesteuert werden, indem für jeden Benutzer und jede Ressource eine definitive Identität bereitgestellt wird. Sie können sicherstellen, dass die Mitarbeiter und Lieferanten nur über die Zugriffsrechte verfügen, die für Ihre Arbeit erforderlich sind.
Veranschaulichen der Features von Microsoft Entra ID, um Identitätslösungen zu modernisieren sowie Hybridlösungen und Identitätsgovernance zu implementieren