この試験に1度失敗した後、すぐにでももう一度行こうと思いました。私はリソースガイドに立ち往生しながらも2週間以上も勉強すれば、良い結果を得ることができると知っていました。それで、2017年のクリスマスイブに、さらに3日間の集中的な勉強の後、私はそれをもう一度やりました。
顧客や組織にシングルサインオンを設定する実務経験がない限り、これは決して簡単な試験ではありません。これは私の経験が最も少ない分野であり、私にとってはそれを修正することすらありませんでした。私はそれを学ばなければなりませんでした。
あなたの素晴らしいOAuth の神秘を解くセッションをありがとうCALVIN 。※字幕にならないSalesforce動画です。
最善の指針は、Salesforceが提供するTrailmixに再び従うことです。ガイドがあなたを指すいくつかの素晴らしいビデオとプレゼンテーションがあります - これは私が読んでいた他のリソースに何らかの文脈を置くのを助けました。
次に、シングルサインオン(SSO)を設定した経験がまだない場合は、リソースガイド内で実践的な演習を行うことが非常に役立ちます。実際にクリックしてSSOを設定すると、見慣れない人にも理解しやすくなります。
このページでは、FacebookがあなたのプロフィールとEメールアドレスをDaily Mail Onlineと共有することを承認するように求めています。ソーシャルメディアは現存する中で最も信頼できるアイデンティティプロバイダの1つなので、インターネットアプリケーションを使用するときには毎日のようにこの画面を目にします。
Salesforceは、SAMLプロトコルとOAuth 2.0プロトコルの組み合わせを使用してSSOを処理します。
SAMLの詳細:
※英語動画。字幕なし
リソースガイドはあなたがこれをよりよく理解するのを助けるためにいくつかの素晴らしい図表とリソースを含みます、しかし:
つまり、このプロセスを完全に自動化することができます。試験でテストされるのは、それを自動化できるさまざまな方法と、特定のシナリオに適した方法です。
Ladies Be Architectsのビデオを通じたOAuthの詳細:
※日本語字幕可能
職場でコンピューターにログインした後、一連のタイルに直面し、アプリを起動するように招待したことがありますか。これは、アイデンティティ・プロバイダ・イニシエート認証の典型的な例です。
この例はIdPとしてのSalesforceに関するものです - login.salesforce.comリンクを介してSalesforceにログインしてから、App Launcherを開きます。そこからあなたはそれらのために別々にサインインする必要なしに表示されたアプリのどれにでもアクセスすることができます。
注:試験では、この機能をサポートするために最も適しているライセンスの種類(従業員用とコミュニティ用)を尋ねられます。2種類のアイデンティティライセンスに慣れることをお勧めします。
翻訳者注:Identity for Customers & Partners(月10円未満)、Identity for Employees(月600円)
この種類の認証は、Salesforceからリソースにアクセスしたいが、標準の認証情報を使用したい場合に適しています。多くの組織がActive Directoryなどの中央IdPを通じてユーザーを認証することを望んでいるため、これが最も一般的です。
これのもう一つの良い例はあなたがあなたのコミュニティユーザーにFacebook経由でログインさせたい場合です。リソースガイドでは、これがどのように機能するかについてすべてを説明している優れた一連のビデオを紹介しています。開発者組織でこれを実際に設定することを強くお勧めします。Axiom Herokuアプリを使用するか、複数組織環境をセットアップすることができます。どのようにして複数組織の状況を認証するのが最もよいかについての試験問題があり、この演習で私はその質問に答えることができました。
私がこれを何度か参照したのを初めて見たとき、それが何であるかわかりませんでしたが、私たちはいつもそれを使っています!Salesforceを使用することの優れた点の1つは、レコード、レポート、ダッシュボード、Chatter投稿など、特定のものへのリンクを配布できることです。管理者として、ユーザーがものを見つけることができないとき、我々はこれをたくさんします。
これはディープリンクと呼ばれます。アプリケーション内の個々の項目に効果的にリンクしています。すでにSalesforceにサインインしているときにディープリンクをクリックすると、リソースが開くだけです。ただし、ログインしていない状態でリンクをクリックした場合は、組織のホームページにログインした場合と同じ認証要件が適用されます。私はここでこれを計画的な英語の図に入れました(この重い主題との戦いの半分が用語です!):
My Domainを設定しないと、このSSO関連のすべてが無意味であることを覚えておくことが重要です。IdPがサインインを許可する組織を見つけることができないため、パーソナライズドドメインを持っている必要があります。
また、私のドメインでSalesforceを認証する場所を設定します。SalesforceにIdPログインページにリダイレクトするように指示する必要があるため、SPイニシエート認証を設定している場合、これは重要です。
OAuthはオープンプロトコルであり、それを使用する方法はいくつかあります。この記事はそれを非常によく説明しています。それらを理解するのを助けるために私はまだ私自身の図表を一緒にしなければならなかった、そしてあなたとそれらを共有することがうれしい。
注:これにはすべてのフローが含まれるわけではありませんが、試験を通過するのに十分なものでした。私はCTAの準備の一部としてそれらをより詳細に再考するつもりです。
私はこれをSAPの例として使用しました。Salesforceと何かを統合しているのであれば、それでも認証する必要があるので、このフローはこの目的のために使用されます。
このフローは、Salesforceに接続する必要があるデスクトップまたはモバイルハードウェアアプリケーション用です。良い例は、データローダー、Chatterデスクトップ、またはSalesforce1モバイルアプリケーションです。
このフローは、すでに相互に信頼しているフレームワークがいくつかあり、それらを認証する(承認しない)場合に最も適しています。認証されると、彼らは話し続けます。
Smart TVにBBC iPlayerを設定したことがある場合は、テレビに自分のアカウントへのアクセスを許可するときに、この正確な流れを見ていくことになります。
キャンバスアプリケーションとその認証フローについて知っておく。図はここにあります。
翻訳者注:アクセスポリシーが、ある(事前認可)か、ない(自己認可)か
2FA(2要素認証)の実装のためのベストプラクティスを知っています。利用可能なさまざまなオプションがあります。個人的に、私はログインフローについて学ぶのが好きでした:
証明書の種類をもう少し詳しく調べてほしいです。このトピックに関するリソースガイドには、すぐに明らかなことは何もありませんでした。試験の後に検索したところ、上記の記事が得られました。それに加えて、正しい回答が選択されたという確信もありました。
幸いなことに、私たちのLadies Be Architects研究グループリーダー、Natalya Murphyは試験カリキュラム全体でクラッシュコース研究グループを運営していました - だから、もしあなたが他人から上手く学べば、私はこのシリーズを強くお勧めします。
いつものように、この記事は洗練されたものになるでしょう。私はあなたの意見を聞きたいです。あなたは私のTwitter @gemziebethで見つけることができます。私はあなたがこの試験にあなたのすべての最善を祈ります。それがついに私をシステムアーキテクトにしてくれたので、これに合格するのは大いに助かりました!
ナレッジ記事番号
000007225
解決策
クライアントとしての Salesforce
アウトバウンドメッセージ、代理認証要求、または Apex コールアウトを安全な / SSL エンドポイント(https://myintegration.acme.com など) に送信する場合、 (クライアントとして機能する) Salesforce.com 組織は、リンクに示すリストに含まれているルート証明機関(CA)によって署名された証明書を提示するときは、 (サーバとして機能する) ターゲットホストのみを信頼します。つまり、このシナリオでは自己署名証明書はターゲットホストで使用できません。
注:
Salesforce はルート認証局 (CA) 証明書のみを信頼し、例外の事例はほとんどありません。 Salesforce の証明書信頼ポリシーでは、サーバ証明書チェーンとクライアント証明書チェーンに、サーバ証明書とクライアント証明書とチェーンのルート証明書の間に存在するすべての中間証明書を含める必要があります。Salesforce は、中間証明書をその信頼リストに追加する要求を受け入れません。Salesforce は、一般的に信頼できるルート証明書を主に信頼しますが、すべてを信頼するわけではありません。 Salesforce が信頼するルート CA 証明書のアウトバウンドメッセージング SSL CA 証明書のリストを確認します。
相互認証 / 双方向 SSL を使用する場合、Salesforce.com はターゲットホストで設定されていれば、(ターゲットサーバのキーストアにインストールされている等)、自己署名証明書をターゲットホストへ提示することができます。
(ターゲットホストはSalesforce に CA 署名証明書を提示する必要があります)
サーバとしての Salesforce
Salesforce 組織が SAML を使用してシングルサインオンを有効にしている場合、組織はサービスプロバイダ (SP) の役割を果たします。 この場合、Salesforceはサーバとして機能し、設定されたアイデンティティプロバイダ (IdP) はクライアントとして動作し、自己署名証明書を提示することができます。
クライアント認証
Salesforce は、アウトバウンドメッセージ、代理認証要求、SAML アサーション (SP および IdP 開始フローの両方) を送信するときに、同じ CA 署名付き証明書を提示します。CA 署名付き証明書は [設定] | [開発] | [API] | [クライアント証明書] からダウンロードすることができます。
※佐野注:いまは、[管理][セキュリティのコントロール][証明書と鍵の管理]から「証明機関署名証明書の作成」
一方、Apex コールアウトは ([設定] | [セキュリティのコントロール] | [証明書と鍵の管理] の一覧から) どの証明書を Salesforce がターゲットホストに提示するかを指定します。 自分自身のドメイン (たとえば、mycompany.com など) でルートされたインスタンスのために、管理する証明書の共通名を使用する必要があります。 salesforce.com ドメインで証明書を取得する必要はありません。
利用可能な SSL ツール
1. サードパーティのサイト Digicert は、SSL ハンドシェイク中に返されたすべての証明書をグラフィカルに表示します
- ハンドシェイクで返された証明書の詳細については、次の OpenSSL コマンドを使用します:
openssl s_client -showcerts -connect <host>:<port>
2. SSL 証明書をデコードするには、SSL Shopper を使用します。