Für eine neue AD-Anwendung können Sie beim Erstellen einen Schlüssel mit -p
angeben. Zum Beispiel
azure ad app create -n <your application name> --home-page <the homepage of you application> -i <the identifier URI of you application> -p <your key>
für eine bestehende AD-Anwendung sicher die Graph API kann die AD Anwendung Credential aktualisieren. Lesen Sie this API reference, und Sie können sehen, dass das Passwort Credential "POST, GET, PATCH" verwenden kann. Es ist jedoch zu kompliziert, die Graph-API zu verwenden. Ich habe das Azure CLI überprüft. Diese Funktionalität ist noch nicht implementiert und die Quelle ist für mich nicht lesbar. Dann habe ich mir Azure SDK für Python angeschaut, weil ich mit Python vertraut bin und herausgefunden habe, dass sie es bereits in 2.0.0rc2 implementiert haben. Siehe die GitHub Repo
Ich habe ein Python-Skript geschrieben. Aber, um mein Skript zu verwenden, müssen Sie nicht nur azur2.0.0rc2, sondern auch msrest und msrestazure installieren.
from azure.common.credentials import UserPassCredentials
from azure.graphrbac import GraphRbacManagementClient, GraphRbacManagementClientConfiguration
from azure.graphrbac.models import ApplicationCreateParameters, PasswordCredential
credentials = UserPassCredentials("<your Azure Account>", "<your password>")
subscription_id = "<your subscription id>"
tenant_id = "<your tenant id>"
graphrbac_client = GraphRbacManagementClient(
GraphRbacManagementClientConfiguration(
credentials,
subscription_id,
tenant_id
)
)
application = graphrbac_client.application.get('<your application object id>')
passwordCredential = PasswordCredential(start_date="2016-04-13T06:08:04.0863895Z",
end_date="2018-04-13T06:08:04.0863895Z",
value="<your new key>")
parameters = ApplicationCreateParameters(application.available_to_other_tenants,
application.display_name,
"<the homepage of your AD application>",
application.identifier_uris,
reply_urls=application.reply_urls,
password_credentials = [passwordCredential])
application = graphrbac_client.application.update('<your application object id>', parameters)
Das einzige Problem mit diesem Skript ist, dass Sie nur alle vorhandenen Schlüssel Ihrer AD-Anwendung überschreiben können. Sie können keinen neuen Schlüssel anhängen. Dies ist ein Problem der Graph-API. Die Graph-API erlaubt Benutzern nicht, einen vorhandenen Schlüssel zu lesen. Eine mögliche Lösung wäre, Ihre vorhandenen Schlüssel woanders zu speichern. Aber das bringt zusätzliches Sicherheitsrisiko.
Was meinen Sie damit, indem Sie einen Schlüssel hinzufügen? – Thomas
es ist Ende 2017 und es ist immer noch nicht möglich, das über das CLI zu tun – MMT