无法通过terraform使用oauth创建azure ad应用程序
我正在尝试使用oauth2_权限/范围在Azure AD中创建/注册应用程序。 我会按照此文档的第页进行操作: 我将其简化为简单的.tf文件:无法通过terraform使用oauth创建azure ad应用程序,azure,oauth-2.0,azure-active-directory,terraform,terraform-provider-azure,Azure,Oauth 2.0,Azure Active Directory,Terraform,Terraform Provider Azure,我正在尝试使用oauth2_权限/范围在Azure AD中创建/注册应用程序。 我会按照此文档的第页进行操作: 我将其简化为简单的.tf文件: provider "azuread" { version = "=0.7.0" subscription_id = "*******************************" tenant_id = var.tenant-id } resource "azurea
provider "azuread" {
version = "=0.7.0"
subscription_id = "*******************************"
tenant_id = var.tenant-id
}
resource "azuread_application" "example" {
name = "example"
// oauth2_permissions {
// admin_consent_description = "Allow the application to access example on behalf of the signed-in user."
// admin_consent_display_name = "Access example"
// is_enabled = true
// type = "User"
// user_consent_description = "Allow the application to access example on your behalf."
// user_consent_display_name = "Access example"
// value = "user_impersonation"
// }
}
使用地形平面图运行这样的脚本说:
C:\source\ITAN\terraform(master->origin)λ地形平面图
正在计划之前刷新内存中的地形状态。。。新的
状态将用于计算此计划,但不会持久化
到本地或远程状态存储
已生成执行计划,如下所示。资源
操作用以下符号表示:+create
Terraform将执行以下操作:
azuread_应用程序。将创建示例+资源
azuread_应用程序“示例”{
计划:1添加,0更改,0销毁
注意:您没有指定“-out”参数来保存此计划,因此
Terraform不能保证这些动作会被执行
如果随后运行“地形应用”
但是当我取消注释oauth2\u权限时
provider "azuread" {
version = "=0.7.0"
subscription_id = "******************"
tenant_id = var.tenant-id
}
resource "azuread_application" "example" {
name = "example"
oauth2_permissions {
admin_consent_description = "Allow the application to access example on behalf of the signed-in user."
admin_consent_display_name = "Access example"
is_enabled = true
type = "User"
user_consent_description = "Allow the application to access example on your behalf."
user_consent_display_name = "Access example"
value = "user_impersonation"
}
}
出现问题,其状态如下:
错误:“oauth2\u权限。0.用户同意\u显示\u名称”:此字段
无法设置
在资源“azuread_应用程序”中的itan-azure-ad.tf第7行
“示例”:7:资源“azuread_应用程序”示例{
知道我做错了什么吗?我已登录,选择了正确的订阅并切换到该订阅。我拥有azure帐户。我已成功通过azure门户创建了应用程序,但我希望自动完成。在terraform上运行:
terraform -v
Terraform v0.12.28
+ provider.azuread v0.7.0
似乎不支持在版本provider.azuread v0.7.0
中设置user\u approvement\u display\u name
。请参阅更改日志中的oauth2\u权限
请使用最新的azuread提供程序版本0.11.0。它将解决您的问题
provider "azuread" {
version = "~>0.11.0"
subscription_id = "*******************************"
tenant_id = var.tenant-id
}
完美。我从这里使用了0.7.0来查找插件/提供程序版本?@jstadnicki很高兴知道我的答案很有用。您共享的链接中提供的示例已经过时。正如我在回答中提到的,您可以查看更改日志。如果您想查看历史azuread
应用程序文件中的更改,请参阅。请再次理解anks.将更新我剩余的提供商。
provider "azuread" {
version = "~>0.11.0"
subscription_id = "*******************************"
tenant_id = var.tenant-id
}