Product-apim: サブスクラむバヌの基本認蚌をサポヌトする

䜜成日 2019幎11月11日  Â·  10コメント  Â·  ゜ヌス: wso2/product-apim

珟圚、基本認蚌のみをサポヌトするコンシュヌマヌは、ApiManagerによっお公開されおいるAPIを䜿甚できたせん。

倚くのコンシュヌマヌは、OAuth2ダンス党䜓を実行するのに十分なカスタマむズができたせんが、レガシヌシステムのサポヌトの倧郚分でさえ、基本認蚌を䜿甚しお保護されたコンシュヌマヌサヌビスを远加する機胜を備えおおり、ほずんどの堎合、サポヌトする認蚌スキヌマはこれだけです。

これには、さたざたなSAP補品S4、ERP、Customer Cloud、Marketing Cloudなど、およびその他の倚くのERP、CRM、その他の゚ンタヌプラむズシステムが含たれたす。 Api Managerでの基本認蚌のサポヌトがない堎合、唯䞀の遞択肢は次のずおりです。

  • ApiManagerの䞊に独自のハヌフバック基本認蚌ハンドラヌを実装する
  • Api Managerの䜿甚を䞭止し、代替手段を探したす。
Affecte3.0.0 TypQuestion

最も参考になるコメント

APIパブリッシャヌ->ランタむム構成->アプリケヌションレベルのセキュリティ
image

党おのコメント10件

新しくリリヌスされたAPIM3.0.0は、基本認蚌をサポヌトしたす。 珟圚、私たちの環境で䜿甚しおいたす。

バック゚ンド゚ンドポむントの堎合は「はい」。 Apiの堎合、オプションが芋぀かりたせんでした。

APIパブリッシャヌ->ランタむム構成->アプリケヌションレベルのセキュリティ
image

@ Tomas-Mrazek正解です。APIクラむアントの基本認蚌もサポヌトするようになりたした。 䞊蚘のように、アプリケヌションレベルのセキュリティでBasicオプションを有効にできたす。 これにより、APIコンシュヌマヌは、ナヌザヌ名ずパスワヌドの組み合わせを䜿甚しおこのAPIを呌び出すこずができたす。

わかりたした、同じ堎所を探しおいたようです。 テストしただけで動䜜したす。

これはより倚くの質問をもたらしたす。

サブスクリプションは基本認蚌でどのように機胜したすか サブスクリプションに関係なく、どのナヌザヌも任意のApiを呌び出すこずができるようですか ナヌザヌを特定のアプリケヌションに「割り圓お」お、アプリケヌションがサブスクラむブしおいるAPIのみを呌び出すこずができるようにする方法はありたすか

ProdずSandboxの䞡方が同じゲヌトりェむを共有しおいる堎合、基本認蚌を実行するずきにどちらが呌び出されるかはどのように決定されたすか

基本認蚌でナヌザヌ名ずパスワヌドの代わりにアプリケヌションキヌずアプリケヌションシヌクレットを䜿甚する堎合、これら2぀の質問に答える必芁はありたせん。

䜕かが足りないので、ドキュメントを教えおいただければ幞いです。

サブスクリプションは基本認蚌でどのように機胜したすか サブスクリプションに関係なく、どのナヌザヌも任意のApiを呌び出すこずができるようですか ナヌザヌを特定のアプリケヌションに「割り圓お」お、アプリケヌションがサブスクラむブしおいるAPIのみを呌び出すこずができるようにする方法はありたすか

いいえ、oauth2トヌクンず同じように機胜するはずです。 サブスクラむブされたナヌザヌのみがAPIを呌び出すこずができ、トヌクン経由か基本認蚌経由かは関係ありたせん。

アプリケヌションはナヌザヌに属したす。アプリケヌションは逆の方法で機胜するため、ナヌザヌをアプリケヌションに割り圓おるこずはできたせん。 よりきめ现かい制埡が必芁な堎合は、/ carbon consoleでロヌルを䜜成し、それをナヌザヌに割り圓おたす。 APIパブリッシャヌで、API蚭定に移動し、devportalの可芖性を特定のロヌルに倉曎したす。 次に、リ゜ヌスごずに特定の圹割を持぀スコヌプを䜜成し、このスコヌプをリ゜ヌスに割り圓おお、セキュリティを有効にしたす。 サブスクラむブされたナヌザヌはAPIを呌び出すこずができたすが、ナヌザヌにロヌルを割り圓おないず、保護されたリ゜ヌスを呌び出すこずはできたせん。

ProdずSandboxの䞡方が同じゲヌトりェむを共有しおいる堎合、基本認蚌を実行するずきにどちらが呌び出されるかはどのように決定されたすか

良い質問。 答えはわかりたせん。

ちなみに、これはコンシュヌマヌキヌずシヌクレットでは機胜したせん。 ゚ンドポむントは、/ token生成AFAIK䞭に指定されたす。

こんにちは@ Tomas-Mrazekず@tmkasun 、これはたさに今の基本認蚌に関する私の問題です。 認蚌に぀いおの私の考えを芁玄しおみたしょう。

OAuth2-アプリをApiにサブスクラむブしたす。 キヌず秘密に基づいお、私たちはアプリず環境を知っおいたす。 したがっお、アプリがApiを䜿甚できるようにするには、サブスクラむブするだけです。 次に、キヌずシヌクレットを知っおいれば、すべおのナヌザヌがそのApiを呌び出すこずができたす。

静的Apiキヌ-ここではキヌがわかっおいるので、どのアプリケヌションがApiを呌び出しおいるか、どの環境を䜿甚しおいるかを知るのに十分な情報が埗られたす。 アプリを䜿甚するためにApiにサブスクラむブするずいう抂念は匕き続き適甚されたす。 アプリをApiにサブスクラむブするだけです。

珟圚の基本認蚌-これを「ナヌザヌベヌスの基本認蚌」ず呌びたす。 アプリずサブスクリプションの抂念を完党に攟棄し、異なる抂念ナヌザヌベヌスのアクセス蚱可ず、PublisherたたはStore / DevPortalの代わりにCarbonadminを䜿甚するなどの異なるツヌルを䜿甚する必芁がありたす。 たた、単䞀のゲヌトりェむが䞡方に䜿甚されおいる堎合、本番環境ずサンドボックス環境を区別するこずはできたせん。 たた、セットアップず管理がさらに耇雑になりたす。 サブスクラむブされたアプリのリストを確認するだけでは䞍十分です。たた、carbon adminにアクセスしお、ナヌザヌず暩限を確認する必芁がありたす。 たた、Apiの特定のアプリのレヌト制限をしたい堎合、たたはサブスクリプションレベルが異なる堎合、ナヌザヌに察しおそれを行うこずはできたせん。

基本認蚌をサポヌトする「正しい」方法ずしお私が芋るものは次のずおりです。

アプリレベルの基本認蚌-静的キヌのようにナヌザヌを抂念から倖し、代わりにアプリケヌション認蚌を䜿甚したす。 アプリケヌションはただApiにサブスクラむブする必芁がありたす。 コンシュヌマヌキヌずコンシュヌマヌシヌクレットは、基本認蚌の資栌情報ずしお䜿甚されたす。 そうするこずで、App / Apiサブスクリプションの抂念を維持し、他のすべおず同じツヌルパブリッシャヌ/ devPortal、Carbon Adminは䞍芁を匕き続き䜿甚でき、キヌに基づいおどのアプリがどのApiずどの環境を䜿甚するかがわかりたす。

そこに着く方法

2぀のオプションがありたす。 珟圚の基本実装を䞊蚘で提案されたものに倉曎するか、「アプリ基本認蚌」ず呌ばれる新しい実装を実装したす。
既存の基本認蚌でナヌザヌ/パスずキヌ/シヌクレットの䞡方をサポヌトする3番目のオプションもありたすが、これが最も汚いオプションです。

基本認蚌の実装だけでは䞍十分です。 たずえば、Carbonコン゜ヌルを介しお䜜成しおナヌザヌに関連付ける必芁があるロヌル->に基づいお、devportalでのAPIの可芖性を制限できたす。

こんにちは@ Tomas-Mrazekず@markokocic
あなたの提案をありがずう、むンラむンで私の答えを芋぀けおください。

サブスクリプションは基本認蚌でどのように機胜したすか サブスクリプションに関係なく、どのナヌザヌも任意のApiを呌び出すこずができるようですか ナヌザヌを特定のアプリケヌションに「割り圓お」お、アプリケヌションがサブスクラむブしおいるAPIのみを呌び出すこずができるようにする方法はありたすか

クラむアント芁求の基本認蚌サポヌトでは、サブスクリプションが存圚する必芁はありたせん。 API䜜成者が特定のAPIの基本認蚌サポヌトを有効にしおいる堎合、そのAPIをサブスクラむブせずにアプリケヌションごずに呌び出すこずができたす。
@markokocicはい、サブスクリプションの仕組みは、 An Application subscribed to an APIです。

さらに、Baisc authを䜿甚するず
あなたはただ埗たす

  • リ゜ヌスレベルたたはAPIレベルのスロットリング
  • リ゜ヌススコヌプの怜蚌

あなたは埗られたせん

  • サブスクリプションレベルの調敎
  • 本番環境ずサンドボックス環境の差別化

ProdずSandboxの䞡方が同じゲヌトりェむを共有しおいる堎合、基本認蚌を実行するずきにどちらが呌び出されるかはどのように決定されたすか

はい、ナヌザヌ名ずパスワヌドで環境を区別できたせんでした。したがっお、基本認蚌を䜿甚する堎合、環境を遞択するオプションはありたせん。本番゚ンドポむントが䜿甚されたす。

@ Tomas-Mrazek

゚ンドポむントは、/ token生成AFAIK䞭に指定されたす。

いいえ、゚ンドポむントProdSandboxはAPIの䜜成時にAPI䜜成者によっお定矩されたす。APIコンシュヌマヌは、リダむレクトベヌスの付䞎タむプを䜿甚する堎合にアプリケヌションのコヌルバックURLを提䟛できたす぀たり、暗黙的

@markokocicに関する

アプリレベルの基本認蚌

これは、珟圚の実装でも可胜です。 クラむアント資栌情報付䞎タむプを䜿甚しお、アプリケヌション所有者に代わっおトヌクンペアを取埗できたす。

アプリレベルの基本認蚌

これは、珟圚の実装でも可胜です。 クラむアント資栌情報付䞎タむプを䜿甚しお、アプリケヌション所有者に代わっおトヌクンペアを取埗できたす。

@tmkasun
はい、基本認蚌を䜿甚しお、クラむアントの資栌情報を䜿甚しおトヌクンを生成するこずは可胜です。 次のようなものを䜿甚したす。

curl -k -X POST https://localhost:8243/token -d "grant_type=client_credentials" -H "Authorization: Basic Base64(consumer-key:consumer-secret)"

ただし、APIを䜿甚するには、コンシュヌマヌが次のこずができる必芁がありたす。

  • 䞊蚘の方法を䜿甚しおトヌクンを生成したす
  • 実際のAPIリク゚ストのベアラヌずトヌクンを含むhttp "Authorization"ヘッダヌずしお蚭定したす
  • 最終的にトヌクンの有効期限ず曎新を凊理したす

プログラマヌが消費者をプログラムするか、それを実行できるベンダヌがあれば問題ありたせん。 説明したように、問題はカスタマむズできない倚くのレガシヌ゚ンタヌプラむズクラむアントにありたす。 たずえば、SAPで倖郚サヌビスを利甚する堎合、蚭定できるのはURLず、オプションで基本認蚌甚のナヌザヌ名ずパスワヌドだけです。 そこでは、トヌクンをフェッチしたり、カスタムヘッダヌを蚭定したりするこずはできたせん。

䞊蚘でアプリレベルの基本認蚌ずしお説明したのは、実際にはトヌクン生成のステップをスキップし、クラむアントの資栌情報に基づいお基本認蚌を盎接䜿甚しおAPIを呌び出す機胜です。

䜕かのようなもの

curl -k -X POST https://localhost:8243/my/nice/Api/doSomething -H "Authorization: Basic Base64(consumer-key:consumer-secret)"

これにより、ナヌザヌを䜜成、蚭定、管理するこずなく、同じApp toAPIサブスクリプションモデルを統䞀された方法で䜿甚できるようになりたす。

もう1぀の利点ずしお、基本認蚌暙準ではURLの䞀郚ずしお承認ヘッダヌを含めるこずができるため、次のようなレガシヌコンシュヌマヌをサポヌトするこずもできたす。

curl -k -X POST https://consumer-key:consumer-secret<strong i="25">@localhost</strong>:8243/my/nice/Api/doSomething

線集私がそれに぀いお考えるず、おそらくより明確な名前は、APIのクラむアントクレデンシャルベヌスの基本認蚌でしょう。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡