服务主体凭据,设置自定义标识符?

时间:2017-06-01 12:42:48

标签: azure azure-active-directory service-principal

我们正在将个人开发者证书链接到某个服务主体。 当开发人员离开我们的团队时,我们将从服务主体中删除该凭证。

这很有效,但这有点麻烦,因为开发者的名字没有链接到凭证。

我注意到它们是凭据上的customIdentifierKey属性...但我找不到如何设置customIdentifierKey。

任何人都知道如何做到这一点?

New-AzureRmADAppCredential -ApplicationId $appId -CertValue $keyValue -EndDate $cert.NotAfter -StartDate $cert.NotBefore 

1 个答案:

答案 0 :(得分:0)

您可以使用Azure AD v2 cmdlets设置和获取自定义密钥标识符。

我在这里添加证书:

New-AzureADApplicationKeyCredential -ObjectId 2648416a-aaaa-4bc0-9190-aaaab6165710 -CustomKeyIdentifier 'Your key name' -StartDate '2017/06/01' -EndDate '2018/06/01' -Type AsymmetricX509Cert -Usage Verify -Value $keyValue

假设您的$keyValue包含X509证书。如果它是对称密钥,则可以使用Symmetric作为类型。

自定义密钥标识符以字节存储,以ASCII格式编码。

所以当你得到一个时,你需要通过解码来运行它:

$cred = Get-AzureADApplicationKeyCredential -ObjectId 2648416a-aaaa-4bc0-9190-aaaab6165710
[System.Text.Encoding]::ASCII.GetString($cred.CustomKeyIdentifier)

有趣的是,如果您通过Azure门户在PasswordCredential(客户端密钥)上设置标识符,则会使用Unicode对其进行编码。