精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Jenkins Pipeline用戶權(quán)限管理新技巧:打造安全高效的流水線!

開發(fā) 前端
當(dāng)使用 RBAC 時(shí),通過分析系統(tǒng)用戶的實(shí)際情況,基于共同的職責(zé)和需求,授予他們不同角色。你可以授予給用戶一個(gè)或多個(gè)角色,每個(gè)角色具有一個(gè)或多個(gè)權(quán)限,這種 用戶-角色、角色-權(quán)限 間的關(guān)系,讓我們可以不用再單獨(dú)管理單個(gè)用戶,用戶從授予的角色里面繼承所需的權(quán)限。

什么是RBAC

基于角色的訪問控制(Role-based access control,簡稱 RBAC),指的是通過用戶的角色(Role)授權(quán)其相關(guān)權(quán)限,這實(shí)現(xiàn)了更靈活的訪問控制,相比直接授予用戶權(quán)限,要更加簡單、高效、可擴(kuò)展。

圖片圖片

當(dāng)使用 RBAC 時(shí),通過分析系統(tǒng)用戶的實(shí)際情況,基于共同的職責(zé)和需求,授予他們不同角色。你可以授予給用戶一個(gè)或多個(gè)角色,每個(gè)角色具有一個(gè)或多個(gè)權(quán)限,這種 用戶-角色、角色-權(quán)限 間的關(guān)系,讓我們可以不用再單獨(dú)管理單個(gè)用戶,用戶從授予的角色里面繼承所需的權(quán)限。

大家可以看一下的案例更容易理解:

用戶角色分為管理員、開發(fā)、運(yùn)維,各個(gè)角色并具備不同的權(quán)限。每個(gè)用戶也具備單個(gè)與多個(gè)角色。

圖片圖片

需求說明

本章節(jié)是通過一個(gè)企業(yè)案例進(jìn)行講解,需求如下:

圖片圖片

接下來,我們根據(jù)上圖的組織架構(gòu)來創(chuàng)建用戶與組。

Jenkins權(quán)限如何分配:

  • 開發(fā)組:只讀權(quán)限
  • 運(yùn)維組:管理員權(quán)限
  • 測試組:執(zhí)行權(quán)限

配置權(quán)限

配置角色

圖片圖片

分配權(quán)限

圖片圖片

權(quán)限驗(yàn)證

張三(管理員),下圖可以看到什么權(quán)限都有:

圖片圖片

李四(只讀),下圖可以看到只有只讀權(quán)限:

圖片圖片

張三(執(zhí)行權(quán)限),下圖可以看到是有執(zhí)行權(quán)限的:

圖片圖片

配置Pipeline權(quán)限

需求說明

實(shí)際情況中,我們是通過Pipeline進(jìn)行管理流水線的,接下來咱們針對Pipeline進(jìn)行配置權(quán)限控制,詳情如下圖:

圖片圖片

權(quán)限配置:

  • 運(yùn)維組:管理員權(quán)限
  • 開發(fā)組:非生產(chǎn)環(huán)境只讀權(quán)限
  • 測試組:非生產(chǎn)環(huán)境執(zhí)行權(quán)限

權(quán)限配置

以Ruoyi- Gateway為例,在Pipeline里配置權(quán)限:

DeployDev階段(修改submitter配置):

...
    stage('DeployDev'){
            steps {
                echo "部署開發(fā)環(huán)境"
                script {
                    def userInput = input (
                        message: '確定要發(fā)布到DEV環(huán)境嗎?',
                        parameters:[
                            choice(name: '操作', choices: ['發(fā)布', '跳過'])
                        ],
                        ok: '確定',
                        submitter: 'ops,qa', // 配置ops,qa組即可
                        submitterParameter: 'APPROVER'
                    )
                    if (userInput['操作'] == '發(fā)布'){
                        echo "部署Dev環(huán)境開始"

                        ....

DeployUat階段(修改submitter配置):

....
    stage('DeployUat'){
            steps {
                echo "部署測試環(huán)境"
                 script {
                    def userInput = input (
                        message: '確定要發(fā)布到UAT環(huán)境嗎?',
                        parameters:[
                            choice(name: '操作', choices: ['發(fā)布', '跳過'])
                        ],
                        ok: '確定',
                        submitter: 'ops,qa', // 配置ops,qa組即可
                        submitterParameter: 'APPROVER'
                    )
                    if (userInput['操作'] == '發(fā)布'){
                        echo "發(fā)布"


                        ....

DeployGray階段(修改submitter配置):

stage('DeployGray'){
            steps {
                echo "部署灰度環(huán)境"
                 script {
                    def GraysMode = input (
                        message: '確定要灰度驗(yàn)證嗎?',
                        parameters:[
                            choice(name: 'operation', choices: ['基于權(quán)重灰度','基于請求頭灰度','跳過'])
                        ],
                        ok: '確定',
                        submitter: 'ops',
                        submitterParameter: 'APPROVER'
                    )
                    if (GraysMode['operation'] == '基于權(quán)重灰度'){
                        def WeightMode = input (
                        message: '請輸入權(quán)重比例!',
                        parameters:[
                            string(name: 'workload_weight',defaultValue: '',description: ''),
                            string(name: 'grayload_weight',defaultValue: '',description: '')
                        ],
                        ok: '確定',
                        submitter: 'ops',
                        submitterParameter: 'APPROVER'
                    )
                    sh """
                     echo $pipeline_dir
                     echo "打印編排文件詳細(xì)信息"
                     if [ -e "$pipeline_dir/prod/$Project_Name/deployment-gray.yml" ]; then
                        cat $pipeline_dir/prod/$Project_Name/deployment-gray.yml | sed  "s/TAG/${Tag}/g" 
                        cat $pipeline_dir/prod/$Project_Name/deployment-gray.yml | sed  "s/TAG/${Tag}/g" | /usr/bin/kubectl apply -f  -
                     fi

                     echo "配置權(quán)重"

                     echo ${WeightMode['grayload_weight']}
                     if [ -e "$pipeline_dir/prod/$Project_Name/ingress-gray-weight.yml" ]; then
                        cat $pipeline_dir/prod/$Project_Name/ingress-gray-weight.yml | sed  "s/WEIGHT-VALUE/${WeightMode['grayload_weight']}/g" 
                        cat $pipeline_dir/prod/$Project_Name/ingress-gray-weight.yml | sed  "s/WEIGHT-VALUE/${WeightMode['grayload_weight']}/g" | /usr/bin/kubectl apply -f  -
                     fi
                    """
                    }
                    if (GraysMode['operation'] == '基于請求頭灰度'){
                        GrayHeaderMode = input (
                        message: '請輸入請求頭!',
                        parameters:[
                            string(name: 'header_key',defaultValue: '',description: ''),
                            string(name: 'header_value',defaultValue: '',description: '')
                        ],
                        ok: '確定',
                        submitter: 'ops',
                        submitterParameter: 'APPROVER'
                    )
                   
                     sh """
                     echo ${GrayHeaderMode['header_value']}
                     echo $pipeline_dir
                     echo "打印編排文件詳細(xì)信息"

                     if [ -e "$pipeline_dir/prod/$Project_Name/deployment-gray.yml" ]; then
                        cat $pipeline_dir/prod/$Project_Name/deployment-gray.yml | sed  "s/TAG/${Tag}/g" 
                        cat $pipeline_dir/prod/$Project_Name/deployment-gray.yml | sed  "s/TAG/${Tag}/g" | /usr/bin/kubectl apply -f  -
                     fi
                     
                     echo "配置請求頭"
                     echo ${GrayHeaderMode['header_key']}
                     echo ${GrayHeaderMode['header_value']}

                     if [ -e "$pipeline_dir/prod/$Project_Name/ingress-gray-header.yml" ]; then
                        cat $pipeline_dir/prod/$Project_Name/ingress-gray-header.yml | sed  "s/header-key/${GrayHeaderMode['header_key']}/g" | sed  "s/header-value/${GrayHeaderMode['header_value']}/g"
                        cat $pipeline_dir/prod/$Project_Name/ingress-gray-header.yml | sed  "s/header-value/${GrayHeaderMode['header_key']}/g" | sed  "s/header-value/${GrayHeaderMode['header_value']}/g" | /usr/bin/kubectl apply -f  -
                     fi
                    """
                    }
                    // 默認(rèn)模式為yes,如果跳過為no
                    if (GraysMode['operation'] == '跳過'){
                        GrayEnable='no'
                    }
                }
            }

DeployProd階段(修改submitter配置):

stage('DeployProd'){
            steps {
                echo "部署生產(chǎn)環(huán)境"
                 script {
                    def userInput = input (
                        message: '確定要發(fā)布到生產(chǎn)環(huán)境嗎?',
                        parameters:[
                            choice(name: '操作', choices: ['發(fā)布', '跳過'])
                        ],
                        ok: '確定',
                        submitter: 'ops',
                        submitterParameter: 'APPROVER'
                    )
                    if (userInput['操作'] == '發(fā)布'){
                        echo "發(fā)布"
                        Namespace_Prod = sh(script: "cat $pipeline_dir/prod/$Project_Name/deployment.yml | grep namespace | awk -F ':' '{print \$2}'", returnStdout: true).trim()
                        DeploymentName = sh(script: "cat $pipeline_dir/prod/$Project_Name/deployment.yml | grep name: |  head -n 1 | awk -F ':' '{print \$2}'", returnStdout: true).trim()
                        Revsion_Prod = sh(script: "kubectl get deployment $DeploymentName -n ${Namespace_Prod} -o=jsnotallow='{.spec.template.spec.containers[*].image}' | awk -F ':' '{print \$NF}'", returnStdout: true).trim()
                        GrayDeploymentName = sh(script: "cat $pipeline_dir/prod/$Project_Name/deployment-gray.yml | grep name: |  head -n 1 | awk -F ':' '{print \$2}'", returnStdout: true).trim()
                        GrayServiceName = sh(script: "cat $pipeline_dir/prod/$Project_Name/service-gray.yml | grep name: |  head -n 1 | awk -F ':' '{print \$2}'", returnStdout: true).trim()
                        GrayIngressName = sh(script: "cat $pipeline_dir/prod/$Project_Name/ingress-gray-header.yml | grep name: |  head -n 1 | awk -F ':' '{print \$2}'", returnStdout: true).trim()

                        sh '''
                        echo $pipeline_dir
                        echo "開始部署生產(chǎn)環(huán)境"
                        echo "打印編排文件詳細(xì)信息"

                        if [ -e "$pipeline_dir/prod/$Project_Name/deployment.yml" ]; then
                          cat $pipeline_dir/prod/$Project_Name/deployment.yml | sed  "s/TAG/${Tag}/g"
                          cat $pipeline_dir/prod/$Project_Name/deployment.yml | sed  "s/TAG/${Tag}/g" | /usr/bin/kubectl apply -f  -
                        fi

                        if [ -e "$pipeline_dir/prod/$Project_Name/service.yml" ]; then
                           cat $pipeline_dir/prod/$Project_Name/service.yml
                           cat $pipeline_dir/prod/$Project_Name/service.yml  | /usr/bin/kubectl apply -f  -
                        fi

                        if [ -e "$pipeline_dir/prod/$Project_Name/ingress.yml" ]; then
                          cat $pipeline_dir/prod/$Project_Name/ingress.yml
                          cat $pipeline_dir/prod/$Project_Name/ingress.yml  | /usr/bin/kubectl apply -f  -
                        fi
                        '''
                        if (GrayEnable == 'yes'){
                            sh """
                        kubectl delete deployment ${GrayDeploymentName} -n ${Namespace_Prod}
                        kubectl delete service  ${GrayServiceName} -n ${Namespace_Prod}
                        kubectl delete ingress  ${GrayIngressName} -n ${Namespace_Prod}
                        """
                        }

                    } else {
                        echo "不發(fā)布"
                    }
                }
            }
            post {
                success {
                    wrap([$class: 'BuildUser']) {
                    lark (
                        robot: "2026ab67-7d07-46ec-a309-bebebaeaffbc",
                        type: "CARD",
                        title: "??  Jenkins 應(yīng)用發(fā)布成功",
                        text: [
                            "?? **應(yīng)用名稱**:[${JOB_NAME}](${JOB_URL})",
                            "?? **應(yīng)用環(huán)境**:Prod",
                            "?? **任務(wù)編號**:[${BUILD_DISPLAY_NAME}](${BUILD_URL})",
                            "?? **發(fā)布狀態(tài)**: <font color='green'>成功</font>",
                            "?? **鏡像版本**: $Tag",
                            "?? **鏡像倉庫**: harbor.kubesre.com:8443/kubesre/$Project_Name",
                            "?? **執(zhí)  行 者**: ${env.BUILD_USER}",
                            "<at id=all></at>"
                        ],
                        buttons: [
                           [
                              title: "更改記錄",
                              url: "${BUILD_URL}changes"
                           ],
                           [
                              title: "控制臺(tái)",
                              type: "danger",
                              url: "${BUILD_URL}console"
                           ]
                        ]
                    )}
                }
            }
        }

驗(yàn)證

觸發(fā)流水線,開發(fā)組李四用戶登錄:

圖片圖片

觸發(fā)流水線,測試組王五用戶登錄:

圖片圖片

觸發(fā)流水線,運(yùn)維組張三用戶登錄:

圖片 圖片

責(zé)任編輯:武曉燕 來源: 云原生運(yùn)維圈
相關(guān)推薦

2023-05-10 15:08:00

Pipeline設(shè)計(jì)模式

2017-03-02 14:12:13

流水線代碼Clojure

2018-10-23 16:35:19

華為云

2019-11-07 09:00:39

Jenkins流水線開源

2017-02-28 15:40:30

Docker流水線Azure

2013-06-06 09:31:52

2023-05-26 08:31:09

2022-01-26 08:12:42

Jenkins開源流水線

2021-06-26 14:22:34

Tekton流水線Kubernetes

2024-01-07 12:47:35

Golang流水線設(shè)計(jì)模式

2021-11-08 07:41:16

Go流水線編程

2017-02-28 16:00:45

DevOpsMarkdownreST

2022-07-18 06:05:28

Gitlab流水線

2021-10-12 08:47:01

Nexus存儲(chǔ)庫管理器DevOps

2021-12-24 08:02:48

GitLabCI模板庫流水線優(yōu)化

2023-08-18 10:24:52

GitLabCI 流水線

2020-10-25 11:28:12

開源端到端流水線

2021-06-18 05:48:02

Tekton DevopsKubernetes

2023-09-27 08:24:49

2021-06-28 06:32:46

Tekton Kubernetes Clone
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲成在人线av| 99精品视频在线观看| 亚洲欧美日本精品| 国产精品无码av无码| 国产黄频在线观看| 亚洲午夜91| 亚洲国产成人在线视频| 国产精品欧美激情在线观看| 牛牛影视精品影视| 日韩成人免费电影| 一区二区三区四区在线观看视频| www.激情小说.com| 91高清在线视频| 国产99久久久国产精品潘金| 91精品国产自产91精品| 三级电影在线看| 密臀av在线播放| 国产精品美女久久久久久久久久久| 国产成人福利视频| 亚洲怡红院在线观看| 国产精品香蕉| 欧美猛男男办公室激情| 日韩欧美猛交xxxxx无码| 三级av在线播放| 久久精品二区亚洲w码| 久久久久成人网| 亚洲无人区码一码二码三码的含义| 爱情电影网av一区二区| 福利二区91精品bt7086| 这里只有精品66| 无码国产色欲xxxx视频| 精品夜夜嗨av一区二区三区| 91精品国产色综合| jizz18女人高潮| 精品国产导航| 这里是久久伊人| 欧美日韩第二页| 欧美xxxbbb| 中文字幕一区二区三区精华液 | 涩涩涩在线视频| 国产精品美女一区二区三区| 精品欧美一区二区在线观看视频| 96日本xxxxxⅹxxx17| 亚洲一区二区三区高清| 欧美日韩国产成人在线观看| 欧美精品亚州精品| 97超碰免费观看| 美国一级片在线免费观看视频 | 一级黄色片免费看| 美女国产精品| 久久人人97超碰精品888| 美女三级黄色片| 久久最新网址| 精品国产免费视频| 两女双腿交缠激烈磨豆腐| 91伊人久久| 日韩欧美第一页| 拔插拔插海外华人免费| 性网站在线观看| 亚洲欧美怡红院| 日本精品二区| 久久经典视频| 久久美女高清视频| 九九九九精品| 偷拍精品一区二区三区| 国产中文字幕一区| 国产综合久久久久| 伊人久久国产精品| 蜜桃视频在线一区| 国产欧美一区二区三区四区| 亚洲精品一区二区二区| 亚洲少妇一区| 欧美黑人国产人伦爽爽爽| 久久r这里只有精品| 国模大胆一区二区三区| 欧美激情免费观看| 国产对白videos麻豆高潮| 国产在线日韩| 欧美国产在线视频| 久久久久香蕉视频| 在线观看不卡| 91福利视频网| 337p粉嫩色噜噜噜大肥臀| 国产亚洲精品v| 国产成人短视频| 夜夜嗨aⅴ一区二区三区| 久久精品国产**网站演员| 91欧美精品成人综合在线观看| 国产乱码精品一区二区| 免费看日韩精品| 91深夜福利视频| 丰满肉肉bbwwbbww| 91丨porny丨蝌蚪视频| 97视频资源在线观看| www.亚洲欧美| 久久免费视频色| 熟妇熟女乱妇乱女网站| а√天堂中文资源在线bt| 欧美在线影院一区二区| 亚洲成人av免费观看| 校花撩起jk露出白色内裤国产精品| 国产亚洲视频在线| 欧美精品乱码视频一二专区| 丝袜诱惑亚洲看片| www 成人av com| 高清av电影在线观看| 一区二区久久久久| 亚洲精品无码久久久久久| 国产精品一区二区精品| 亚洲精品久久久久中文字幕欢迎你| 久久国产柳州莫菁门| 亚洲视频观看| 国产在线视频一区| 欧美视频综合| 亚洲中国最大av网站| 性刺激的欧美三级视频| 久久精品国产亚洲blacked| 日韩有码在线视频| 国产免费一级视频| 成人国产一区二区三区精品| 日本不卡一区二区三区四区| 成人软件在线观看| 亚洲国产第一页| 免费三片在线播放| 国产美女视频91| 色播五月综合| 二区三区不卡| 日韩成人av一区| 国产一级黄色av| 黄色资源网久久资源365| 欧美日韩喷水| 性爽视频在线| 亚洲国产欧美精品| 亚欧洲精品在线视频| 国产精品123区| 亚洲 欧洲 日韩| 欧美亚洲综合视频| 在线观看国产精品淫| 无码免费一区二区三区| 91色porny在线视频| 欧美精品久久久久久久久久久| 欧美电影院免费观看| 久久久成人的性感天堂| 国产一区二区女内射| 国产精品人成在线观看免费| 在线观看的毛片| 成人6969www免费视频| 国产99久久久欧美黑人 | 国产毛片视频网站| 在线视频亚洲欧美中文| 欧美日韩成人在线视频| 亚洲AV无码一区二区三区少妇| 亚洲欧洲性图库| 污污视频网站在线| 综合天堂av久久久久久久| 国产色综合天天综合网| 日本高清在线观看wwwww色| 欧美精品一卡两卡| avove在线播放| 成人小视频在线| 欧美日韩一道本| 自拍亚洲一区| 国产精品成人一区二区| 大胆av不用播放器在线播放 | 亚洲精品久久7777| 亚洲熟女一区二区三区| 亚洲美女少妇无套啪啪呻吟| 久久久久久久久久久久久久一区| www.精品| 日韩在线观看免费网站 | 偷偷操不一样的久久| 91免费小视频| 国产极品在线视频| 久草成人资源| 成人福利在线观看| 成人超碰在线| 一区二区成人精品| av高清一区二区| 欧美日韩国产在线播放| 蜜桃久久精品成人无码av| 极品美女销魂一区二区三区| 拔插拔插海外华人免费| 精品视频免费在线观看| 91在线观看欧美日韩| 成人一级福利| 中文字幕日韩免费视频| 超碰在线人人干| 色综合久久久久久久久久久| 搜索黄色一级片| 极品av在线| 亚洲婷婷综合色高清在线| 国产老头和老头xxxx×| 免费视频久久| 波多野结衣激情| 青青视频一区二区| 成人av在线天堂| 忘忧草在线日韩www影院| 深夜精品寂寞黄网站在线观看| 亚洲AV午夜精品| 在线视频一区二区免费| 久久这里只有精品国产| 国产精品网站一区| 久久久久久久人妻无码中文字幕爆| 日韩二区三区在线观看| 亚洲国产精品无码观看久久| 成人激情电影在线| 国外成人在线视频网站| 色婷婷成人网| 日本高清不卡在线| 男女免费观看在线爽爽爽视频| 中文精品99久久国产香蕉| 天堂在线视频网站| 欧美精品在线一区二区三区| 国产高清中文字幕| 亚洲国产精品精华液网站| а天堂中文在线资源| 波多野结衣一区二区三区| 国产精品自在自线| 蜜臀精品一区二区三区在线观看 | 久久艹免费视频| 亚洲卡通欧美制服中文| 女人黄色一级片| 91小视频在线| 无码国产精品一区二区免费式直播| 麻豆精品在线播放| 天天爱天天操天天干| 蜜桃视频一区| 97超碰青青草| 亚洲人成在线影院| 免费网站在线观看视频| 亚洲大全视频| 色中文字幕在线观看| 日本成人小视频| 日韩hmxxxx| 神马影视一区二区| 欧美日韩精品免费观看视一区二区| 成人av激情人伦小说| av色综合网| 97色成人综合网站| 国产成人精品日本亚洲11| 亚洲精品v亚洲精品v日韩精品| 91色p视频在线| 日本午夜精品久久久久| 国产免费成人av| 精品女同一区二区三区在线观看| 国产精品96久久久久久| 日韩中文视频| 国产精品欧美激情| 福利一区二区三区视频在线观看| 国产精品久久久久久一区二区| 日本精品在线中文字幕| 国产精品久久久久久久久久99 | 一本一本久久| 777久久久精品一区二区三区| 亚洲一区黄色| 日韩视频在线免费看| 免费在线一区观看| 亚洲欧美手机在线| 国产精品18久久久久久久久| 野战少妇38p| 91麻豆免费看片| 久久亚洲无码视频| 亚洲人午夜精品天堂一二香蕉| 丝袜美腿小色网| 亚洲一区二区三区免费视频| 日韩欧美亚洲国产| 色婷婷激情综合| 中文字幕视频二区| 日韩午夜精品电影| 日韩专区第一页| 国产亚洲美女精品久久久| 最新97超碰在线| 欧美区在线播放| 久久男人av资源站| 国产精品网红福利| 涩爱av色老久久精品偷偷鲁| 精品国产中文字幕| 欧美日韩一二三四| 成人国产在线看| 香蕉久久夜色精品国产| 日韩欧美国产片| 国产白丝精品91爽爽久久 | 欧美人与拘性视交免费看| 亚洲春色在线| 黄色精品免费| 国产aaaaa毛片| 岛国精品在线播放| 欧美 日韩 国产 成人 在线观看| 中文字幕在线播放不卡一区| 国产一级片免费看| 欧美日韩在线播放三区四区| 少妇荡乳情欲办公室456视频| 在线观看精品国产视频| av中文字幕电影在线看| 国产精品视频公开费视频| www国产精品| 亚洲综合网中心| 亚洲伦理精品| 久久久精品视频国产| 久久久精品天堂| 久久一二三四区| 欧美日韩国产小视频在线观看| 欧美一级性视频| 久久国产一区二区三区| 久久uomeier| 国产精品xxxx| 亚洲国产精品成人| 999精品视频在线| 91蝌蚪porny| 五月天婷婷网站| 制服视频三区第一页精品| 免费在线国产| 97在线视频一区| 日韩精品一区国产| 亚洲一二区在线| 久久久一二三| 欧美精品欧美极品欧美激情| 亚洲另类中文字| 一道本无吗一区| 中文字幕欧美精品在线 | 狠狠干狠狠久久| 丰满人妻妇伦又伦精品国产| 久久久国产精品视频| 91福利精品在线观看| 欧美另类网站| 国产美女一区| 成人h动漫精品一区| 亚洲国产你懂的| 亚洲国产成人一区二区 | 日韩精品极品视频在线观看免费| 99精品国产在热久久婷婷| 初高中福利视频网站| 亚洲欧洲av在线| 一级做a爰片久久毛片16| 亚洲午夜未删减在线观看 | 成人免费高清完整版在线观看| 国产成人黄色| mm1313亚洲国产精品无码试看| 久久综合九色综合97婷婷| 在线观看国产亚洲| 日韩av在线一区| 小h片在线观看| 欧美午夜精品久久久久久蜜| 模特精品在线| 久操视频免费看| 欧美亚洲一区二区在线观看| www.在线播放| 国产日韩精品在线播放| 欧美国产一区二区三区激情无套| 99国产精品久久久久久| 亚洲色大成网站www久久九九| 国产美女免费视频| 欧美成人午夜剧场免费观看| 日韩在线观看中文字幕| 99久久久精品视频| av亚洲精华国产精华精华| 中国一级免费毛片| 夜夜嗨av一区二区三区免费区| 欧美aa视频| 亚洲三级一区| 国产乱一区二区| 五月天婷婷综合网| 亚洲女人天堂视频| 福利视频亚洲| 99er在线视频| 久久网这里都是精品| 中文字幕在线网址| 精品中文字幕在线观看| 美女视频亚洲色图| 能在线观看的av网站| 国产精品电影一区二区三区| 99热这里是精品| 欧美一级视频免费在线观看| 欧美系列电影免费观看 | 一区二区美女视频| 欧美二区乱c黑人| 婷婷精品视频| 午夜剧场在线免费观看| 亚洲成在人线在线播放| 国产福利片在线| 亚洲自拍偷拍网址| 性xx色xx综合久久久xx| 999精品视频在线观看播放| 亚洲激情久久久| 91国产一区| 激情综合在线观看| 亚洲老妇xxxxxx| 国产有码在线| 国产精品亚洲不卡a| 日本麻豆一区二区三区视频| 久草免费在线视频观看| 国产香蕉精品视频一区二区三区| 久久伊人影院| 日本激情视频在线| 亚洲电影第三页| 人人干在线视频| 你懂的网址一区二区三区| 国产福利一区二区| 亚洲中文字幕无码爆乳av| 欧美激情亚洲激情|