غیرفعال کردن Basic Auth در Edge

Edge for Private Cloud نسخه 4.19.01

بعد از اینکه SAML را در Edge فعال کردید، می توانید Basic Auth را غیرفعال کنید. با این حال، قبل از غیرفعال کردن Basic Auth :

  • مطمئن شوید که همه کاربران Edge از جمله مدیران سیستم را به SAML IDP خود اضافه کرده اید.
  • مطمئن شوید که احراز هویت SAML را روی رابط کاربری Edge و API مدیریت Edge به طور کامل آزمایش کرده‌اید.
  • اگر از پورتال Apigee Developer Services (یا به سادگی، پورتال ) استفاده می کنید، SAML را در پورتال پیکربندی و آزمایش کنید تا مطمئن شوید که پورتال می تواند به Edge متصل شود. به پیکربندی پورتال برای استفاده از SAML برای برقراری ارتباط با Edge مراجعه کنید.

مشاهده نمایه امنیتی فعلی

می‌توانید نمایه امنیتی Edge را مشاهده کنید تا پیکربندی فعلی را تعیین کنید تا مشخص کنید آیا Basic Auth و SAML در حال حاضر فعال هستند یا خیر. از فراخوانی API مدیریت Edge زیر در سرور مدیریت Edge برای مشاهده نمایه امنیتی فعلی استفاده شده توسط Edge استفاده کنید:

curl -H "accept:application/xml" http://localhost:8080/v1/securityprofile -u sysAdminEmail:pWord

اگر هنوز SAML را پیکربندی نکرده‌اید، پاسخ مانند تصویر زیر است به این معنی که تأیید اولیه فعال است:

<SecurityProfile enabled="true" name="securityprofile">
    <UserAccessControl enabled="true">
    </UserAccessControl>
</SecurityProfile>

اگر قبلا SAML را فعال کرده اید، تگ <ssoserver> را در خروجی مشاهده می کنید:

<SecurityProfile enabled="true" name="securityprofile">
    <UserAccessControl enabled="true">
        <SSOServer>
            <BasicAuthEnabled>true</BasicAuthEnabled>
            <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
            <ServerUrl>http://35.197.37.220:9099</ServerUrl>
        </SSOServer>
    </UserAccessControl>
</SecurityProfile>

توجه داشته باشید که نسخه‌ای که SAML فعال است ، <BasicAuthEnabled>true</BasicAuthEnabled> را نیز نشان می‌دهد به این معنی که تأیید اولیه هنوز فعال است.

غیرفعال کردن اعتبار پایه

از فراخوانی API مدیریت Edge زیر در سرور مدیریت Edge برای غیرفعال کردن Basic Auth استفاده کنید. توجه داشته باشید که شی XML را که در بخش قبل بازگردانده است به عنوان بار ارسال می کنید. تنها تفاوت این است که <BasicAuthEnabled>false</BasicAuthEnabled> را تنظیم می کنید:

curl -H "Content-Type: application/xml"
http://localhost:8080/v1/securityprofile  -u sysAdminEmail:pWord -d
 '<SecurityProfile enabled="true" name="securityprofile">
  <UserAccessControl enabled="true">
    <SSOServer>
      <BasicAuthEnabled>false</BasicAuthEnabled>
      <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
      <ServerUrl>http://35.197.37.220:9099</ServerUrl>
  </SSOServer>
 </UserAccessControl>
</SecurityProfile>'

پس از غیرفعال کردن Basic Auth، هر فراخوانی API مدیریت Edge که اعتبارنامه Basic Auth را پاس می‌کند، خطای زیر را برمی‌گرداند:

<Error>
    <Code>security.SecurityProfileBasicAuthDisabled</Code>
    <Message>Basic Authentication scheme not allowed</Message>
    <Contexts/>
</Error>

مجدداً Basic Auth را فعال کنید

اگر به هر دلیلی مجبور به فعال کردن مجدد Basic Auth هستید، باید مراحل زیر را انجام دهید:

  1. به هر گره Edge ZooKeeper وارد شوید.
  2. اسکریپت bash زیر را برای خاموش کردن تمام امنیت اجرا کنید:
    #! /bin/bash
    /opt/apigee/apigee-zookeeper/bin/zkCli.sh -server localhost:2181 <<EOF
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    quit
    EOF

    خروجی را به شکل زیر مشاهده خواهید کرد:

    Connecting to localhost:2181
    Welcome to ZooKeeper!
    JLine support is enabled
    WATCHER::
    WatchedEvent state:SyncConnected
    type:None path:null
    [zk: localhost:2181(CONNECTED) 0]
    set /system/securityprofile <SecurityProfile></SecurityProfile>
    cZxid = 0x89
    ...
    [zk: localhost:2181(CONNECTED) 1] quit
    Quitting...
  3. احراز هویت پایه و SAML را دوباره فعال کنید:
    curl -H "Content-Type: application/xml" http://localhost:8080/v1/securityprofile
      -u sysAdminEmail:pWord -d '<SecurityProfile enabled="true" name="securityprofile">
      <UserAccessControl enabled="true">
      <SSOServer>
      <BasicAuthEnabled>true</BasicAuthEnabled>
      <PublicKeyEndPoint>/token_key</PublicKeyEndPoint>
      <ServerUrl>http://35.197.37.220:9099</ServerUrl>
      </SSOServer>
      </UserAccessControl>
      </SecurityProfile>'

    اکنون می توانید دوباره از Basic Auth استفاده کنید.