SharePoint User Profile Service之(五)-Audience

本文介绍如何利用Audience特性在SharePoint环境中更高效地管理用户权限,通过Audience设置实现复杂条件组的权限分配,避免在每个站点重复创建SharePointGroup带来的不便。详细展示了如何创建Audience及在列表项访问和WebPart访问中应用Audience的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Audience

User Profile Service里面,可以设置Audience。Audience有什么用呢?

虽然在SharePoint中可以用SharePoint Group/AD Group/AD User来管理权限,但是还是有一些情况不能满足。比如:需要设定满足复杂条件的一组人,并且要在Farm里的各个Site使用。如果使用SharePoint group,那么就需要在每个Site里都建一个Group,并且把相应的User加进去。一旦这组人员发生变化,就需要修改每个Site里的Group。

而Audience 就解决了这个问题。

要设置Audience,先用Farm Administrator 权限登陆到Central Administration,找到User Profile Service Application,进入到管理页面。 


进入Manage Audiences页面后,点击New Audience,这样就进入了新建Audience的页面:


在这个页面输入名字和Owner,点击OK。

在这个页面设定条件,点击OK之后,就创建好了一个Audience。在这个页面,可以添加其他的条件。 


Audience创建完了之后,如何使用呢?

1. 控制List item的访问随便找一个List

点击List Settings, 在Settings页面,点击Audience target settings: 


在这里选中Check Box,点击OK:


 这个时候再打开一个item:


 这样只有Developer 这个Audience 里面的User才能看见这个item了。


2. 控制Web Part的访问

Edit一个Webpart page,选一个Web Part,并Edit Properties: 


在修改属性的地方,可以设定Audience: 


这样这个Web Part就只有Developer 这个Audience 里面的User才能看见了。

<think>好的,用户现在要了解的是Kubernetes中的`--service-account-issuer=https://kubernetes.defau`参数。首先,我需要确认这个参数的正确性,注意到用户输入的结尾是“defau”,可能是“default”的拼写错误,但为了准确起见,应该指出正确的参数名称是`--service-account-issuer`,并假设用户可能是指默认的签发者URL。 接下来,我需要回忆这个参数的作用。这个参数用于指定服务账户令牌(Service Account Token)的签发者(Issuer)。在Kubernetes中,服务账户用于Pod的身份认证,而签发者URL是OpenID Connect(OIDC)发现的一部分,用于验证令牌的来源是否可信。正确的签发者URL通常是集群的API服务器地址,比如`https://kubernetes.default.svc`,但用户可能在这里输入了一个不完整的URL。 然后,用户可能的需求是什么?他们可能在配置集群时遇到了问题,或者想了解如何设置服务账户的签发者。他们可能是在尝试集成外部身份提供商,或者配置集群间的信任关系,比如联邦集群或多集群环境中需要统一的签发者。 接下来需要考虑参数的使用场景。例如,当集群需要与外部系统(如AWS IAM、GitHub Actions等)集成时,正确设置签发者URL是必要的。此外,如果用户在使用Service Account Token Volume Projection功能,签发者的正确配置也是关键。 然后需要解释参数的具体配置方法,包括在kube-apiserver中的配置步骤,可能的YAML文件修改示例。同时,需要提到相关参数的关联,比如`--api-audiences`,以及如何验证配置是否正确,比如检查令牌的签发者字段。 用户可能还关心安全方面的考虑,比如签发者URL必须是HTTPS,不能使用IP地址,以及如何避免配置错误导致的认证问题。此外,可能存在的常见错误,比如拼写错误或URL格式不正确,也需要提醒用户。 最后,总结这个参数的重要性,强调在需要集群间信任或外部集成时的必要性,同时指出默认配置和修改后的影响。确保回答结构清晰,分点说明,并给出实际示例,帮助用户理解如何正确应用这个参数。</think>--- ### 关于 `--service-account-issuer` 参数的详细介绍 --- #### 1. **参数作用** `--service-account-issuer` 是 Kubernetes **kube-apiserver** 的配置参数,用于指定 **服务账户令牌(Service Account Token)的签发者(Issuer)标识**。 - **核心功能**:定义服务账户令牌的颁发者 URL,用于 OpenID Connect (OIDC) 身份验证和集群间的信任关系。 - **默认值**:Kubernetes 1.20+ 后默认不显式设置(旧版本可能默认为空)。 - **典型值**:通常设置为集群的 API 服务器地址,例如: - `https://kubernetes.default.svc`(集群内默认服务域名) - `https://my-cluster.example.com`(外部可访问的集群域名) --- #### 2. **核心影响** ##### 服务账户令牌的签发者标识 - **OIDC 发现**:签发者 URL 是 OIDC 发现的元数据端点(如 `/.well-known/openid-configuration`)的一部分,用于验证令牌来源。 - **多集群信任**:在联邦集群或跨集群通信场景中,统一签发者 URL 可建立集群间的信任关系。 ##### 依赖该参数的关键功能 - **Service Account Token Volume Projection**:动态生成服务账户令牌时需指定签发者(通过 `spec.serviceAccountToken.audience` 和签发者匹配)。 - **外部身份联合**:将 Kubernetes 服务账户与外部系统(如 AWS IAM、GitHub Actions)集成时,签发者需被外部系统认可。 --- #### 3. **配置方式** ##### 在 kube-apiserver 中启用 1. 修改 kube-apiserver 配置文件(如 `/etc/kubernetes/manifests/kube-apiserver.yaml`): ```yaml - command: - kube-apiserver - --service-account-issuer=https://kubernetes.default.svc # 签发者 URL - --service-account-signing-key-file=/etc/kubernetes/pki/sa.key # 签名私钥 - --service-account-api-audiences=api,https://api.my-cluster.example.com # 目标受众(可选) ``` 2. 重启 kube-apiserver(通过重启 kubelet): ```bash systemctl restart kubelet ``` ##### 验证配置 检查生成的令牌是否包含正确的签发者信息: ```bash kubectl create token my-service-account --audience=api # 解码令牌的 JWT payload 部分,查看 "iss" 字段是否为配置的 URL ``` --- #### 4. **使用场景示例** ##### 场景 1:跨集群信任(联邦集群) 集群 A 信任集群 B 签发的服务账户令牌: - 集群 B 配置: ```yaml --service-account-issuer=https://cluster-b.example.com ``` - 集群 A 的 kube-apiserver 配置: ```yaml --service-account-jwks-uri=https://cluster-b.example.com/openid/v1/jwks ``` ##### 场景 2:与 AWS EKS 集成 AWS EKS 要求服务账户签发者匹配 OIDC 提供商的 URL: 1. 配置 kube-apiserver: ```yaml --service-account-issuer=https://oidc.eks.us-west-2.amazonaws.com/id/EXAMPLEDID ``` 2. 创建 IAM 角色并绑定服务账户,实现 AWS 资源访问权限控制。 ##### 场景 3:动态服务账户令牌 Pod 中自动挂载的令牌需包含特定签发者: ```yaml apiVersion: v1 kind: Pod metadata: name: my-pod spec: serviceAccountName: my-sa containers: - name: app image: nginx volumeMounts: - name: token mountPath: /var/run/secrets/tokens volumes: - name: token projected: sources: - serviceAccountToken: path: token expirationSeconds: 7200 audience: api # 必须与 --service-account-api-audiences 匹配 ``` --- #### 5. **安全注意事项** - **HTTPS 强制要求**:签发者 URL 必须使用 HTTPS,否则令牌可能被中间人攻击篡改。 - **唯一性**:签发者 URL 必须在所有信任集群中唯一,避免冲突。 - **避免 IP 地址**:使用域名而非 IP,防止因 IP 变更导致信任链断裂。 - **定期轮换密钥**:配合 `--service-account-signing-key-file` 定期更新私钥以增强安全性。 --- #### 6. **常见问题** ##### 问题 1:令牌验证失败 - **原因**
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值