日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

Kubernetes:kube-apiserver 之鉴权

發布時間:2023/11/9 C# 73 coder
生活随笔 收集整理的這篇文章主要介紹了 Kubernetes:kube-apiserver 之鉴权 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

kubernetes:kube-apiserver 系列文章:

  • Kubernetes:kube-apiserver 之 scheme(一)
  • Kubernetes:kube-apiserver 之 scheme(二)
  • Kubernetes:kube-apiserver 之啟動流程(一)
  • Kubernetes:kube-apiserver 之啟動流程(二)
  • Kubernetes:kube-apiserver 和 etcd 的交互
  • Kubernetes:kube-apiserver 之認證

0. 前言

上一篇文章介紹了 kube-apiserver 的認證機制。這里繼續往下走,介紹 kube-apiserver 的鑒權。kube-apiserver 處理認證和鑒權非常類似,建議閱讀鑒權機制前先看看 kube-apiserver 的 認證。

1. 鑒權 Authorization

1.1 Authorization handler

進入 DefaultBuildHandlerChainAuthorization handler 創建過程。

# kubernetes/vendor/k8s.io/apiserver/pkg/server/config.go
func DefaultBuildHandlerChain(apiHandler http.Handler, c *Config) http.Handler {
	handler := apiHandler

	handler = genericapifilters.WithAuthorization(handler, c.Authorization.Authorizer, c.Serializer)
	handler = filterlatency.TrackStarted(handler, c.TracerProvider, "authorization")

    handler = genericapifilters.WithAuthentication(handler, c.Authentication.Authenticator, failedHandler, c.Authentication.APIAudiences, c.Authentication.RequestHeaderConfig)
	handler = filterlatency.TrackStarted(handler, c.TracerProvider, "authentication")
}

這里 handler chainhandler 處理順序是由下往上的,即處理完 authentication handler 在處理 authorization handler

進入 genericapifilters.WithAuthorization 查看鑒權 handler 的創建過程。

# kubernetes/vendor/k8s.io/apiserver/pkg/endpoints/filters/authorization.go
func WithAuthorization(hhandler http.Handler, auth authorizer.Authorizer, s runtime.NegotiatedSerializer) http.Handler {
	return withAuthorization(hhandler, auth, s, recordAuthorizationMetrics)
}

func withAuthorization(handler http.Handler, a authorizer.Authorizer, s runtime.NegotiatedSerializer, metrics recordAuthorizationMetricsFunc) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
		ctx := req.Context()
		authorizationStart := time.Now()

        // 獲取 request 攜帶的用戶信息
		attributes, err := GetAuthorizerAttributes(ctx)
		if err != nil {
			responsewriters.InternalError(w, req, err)
			return
		}

        // 對用戶信息進行鑒權
		authorized, reason, err := a.Authorize(ctx, attributes)

		...
	})
}

鑒權過程包括兩部分。

一部分通過 GetAuthorizerAttributes 獲取 RESTful API 請求中攜帶的用戶信息。

# kubernetes/vendor/k8s.io/apiserver/pkg/endpoints/filters/authorization.go
func GetAuthorizerAttributes(ctx context.Context) (authorizer.Attributes, error) {
	attribs := authorizer.AttributesRecord{}

	user, ok := request.UserFrom(ctx)
	if ok {
		attribs.User = user
	}

	requestInfo, found := request.RequestInfoFrom(ctx)
	if !found {
		return nil, errors.New("no RequestInfo found in the context")
	}

	// Start with common attributes that apply to resource and non-resource requests
	attribs.ResourceRequest = requestInfo.IsResourceRequest
	attribs.Path = requestInfo.Path
	attribs.Verb = requestInfo.Verb

	attribs.APIGroup = requestInfo.APIGroup
	attribs.APIVersion = requestInfo.APIVersion
	attribs.Resource = requestInfo.Resource
	attribs.Subresource = requestInfo.Subresource
	attribs.Namespace = requestInfo.Namespace
	attribs.Name = requestInfo.Name

	return &attribs, nil
}

獲取到用戶信息后通過 a.Authorize(ctx, attributes) 對用戶及其請求進行鑒權。其中 a 是實現了 Authorizer 鑒權器接口的實例。

type Authorizer interface {
	Authorize(ctx context.Context, a Attributes) (authorized Decision, reason string, err error)
}

查看 a.Authorize(ctx, attributes) 實際是看 Config.Authorization.Authorizer 中的實例。

func DefaultBuildHandlerChain(apiHandler http.Handler, c *Config) http.Handler {
	handler = genericapifilters.WithAuthorization(handler, c.Authorization.Authorizer, c.Serializer)
}

1.2 Authorization authorizer

Config.Authorization.AuthorizerBuildGenericConfigBuildAuthorizer 函數內創建。

# kubernetes/pkg/controlplane/apiserver/config.go
func BuildGenericConfig(
	s controlplaneapiserver.CompletedOptions,
	schemes []*runtime.Scheme,
	getOpenAPIDefinitions func(ref openapicommon.ReferenceCallback) map[string]openapicommon.OpenAPIDefinition,
) (
	genericConfig *genericapiserver.Config,
	versionedInformers clientgoinformers.SharedInformerFactory,
	storageFactory *serverstorage.DefaultStorageFactory,

	lastErr error,
) {
    genericConfig.Authorization.Authorizer, genericConfig.RuleResolver, err = BuildAuthorizer(s, genericConfig.EgressSelector, versionedInformers)
	if err != nil {
		lastErr = fmt.Errorf("invalid authorization config: %v", err)
		return
	}
}

進入 BuildAuthorizer 查看 Authorizer 是怎么創建的。

# kubernetes/pkg/controlplane/apiserver/config.go
func BuildAuthorizer(s controlplaneapiserver.CompletedOptions, EgressSelector *egressselector.EgressSelector, versionedInformers clientgoinformers.SharedInformerFactory) (authorizer.Authorizer, authorizer.RuleResolver, error) {
	authorizationConfig := s.Authorization.ToAuthorizationConfig(versionedInformers)

	if EgressSelector != nil {
		egressDialer, err := EgressSelector.Lookup(egressselector.ControlPlane.AsNetworkContext())
		if err != nil {
			return nil, nil, err
		}
		authorizationConfig.CustomDial = egressDialer
	}

	return authorizationConfig.New()
}

創建 Authorizer 分為兩塊。首先創建 authorizationConfig,接著通過 authorizationConfig.New() 實例化 authorizer

# kubernetes/pkg/kubeapiserver/authorizer/config.go
func (config Config) New() (authorizer.Authorizer, authorizer.RuleResolver, error) {
	var (
		authorizers   []authorizer.Authorizer
		ruleResolvers []authorizer.RuleResolver
	)

	for _, authorizationMode := range config.AuthorizationModes {
		switch authorizationMode {
		case modes.ModeNode:
			...
		case modes.ModeAlwaysAllow:
			...
		case modes.ModeAlwaysDeny:
            ...
		case modes.ModeABAC:
			...
		case modes.ModeWebhook:
			...
		case modes.ModeRBAC:
			...
		default:
			return nil, nil, fmt.Errorf("unknown authorization mode %s specified", authorizationMode)
		}
	}

	return union.New(authorizers...), union.NewRuleResolvers(ruleResolvers...), nil
}

可以看到,authorizationConfig.New() 內根據 config.AuthorizationModes 確定需要創建的鑒權器類型。這里有 modes.ModeNodemodes.ModeAlwaysAllowmodes.ModeAlwaysDenymodes.ModeABACmodes.ModeWebhookmodes.ModeRBAC 六種鑒權器。

config.AuthorizationModes 是在創建選項 NewOptions 中定義的,實例化過程如下:

func (o *BuiltInAuthorizationOptions) ToAuthorizationConfig(versionedInformerFactory versionedinformers.SharedInformerFactory) authorizer.Config {
	return authorizer.Config{
		AuthorizationModes:          o.Modes,
	}
}

# kubernetes/pkg/controlplane/apiserver/options/options.go
func NewOptions() *Options {
	s := Options{
		Authorization:           kubeoptions.NewBuiltInAuthorizationOptions()
	}

	return &s
}

# kubernetes/pkg/kubeapiserver/options/authorization.go
func NewBuiltInAuthorizationOptions() *BuiltInAuthorizationOptions {
	return &BuiltInAuthorizationOptions{
		Modes:                       []string{authzmodes.ModeAlwaysAllow},
		WebhookVersion:              "v1beta1",
		WebhookCacheAuthorizedTTL:   5 * time.Minute,
		WebhookCacheUnauthorizedTTL: 30 * time.Second,
		WebhookRetryBackoff:         genericoptions.DefaultAuthWebhookRetryBackoff(),
	}
}

這里的 config.AuthorizationModesauthzmodes.ModeAlwaysAllow。那么,將創建 alwaysAllowAuthorizer 鑒權器。

# kubernetes/pkg/kubeapiserver/authorizer/config.go
func (config Config) New() (authorizer.Authorizer, authorizer.RuleResolver, error) {
	var (
		authorizers   []authorizer.Authorizer
		ruleResolvers []authorizer.RuleResolver
	)

	for _, authorizationMode := range config.AuthorizationModes {
		switch authorizationMode {
		case modes.ModeAlwaysAllow:
			alwaysAllowAuthorizer := authorizerfactory.NewAlwaysAllowAuthorizer()
			authorizers = append(authorizers, alwaysAllowAuthorizer)
			ruleResolvers = append(ruleResolvers, alwaysAllowAuthorizer)
        }
    }

    return union.New(authorizers...), union.NewRuleResolvers(ruleResolvers...), nil
}

# kubernetes/vendor/k8s.io/apiserver/pkg/authorization/authorizerfactory/builtin.go
func NewAlwaysAllowAuthorizer() *alwaysAllowAuthorizer {
	return new(alwaysAllowAuthorizer)
}

type alwaysAllowAuthorizer struct{}

func (alwaysAllowAuthorizer) Authorize(ctx context.Context, a authorizer.Attributes) (authorized authorizer.Decision, reason string, err error) {
	return authorizer.DecisionAllow, "", nil
}

func (alwaysAllowAuthorizer) RulesFor(user user.Info, namespace string) ([]authorizer.ResourceRuleInfo, []authorizer.NonResourceRuleInfo, bool, error) {
	return []authorizer.ResourceRuleInfo{
			&authorizer.DefaultResourceRuleInfo{
				Verbs:     []string{"*"},
				APIGroups: []string{"*"},
				Resources: []string{"*"},
			},
		}, []authorizer.NonResourceRuleInfo{
			&authorizer.DefaultNonResourceRuleInfo{
				Verbs:           []string{"*"},
				NonResourceURLs: []string{"*"},
			},
		}, false, nil
}

alwaysAllowAuthorizer 鑒權器實現了 Authorizer 接口,其總是返回 authorizer.DecisionAllow

每種鑒權器通過 union.New 加到鑒權器組中。

func New(authorizationHandlers ...authorizer.Authorizer) authorizer.Authorizer {
	return unionAuthzHandler(authorizationHandlers)
}

// Authorizes against a chain of authorizer.Authorizer objects and returns nil if successful and returns error if unsuccessful
func (authzHandler unionAuthzHandler) Authorize(ctx context.Context, a authorizer.Attributes) (authorizer.Decision, string, error) {
	var (
		errlist    []error
		reasonlist []string
	)

	for _, currAuthzHandler := range authzHandler {
		decision, reason, err := currAuthzHandler.Authorize(ctx, a)

		if err != nil {
			errlist = append(errlist, err)
		}
		if len(reason) != 0 {
			reasonlist = append(reasonlist, reason)
		}
		switch decision {
		case authorizer.DecisionAllow, authorizer.DecisionDeny:
			return decision, reason, err
		case authorizer.DecisionNoOpinion:
			// continue to the next authorizer
		}
	}

	return authorizer.DecisionNoOpinion, strings.Join(reasonlist, "\n"), utilerrors.NewAggregate(errlist)
}

前面 handlera.Authorize(ctx, attributes) 實際執行的是鑒權器組 unionAuthzHandlerAuthorize 方法。在 unionAuthzHandler.Authorize 內遍歷執行每種鑒權器的 Authorize 方法,如果有一種鑒權器鑒權通過,則返回鑒權成功。如果鑒權器返回 authorizer.DecisionNoOpinion 則執行下一個鑒權器。如果鑒權器鑒權失敗則返回鑒權失敗。

1.3 authorization rules

前面介紹 alwaysAllowAuthorizer 鑒權器的時候我們看到 alwaysAllowAuthorizer.RulesFor 方法,該方法內定義了用戶可以訪問的 RESTful API 資源和非 RESTful API 資源。如 RESTful API 資源定義了訪問資源的動作 Verbs,資源組APIGroups 和資源 Resources

上例的 alwaysAllowAuthorizer 并沒有看出 RulesFor 的運用是因為 alwaysAllowAuthorizer 總是允許請求訪問 RESTful API 資源和非 RESTful API 資源。

我們以 rbacAuthorizer 鑒權器為例,看 RulesFor 是怎么被用上的。

func (config Config) New() (authorizer.Authorizer, authorizer.RuleResolver, error) {
	for _, authorizationMode := range config.AuthorizationModes {
		// Keep cases in sync with constant list in k8s.io/kubernetes/pkg/kubeapiserver/authorizer/modes/modes.go.
		switch authorizationMode {
            case modes.ModeRBAC:
			rbacAuthorizer := rbac.New(
				&rbac.RoleGetter{Lister: config.VersionedInformerFactory.Rbac().V1().Roles().Lister()},
				&rbac.RoleBindingLister{Lister: config.VersionedInformerFactory.Rbac().V1().RoleBindings().Lister()},
				&rbac.ClusterRoleGetter{Lister: config.VersionedInformerFactory.Rbac().V1().ClusterRoles().Lister()},
				&rbac.ClusterRoleBindingLister{Lister: config.VersionedInformerFactory.Rbac().V1().ClusterRoleBindings().Lister()},
			)
			authorizers = append(authorizers, rbacAuthorizer)
			ruleResolvers = append(ruleResolvers, rbacAuthorizer)
        }
    }
}

func New(roles rbacregistryvalidation.RoleGetter, roleBindings rbacregistryvalidation.RoleBindingLister, clusterRoles rbacregistryvalidation.ClusterRoleGetter, clusterRoleBindings rbacregistryvalidation.ClusterRoleBindingLister) *RBACAuthorizer {
	authorizer := &RBACAuthorizer{
		authorizationRuleResolver: rbacregistryvalidation.NewDefaultRuleResolver(
			roles, roleBindings, clusterRoles, clusterRoleBindings,
		),
	}
	return authorizer
}

func (r *RBACAuthorizer) Authorize(ctx context.Context, requestAttributes authorizer.Attributes) (authorizer.Decision, string, error) {
	ruleCheckingVisitor := &authorizingVisitor{requestAttributes: requestAttributes}

	r.authorizationRuleResolver.VisitRulesFor(requestAttributes.GetUser(), requestAttributes.GetNamespace(), ruleCheckingVisitor.visit)
	if ruleCheckingVisitor.allowed {
		return authorizer.DecisionAllow, ruleCheckingVisitor.reason, nil
	}
}

可以看到,rbacAuthorizer 鑒權器的 Authorize 方法內的 r.authorizationRuleResolver.VisitRulesFor 結合用戶信息和鑒權器的 rules 判斷鑒權是否通過。

2. 總結

通過本篇文章介紹了 kube-apiserver 中的 Authorization 鑒權流程,下一篇將繼續介紹 kube-apiserverAdimission 準入流程。


總結

以上是生活随笔為你收集整理的Kubernetes:kube-apiserver 之鉴权的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

97成人在线| 园产精品久久久久久久7电影 | 人人干人人搞 | 欧美经典久久 | 日韩一区二区久久 | 中文字幕久久精品一区 | 亚洲精品美女久久久 | 久久视频免费在线 | 久久露脸国产精品 | 亚洲专区路线二 | 亚洲精品视频免费观看 | 午夜久操| 国产午夜三级一区二区三 | 精品福利在线视频 | 狠狠色狠狠色综合系列 | 国产精品va在线观看入 | 黄色大片视频网站 | 中文字幕在线免费观看 | 国产精品久久久久久爽爽爽 | www.啪啪.com| 天天干天天操天天操 | 免费a视频 | 97精品欧美91久久久久久 | 福利片免费看 | 又黄又刺激又爽的视频 | 色99中文字幕 | adn—256中文在线观看 | 人人草网站 | 国产精品美女999 | 激情文学丁香 | 狠狠搞,com | 色网址99| 91av视频在线观看免费 | 在线日本看片免费人成视久网 | 久热只有精品 | 国产成人久久av977小说 | 久草免费色站 | 亚洲劲爆av | 99视频精品视频高清免费 | 亚洲国产视频在线 | 国产精品乱码久久久久 | 国产在线观看你懂的 | 天天操欧美 | 日韩国产精品久久久久久亚洲 | 91麻豆精品国产自产 | 日本午夜免费福利视频 | 久久视频一区二区 | 狠狠干夜夜爱 | 午夜久操| 国产精品久久久久久久久岛 | 97小视频| 日韩一区二区三区不卡 | 中文字幕一区二区三区乱码不卡 | 97碰在线| 黄色三级免费看 | 国产精品成人av电影 | 中文字幕色在线视频 | 成 人 黄 色 视频 免费观看 | 免费在线黄色av | 日韩免费视频播放 | 午夜视频99 | 欧美日韩xxx| 久久免费看a级毛毛片 | 在线观看www91| 国产美女视频网站 | 精品毛片久久久久久 | 国产精品久久久久久久久久久杏吧 | 午夜精品一区二区三区在线播放 | 国产视频一区二区在线 | 亚洲精品在线观看免费 | 免费看国产精品 | 欧美视频一区二 | 99久久婷婷 | 日韩国产精品久久 | 亚洲 欧美 综合 在线 精品 | 久久久久久久久网站 | 在线观看av免费 | 国产不卡视频在线 | 亚洲乱码久久 | 色欲综合视频天天天 | 精品国产精品久久一区免费式 | 免费在线观看一级片 | 在线国产小视频 | 亚洲专区在线视频 | 久久精品中文视频 | 超碰在线观看97 | 国产精品乱码高清在线看 | 在线天堂视频 | 一区二区欧美日韩 | 99久久久久久久久 | 免费国产在线观看 | 麻豆久久久久久久 | 亚洲欧美日韩精品一区二区 | 国产欧美精品在线观看 | 97品白浆高清久久久久久 | 91av免费在线观看 | 久久九精品 | 精品96久久久久久中文字幕无 | 欧美日韩中文在线视频 | 色婷婷97 | 欧亚久久 | 免费涩涩网站 | 亚洲精区二区三区四区麻豆 | 亚洲一级电影 | 黄色成品视频 | 国产精品第二页 | 日韩黄色在线观看 | 精品人人人人 | 免费在线观看污 | 在线视频久久 | 国产精品欧美久久久久天天影视 | 亚洲有 在线 | 午夜电影中文字幕 | 欧美日韩精品在线观看视频 | 国内毛片毛片 | 中文字幕中文字幕在线中文字幕三区 | 91香蕉国产在线观看软件 | 日日夜日日干 | 免费观看9x视频网站在线观看 | 综合网伊人 | 伊人伊成久久人综合网站 | 亚洲成人精品久久 | 中文字幕精 | 色综合久久中文综合久久牛 | 天堂网一区二区三区 | 毛片网站免费 | 在线免费观看羞羞视频 | 国产123区在线观看 国产精品麻豆91 | 久草免费新视频 | 日本三级不卡视频 | 久久久精品二区 | 亚洲午夜不卡 | 日批视频在线播放 | 精品福利在线视频 | 亚洲精品2区| 欧美国产日韩一区二区三区 | 国产99区| 五月婷婷丁香 | 久久激情精品 | 亚洲视频综合在线 | 日韩二三区 | av大全在线免费观看 | 久草精品视频在线播放 | 亚洲精品18日本一区app | 国产精品久久99精品毛片三a | 91丨九色丨91啦蝌蚪老版 | 99久久精品费精品 | 精品婷婷 | 成年人免费在线 | 久久综合九色综合久久久精品综合 | 成片免费观看视频999 | 在线91观看 | 免费观看9x视频网站在线观看 | 国产91综合一区在线观看 | 日韩在线电影观看 | 国产精品男女 | 在线看成人av | 免费在线观看亚洲视频 | 久久精品一区二区三区国产主播 | 狠狠色狠狠色综合日日92 | 日韩精品免费一线在线观看 | 狠狠狠狠狠狠狠狠干 | 美女网站色| 开心激情网五月天 | 亚洲国产成人精品在线 | 亚洲一级久久 | 天天激情站 | 三级黄色片子 | 天天操天天爱天天干 | 国产又黄又爽又猛视频日本 | 91免费高清在线观看 | 91禁在线看| 激情文学丁香 | 欧美色婷 | 五月天天av | 久久免费大片 | 97在线看 | 国产日韩精品在线观看 | 97国产精品| 久久这里 | 91一区在线观看 | 在线视频1卡二卡三卡 | 亚洲91在线 | 夜夜躁狠狠躁日日躁视频黑人 | 久久久久久久福利 | 亚洲最大av网 | 91免费视频网站在线观看 | www.久久久.cum | 91九色蝌蚪在线 | 日韩欧美不卡 | 特黄免费av | 日韩精品欧美专区 | 欧美国产日韩激情 | 国产一级做a | 亚洲夜夜网| 日韩中文字幕亚洲一区二区va在线 | 99精品国产成人一区二区 | av网站在线观看播放 | 激情欧美一区二区免费视频 | www久久| 99国产精品免费网站 | 久久久精品二区 | 国产黄色片免费在线观看 | www.av在线播放| 欧美99久久 | 国产午夜影院 | 中国美女一级看片 | 91人人揉日日捏人人看 | 国产精品国产自产拍高清av | 色噜噜在线观看视频 | 91精品国产福利在线观看 | 黄免费在线观看 | 超碰在线亚洲 | 在线最新av | 丁香六月伊人 | 四虎小视频 | 国产精品久久久久久久99 | 探花视频在线观看免费 | 一级性av | 精品一区二区在线观看 | 特级黄色片免费看 | 九九交易行官网 | 成人动漫一区二区 | 正在播放国产91 | 日韩美女一级片 | 91在线播放国产 | 精品99视频 | 美女一区网站 | 在线视频黄 | 欧美 另类 交 | 91九色视频在线 | 又色又爽的网站 | 91精品视频一区 | 色在线国产 | 日本韩国精品在线 | 麻豆va一区二区三区久久浪 | 91网址在线看 | 亚洲精品一区二区三区新线路 | 久久在线免费视频 | 久久国产香蕉视频 | 99国内精品久久久久久久 | 五月婷婷视频在线 | 伊人久久精品久久亚洲一区 | 中文字幕人成一区 | 日韩精品一区二区三区外面 | 久久99精品久久久久婷婷 | 国产v欧美 | 精品久久91 | 伊人久久影视 | 国产一区二区播放 | 国产精品a级 | 国产精品一区二区你懂的 | 五月天色中色 | 免费成人在线观看 | 激情综合一区 | 天天干天天操天天干 | 欧美性色综合 | 1000部国产精品成人观看 | 久久综合五月天婷婷伊人 | 国产亚州精品视频 | 久久电影中文字幕视频 | 最新日本中文字幕 | av黄色在线观看 | 夜夜摸夜夜爽 | 国产99久久九九精品免费 | 依人成人综合网 | 精品欧美一区二区三区久久久 | 韩日精品中文字幕 | 国产又粗又长的视频 | 涩五月婷婷 | 00av视频| 丝袜av网站 | 国产在线观看一区 | 免费看黄网站在线 | 色五月色开心色婷婷色丁香 | 亚洲精品视频偷拍 | 国产精品久久久久aaaa | www.午夜 | 久操视频在线免费看 | 精品一二三四五区 | 欧美污网站 | mm1313亚洲精品国产 | 国产伦精品一区二区三区无广告 | 97精品国产97久久久久久粉红 | 欧美性生活大片 | 免费看短 | 免费aa大片| 黄色毛片在线 | 成人看片| 国产日韩精品一区二区在线观看播放 | 黄免费在线观看 | 欧美日韩亚洲国产一区 | 国产美女免费观看 | 91看片淫黄大片在线播放 | 成年人免费在线看 | 国产手机免费视频 | 欧美 国产 视频 | 98涩涩国产露脸精品国产网 | 成人播放器 | 黄色一级在线免费观看 | 午夜精品久久久99热福利 | 国产91丝袜在线播放动漫 | 91日韩精品视频 | 可以免费观看的av片 | 有码中文字幕 | 国产精品国产三级国产专区53 | 婷婷色中文字幕 | 久草精品视频在线观看 | 色综合天天综合在线视频 | 精品成人网| 超级碰碰碰免费视频 | 中文字幕乱码电影 | 99久久精品国产观看 | 精品一区二区在线观看 | 正在播放日韩 | 国产精品区在线观看 | 日本公妇在线观看高清 | 亚洲精品国产区 | ,久久福利影视 | 973理论片235影院9 | 国产福利在线免费 | 欧美成人影音 | 日韩成人xxxx | 国产成人一区二区三区在线观看 | 日本aa在线 | 菠萝菠萝蜜在线播放 | 久热电影 | 国内精品在线一区 | 国产经典 欧美精品 | 在线视频你懂得 | av免费电影网站 | 日韩欧美精品在线 | 亚洲国产免费网站 | 夜夜高潮夜夜爽国产伦精品 | av高清在线 | 国产日本在线 | aaa日本高清在线播放免费观看 | 午夜av免费观看 | 91网在线| 成人黄色影片在线 | 狠狠干成人综合网 | 91中文字幕在线播放 | 国产视频精品在线 | 日韩久久精品一区二区 | av电影在线观看 | 亚洲国产日韩av | 欧美激情视频免费看 | 久久伊人精品一区二区三区 | 91理论片午午伦夜理片久久 | 亚洲成人av片在线观看 | av免费观看高清 | 欧美日韩在线视频观看 | 色香蕉视频 | 亚洲最大av网 | 日韩成人精品一区二区三区 | 国产一区国产二区在线观看 | 免费一级特黄录像 | 精品视频中文字幕 | 免费看毛片网站 | www.五月天婷婷 | 成年人免费电影在线观看 | 91精品推荐| 欧美日韩国产mv | 欧美成人精品三级在线观看播放 | 久久这里只有精品首页 | 免费韩国av | 午夜精品久久久久久久99水蜜桃 | 日韩精品久久久久 | 国产精品久久99 | 色婷婷av在线 | 国精产品永久999 | 九九九视频精品 | 亚洲精欧美一区二区精品 | 久久tv视频| 97涩涩视频 | 国产一区二区视频在线播放 | 中文字幕在线免费看线人 | 免费一级片在线观看 | 伊人婷婷色 | 久久开心激情 | 中文在线8新资源库 | 91色在线观看 | 国产精品一区二区免费 | www.午夜 | 国产成人一区二区三区免费看 | 99激情网 | 国产一区观看 | 中文字幕色综合网 | 成人超碰97 | 日韩理论片中文字幕 | 中文成人字幕 | 成人h视频在线播放 | 超碰人人射 | 久久综合狠狠综合久久狠狠色综合 | 国产自产在线视频 | 日韩三级av | 超碰免费av | 国产精选在线观看 | 日韩欧美国产精品 | 精品久久99 | 午夜精品久久久久久久99水蜜桃 | 在线视频观看成人 | 久草9视频 | 免费视频一级片 | 色婷婷狠狠干 | 在线视频1卡二卡三卡 | 中文字幕一区三区 | 五月天色网站 | 国产色啪 | 国产h在线播放 | 国产a网站 | 欧美粗又大| 久久久久国 | 狠狠操在线 | 国产女人免费看a级丨片 | 久久综合久久伊人 | 国产成人久久精品亚洲 | 91色吧| 亚洲爽爽网 | 精品一区二区电影 | 三级黄色片在线观看 | 日本在线观看一区二区三区 | 最新国产在线观看 | 免费黄色a网站 | 欧美美女激情18p | 久久精品99国产精品日本 | 97国产精品| 三级黄色片在线观看 | 日本在线观看视频一区 | 色综合天天综合网国产成人网 | 97视频在线观看视频免费视频 | 色综合色综合色综合 | 国产免费又黄又爽 | 免费观看视频的网站 | 91在线看视频 | 亚洲成人av一区 | 99se视频在线观看 | 久久久久国产成人精品亚洲午夜 | 97精品国产91久久久久久 | 99精品在线播放 | 天天激情在线 | 一区二区三区视频在线 | 免费在线电影网址大全 | 免费观看av网站 | 天天干天天玩天天操 | 免费日韩 精品中文字幕视频在线 | 日日骑| 天天操天天是 | 精品国内 | 久久福利| 欧美一级日韩免费不卡 | 91正在播放 | 国产欧美中文字幕 | 在线看片中文字幕 | 亚洲美女视频在线 | 美女视频黄网站 | 欧美另类69 | 国产精品免费av | 午夜视频亚洲 | 99综合久久 | 国产精品av久久久久久无 | 一本一道久久a久久综合蜜桃 | 亚洲黄色免费在线 | 99成人免费视频 | 久久久久成人精品 | 婷婷久久五月 | 国产精品午夜免费福利视频 | 日本精品久久久久 | 亚洲精品男人天堂 | 韩国在线一区二区 | 天天添夜夜操 | 欧美精品久久久久久久久免 | 欧美一级视频在线观看 | 久久久久久久久久久久亚洲 | 亚洲精品国产精品国自产观看浪潮 | 999精品视频| 国产精品综合久久久久 | 中文字幕在线看视频国产中文版 | 91av片| 在线观看你懂的网站 | 天天操欧美| 国产精品毛片久久久久久 | av看片网址 | 狠狠狠色丁香综合久久天下网 | 亚洲最大免费成人网 | 亚州国产视频 | 国产精品高清免费在线观看 | 波多野结衣视频一区 | 黄色一区三区 | 午夜国产一区二区三区四区 | 国产亚洲精品日韩在线tv黄 | 国产小视频精品 | 激情综合网在线观看 | 国产成人av电影在线 | 91精品啪在线观看国产81旧版 | 久久久久亚洲精品男人的天堂 | 97福利视频| 伊人资源视频在线 | 亚洲综合视频在线 | 国产一级做a爱片久久毛片a | 国产99久久久精品视频 | 香蕉视频一级 | 亚洲欧洲日韩在线观看 | 97视频网址 | 国产精品99久久久久久久久久久久 | 天天操天 | 九九久久视频 | 久久久官网 | 尤物一区二区三区 | 一区二区三区四区影院 | 欧美成人亚洲 | 国产+日韩欧美 | 97超级碰碰碰碰久久久久 | 91爱爱视频 | 91精品国产三级a在线观看 | 亚洲精品国产麻豆 | 爱爱av网 | 亚洲资源片| 狠狠色婷婷丁香六月 | 在线精品在线 | 精品美女在线视频 | 久久99精品久久久久久久久久久久 | 亚洲一区美女视频在线观看免费 | 成人午夜毛片 | 国产福利网站 | 中文字幕一二三区 | 天天婷婷 | 亚洲国产精品va在线看黑人动漫 | 狠狠色狠狠综合久久 | 国产视| 国产成人一区二区在线观看 | 日本丰满少妇免费一区 | 欧美国产日韩一区二区三区 | 成人黄色大片网站 | 久草观看视频 | 91精品在线视频观看 | 在线观看成人毛片 | 最新成人av | 麻豆传媒电影在线观看 | www.色午夜 | 亚洲国产成人在线观看 | 中文字幕在线免费观看 | 天天爽天天爽天天爽 | av电影一区二区三区 | 麻豆91在线| 国产91九色视频 | 久久午夜色播影院免费高清 | 青青河边草观看完整版高清 | 色播激情五月 | 黄色的视频 | 人人插人人看 | 久久久午夜精品福利内容 | 国产亚洲精品中文字幕 | 久艹视频在线观看 | 亚洲综合在线发布 | 人人澡人人模 | 久久综合免费视频影院 | 最近更新的中文字幕 | 国产在线中文字幕 | 黄色大片av | a在线视频v视频 | 黄色精品国产 | 人人舔人人插 | 婷婷久操| 日日爽天天 | 国产日韩精品在线 | 免费日韩一级片 | 一区二区中文字幕在线观看 | 久久成人国产精品入口 | 91av在线视频免费观看 | 久久人人爽人人爽人人片av软件 | 国产在线播放观看 | 99色亚洲| 日日日天天天 | 有码中文字幕 | 国产精品女同一区二区三区久久夜 | 亚洲a成人v | 久久神马影院 | 久久久久久国产一区二区三区 | 97超碰站| 国产一级精品视频 | 国产91勾搭技师精品 | 欧美最猛性xxxxx(亚洲精品) | 久久夜夜夜 | 天天做天天爱夜夜爽 | av成人动漫在线观看 | 二区三区在线 | 欧美男女爱爱视频 | 欧美肥妇free| 久久极品 | av中文字幕在线看 | 99在线精品视频在线观看 | 亚洲最新av网址 | 97av视频在线观看 | 成人午夜在线观看 | 免费在线观看av不卡 | 97人人视频 | 亚洲精品久久视频 | 国产在线观看av | 五月婷久久 | 五月天久久综合网 | 日本最大色倩网站www | 久久精品久久精品久久39 | 视频福利在线 | 精品国产乱码一区二区三区在线 | 久久精品一区二 | av免费在线观看网站 | 亚洲黄色免费在线 | 97精品伊人 | 婷婷综合导航 | 久免费| 久久草草热国产精品直播 | 色综合久久五月 | 成人综合婷婷国产精品久久免费 | 国内精品久久久久国产 | 亚洲人在线视频 | 超碰在线中文字幕 | 婷婷草| 日韩mv欧美mv国产精品 | 久久99热这里只有精品 | 美女视频免费一区二区 | 成人在线小视频 | 成人av免费网站 | 五月综合在线观看 | 日韩欧美综合 | 国产午夜精品一区二区三区嫩草 | 成 人 黄 色 视频 免费观看 | 婷婷丁香花五月天 | 色国产视频| 国产精品淫 | 成人av免费看 | 国产精品高清免费在线观看 | 91精品国产成人www | 成人av电影在线播放 | 午夜av免费观看 | 992tv在线观看 | 日韩午夜网站 | 国产成人一区二区在线观看 | 涩涩成人在线 | 日韩电影一区二区三区 | 精品美女久久久久久免费 | 国产在线观| 91av视频在线免费观看 | 波多野结衣视频一区二区三区 | 97综合在线 | 亚洲欧美在线综合 | 日韩精选在线观看 | 亚洲黄色免费 | 色七七亚洲影院 | 久久欧美精品 | 日本久久视频 | 韩国一区二区三区在线观看 | 二区精品视频 | 日本黄区免费视频观看 | 久久精品一区二区 | 一区久久久 | 久久久精品国产一区二区电影四季 | www.五月婷婷| 久久成人免费 | 日本久久久久久久久久 | av网址在线播放 | 激情文学综合丁香 | 婷婷激情5月天 | 日本在线观看一区二区 | 欧美一二三四在线 | 亚洲黄色app | 欧美极品少妇xbxb性爽爽视频 | 特级大胆西西4444www | 91成人看片 | 一区二区不卡高清 | 视频一区二区国产 | 午夜精品成人一区二区三区 | 亚洲最大成人免费网站 | 在线 国产 日韩 | 国产高清成人 | 最新真实国产在线视频 | 亚洲精品国偷拍自产在线观看 | 国产成人精品一区二区在线观看 | 黄色成人av网址 | 国产青草视频在线观看 | 久亚洲 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 伊人狠狠 | 国产精品久久久久av免费 | 中文字幕在线观看第一区 | 激情综合中文娱乐网 | 成人在线超碰 | 麻豆传媒视频在线 | 日韩视频在线不卡 | 国产精品自在线拍国产 | 色综合天天综合网国产成人网 | 狠狠干五月天 | 精品福利av | 黄色免费高清视频 | 天天干天天操天天干 | 中文字幕在线免费观看视频 | 在线免费观看视频 | 亚洲精品自拍视频在线观看 | 日韩三级免费 | 国产又黄又爽又猛视频日本 | 亚洲五月六月 | 国产手机视频在线 | 91九色国产视频 | 天天干夜夜操视频 | 国产精品二区在线观看 | 亚洲国产日韩av | 国内精品福利视频 | 91av福利视频 | 久久久国产精品网站 | 黄色一级动作片 | 中文在线中文a | 国产免费一区二区三区网站免费 | 欧美日本国产在线观看 | av不卡网站 | 亚洲免费一级电影 | 国产小视频免费在线网址 | 日本动漫做毛片一区二区 | 在线视频成人 | 97超碰在线资源 | 免费观看一区 | 91麻豆精品国产91久久久久久 | 欧美精品中文 | 国产精品一区二区三区在线看 | 国内精自线一二区永久 | 青青草久草在线 | 欧美日韩激情视频8区 | 99久热在线精品视频观看 | 免费麻豆网站 | 人人看看人人 | 午夜视频在线观看一区二区三区 | 嫩嫩影院理论片 | av资源在线观看 | 制服丝袜天堂 | 天天操天天添天天吹 | 亚洲精品欧美专区 | 精品一区精品二区高清 | 在线观看中文字幕一区二区 | 日日夜夜精品视频天天综合网 | 日本黄色大片免费看 | 一区二区三区在线观看 | 欧美日韩久久不卡 | 亚洲精品高清在线观看 | 91人人澡人人爽 | av一级片| 午夜av在线播放 | 91免费观看网站 | 国产一级黄色片免费看 | 久久视频这里有久久精品视频11 | www.香蕉| 久久久96 | 二区三区在线视频 | 久久激情精品 | 久久久久久久久久久免费av | 亚洲视频在线免费观看 | 波多野结衣在线视频免费观看 | 黄色视屏av | 精品一区中文字幕 | 亚洲永久精品在线观看 | 综合网五月天 | 一级一片免费看 | 成人av电影在线 | 日韩国产在线观看 | 视频 天天草 | 久久伊人八月婷婷综合激情 | 婷婷综合成人 | 色99之美女主播在线视频 | 婷婷在线免费 | 免费在线观看成人 | 色视频网页 | 亚洲v欧美v国产v在线观看 | 欧美亚洲国产精品久久高清浪潮 | 热久久国产精品 | 丁香 久久 综合 | 欧美日韩不卡一区 | 国产乱码精品一区二区蜜臀 | 天天操天天色天天射 | 亚洲丝袜中文 | 久久观看最新视频 | 日本黄色免费看 | 99精品国产免费久久久久久下载 | 亚洲专区欧美 | 亚洲在线日韩 | 9在线观看免费高清完整版 玖玖爱免费视频 | 日韩女同一区二区三区在线观看 | 五月婷婷综合在线 | 超碰在线最新 | 日韩高清无线码2023 | 一区二区三区在线不卡 | 国产中文字幕在线 | 免费高清无人区完整版 | 国产成人一区二区三区影院在线 | 91在线免费观看网站 | 一区二区三区在线观看中文字幕 | 日韩中文在线电影 | 又黄又爽又无遮挡的视频 | 中文免费| 91精品老司机久久一区啪 | 免费成人在线观看视频 | 久久亚洲免费视频 | 在线观看国产亚洲 | 亚洲电影成人 | 久久国精品 | 国产精品理论在线观看 | 最新高清无码专区 | 久久精品国产亚洲aⅴ | 一级理论片在线观看 | 亚洲 中文 欧美 日韩vr 在线 | 亚洲国产99| 免费男女羞羞的视频网站中文字幕 | 91视频免费观看 | 黄色小网站在线观看 | 久久综合五月婷婷 | 91av蜜桃 | 日韩欧美精选 | 天天干 天天摸 天天操 | 亚洲aaa级| 国产中文字幕视频在线观看 | 精品在线观看视频 | 国产欧美最新羞羞视频在线观看 | 国产黄色电影 | av免费在线观看网站 | 国产剧情一区在线 | 丝袜美女在线观看 | 中文字幕中文字幕在线一区 | 亚洲综合视频网 | 日韩一二三区不卡 | 人人看人人草 | 91麻豆精品一区二区三区 | 国产一区二区日本 | 免费在线观看av不卡 | 久草在线观看资源 | 久久久黄色免费网站 | 亚洲综合一区二区精品导航 | 日本在线h| 狠狠躁18三区二区一区ai明星 | 精品欧美一区二区在线观看 | 天天天天综合 | 国产录像在线观看 | 五月开心激情 | 亚洲九九精品 | 国产一二三四在线观看视频 | 91精品久久久久久综合乱菊 | 天堂av在线网站 | 婷婷五情天综123 | 午夜国产福利视频 | 美女视频永久黄网站免费观看国产 | 日本不卡久久 | 久久九九精品久久 | 99视频 | 亚洲精品久久久蜜桃直播 | 日韩一区二区免费视频 | av免费网页 | 玖玖综合网 | 色午夜 | 成年人在线观看免费视频 | 激情综合色播五月 | 久久的色 | 亚洲精品在线免费 | 精品国产一区二区三区蜜臀 | 98福利在线 | 色资源在线观看 | bbbbb女女女女女bbbbb国产 | www天天干com | 91久久久久久久 | 成人一区二区在线观看 | 久久精品中文 | 免费网址在线播放 | www五月天| 国产亚洲字幕 | 欧美性生活小视频 | 色天天综合网 | av丝袜美腿| 欧美日韩一区二区三区视频 | 婷婷亚洲五月色综合 | 亚洲免费公开视频 | 日本韩国精品一区二区在线观看 | 婷婷丁香六月天 | 日韩亚洲国产中文字幕 | 久草视频在线免费看 | 国产一区二区三区网站 | 国产一级免费在线 | 久久精彩视频 | 欧美日韩二区在线 | 欧美a级在线播放 | 在线视频观看你懂的 | 黄色a在线观看 | 免费在线观看一区二区三区 | 911亚洲精品第一 | 草久久久久久 | 天天av资源 | 成年人视频在线免费播放 | 国产又粗又猛又黄又爽视频 | 最近日本中文字幕 | www.久久久久 | 又黄又爽又刺激 | 国产精品69av | 中文字幕免费国产精品 | 人人澡人人舔 | 国产又粗又猛又爽又黄的视频免费 | 中文字幕中文字幕在线一区 | 日本99久久 | 国产欧美综合在线观看 | 视频 天天草 | 在线观看爱爱视频 | av电影中文字幕在线观看 | 久久一区国产 | 四虎国产精品永久在线国在线 | 在线成人欧美 | 免费 在线 中文 日本 | 亚洲精品国产自产拍在线观看 | 欧美中文字幕第一页 | 日韩av一区二区在线 | 国产美女网站视频 | 国产精品久久久久免费 | 亚洲精品午夜aaa久久久 | 香蕉视频最新网址 | 国产精品高清在线观看 | 国产一区久久久 | 亚洲精品欧美专区 | 激情五月播播久久久精品 | 国产精品永久在线观看 | 五月天中文在线 | 啪啪资源| 国产精品国产精品 | 狠狠色噜噜狠狠狠合久 | 久久久电影 | 91视频啊啊啊| 国产精品色婷婷视频 | 九九视频精品免费 | 日本大片免费观看在线 | 久久xxxx| 亚洲精品国产精品国 | 亚洲精品网页 | 国产一区二区三区在线免费观看 | 亚洲成a人片在线www | 日韩av一区二区在线播放 | 婷婷久久一区 | 在线看小早川怜子av | 日韩久久精品一区二区 | 中文字幕一区二区三区四区久久 | 这里只有精品视频在线观看 | 日日干,天天干 | 久久人人爽人人爽人人片av免费 | 婷婷六月中文字幕 | 狠狠干激情 | 国产精品自产拍在线观看 | 有码视频在线观看 | 91看片在线看片 | 91亚洲狠狠婷婷综合久久久 | 国产精品视频内 | 精品国产一区二区三区久久久蜜臀 | 亚洲精品视频 | 国产在线a不卡 | 久久好看| 91精品国产乱码 | 欧美久久99| 亚洲精品视频在线 | 天天天操操操 | 成人黄色电影在线观看 | 黄色成人在线网站 | 亚洲一区二区视频在线 | 日韩免费看的电影 | 国产尤物一区二区三区 | 色视频在线观看 | 久久99久久99精品免观看粉嫩 | 一区二区激情 | 日韩在线高清视频 | 国产麻豆精品在线观看 | 久久久91精品国产一区二区三区 | 在线播放国产一区二区三区 | av在线com| 97超碰色| 欧美日韩久久 | 私人av | 欧美日韩网址 | 日韩二区三区 | 日韩综合视频在线观看 | 久久精品人人做人人综合老师 | 欧美精品久久99 | 久久中文欧美 | 成人av网址大全 | 天天爱天天草 | 美女亚洲精品 | 亚州性色 | 999视频网站 | 成人午夜电影免费在线观看 | 黄色片视频免费 | 丁香婷婷综合激情 | 久久久久免费 | 2021av在线| 久久8精品| 黄色大全免费观看 | 亚洲黄色免费观看 | 在线观看国产一区二区 | 狠狠综合久久av | 2000xxx影视 | 综合网伊人| 欧美a级在线 |