SAMLアサーションの問題を特定する

Smartsheetマニュアル|ステップバイステップのガイダンスとツールを使用して、Smartsheet SSOのSAMLアサーションの問題をトラブルシューティングする方法を説明します。

この記事の手順を使用して、SAML アサーションの潜在的な問題を特定します。まず自分の主張をキャプチャする必要があります。次の手順に従ってください: SAML トラブルシューティング ステップ: アサーションをキャプチャします。

Clean up your XML file (optional) XML ファイルをクリーンアップします (オプション)

XML アサーション ファイルはテキストの壁のように表示されるため、探している要素を見つけるのが難しくなります。

XML ファイルを読みやすくするには、このプロセスに従ってください。

  1. アサーションのテキストをコピーし、xmlprettyprint.com にアクセスします。コピーをテキスト フィールドに貼り付け、[Pretty Print XML] ボタンをクリックします。 xmlprettyprint.com が空白の画面を返す場合は、jsonformatter.org/xml-pretty-print を試してください。

  2. ファイルを保存します。

アサーションが暗号化されていないことを確認する

Use Ctrl + F (Cmd + F on a Mac) to search your file for: Ctrl + F (Mac の場合は Cmd + F) を使用して、ファイルを検索します。

  • 暗号化されたアサーション

  • 暗号化されたデータ

  • 暗号データ

これらの値のいずれかが存在する場合は、IdP管理者にアサーションの暗号化を無効にして、暗号化されていない新しいアサーションを生成するように依頼してください。 Smartsheetサポートはファイルの復号化を試みることができますが、社内リソースを使用して新しいアサーションを生成する方が高速です。

アサーションを分析する

アサーションには、以下で詳述するすべての項目が含まれます。各項目が期待どおりに表示されることを検証します。

証明書

証明書は、 Smartsheetに渡される情報を認証します。証明書が最新でない場合、または証明書が合格しない場合、ログイン プロセスは完了しません。

メタデータ内の証明書を確認してください。複数の証明書が存在する可能性があり、キーの有効期限が正確でない可能性があります。

  1. アサーション内の証明書を見つける

    1. アサーション ファイルを開きます。

    2. Ctrl + F (Mac の場合は Cmd + F) を使用して 509Certificate を検索します

    3. > の後と終了 < の前にあるすべてのデータをコピーします。

証明書を確認する

  1. 証明書データをテキストフィールドに貼り付け、「デコード」ボタンをクリックします。

  2. すべてのフィールドが渡されていることを確認します。

  1. 証明書が組織のメタデータ内の証明書と一致することを確認します。 IdP 管理者に、アサーション情報を相互参照するために IdP からメタデータをエクスポートするように依頼します。

証明書が証明書チェックに合格しない場合、またはデコーダーに合格しない場合は、証明書を更新するか、IdP からの最新のメタデータをSmartsheetに追加します。

属性の主張

The assertion contains a long list of claims or attributes. Smartsheet only requires two claims for authentication: the Persistent ID (also known as Name ID) claim and the Email Address claim. アサーションには、クレームまたは属性の長​​いリストが含まれています。 Smartsheetの認証には、永続 ID (名前 ID とも呼ばれます) クレームと電子メール アドレス クレームの 2 つのクレームのみが必要です。

Smartsheet は次の 2 つのことをチェックします。

  • クレームは正しく設定されていますか?

  • 正しい情報が伝わっているのか?

このヘルプセンターの記事に示されているようにクレームが設定されていることを確認してください。

永続IDを確認する

Ctrl + F (Mac の場合は Cmd + F) を使用して、「NameID」または「name=」を検索します。

初めて SAML を設定するとき、ユーザーは永続 ID クレームの NameID 要素を設定できます。以下の形式は受け入れられる例です。

  • urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

  • urn:oasis:names:tc:SAML:2.0:nameid-format:email

  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

  • urn:oasis:names:tc:SAML:2.0:nameid-format:unspecified

  • urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified

  • urn:oid:1.3.6.1.4.1.5923.1.1.1.10

NameID 永続 ID 属性の例を次に示します。

<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">user@domaindotcom</saml:NameID>

太字は、チェックすべきクレームの部分を強調表示します。 NameID を使用する場合は、上記の例のいずれかと一致する必要があります。

斜体は、ユーザーを認証するために IdP がSmartsheetに渡す情報を強調表示します。 Persistent/NameID の場合、これは目的のSmartsheetアカウントの電子メール アドレスである必要はありませんが、多くの場合、電子メール アドレスである必要があります。

もう 1 つの一般的な選択肢は、その人の IdP ユーザー ID です。上記の斜体のセクションがユーザーの電子メールではない場合は、潜在的な問題として注意してください。

初めて SAML を設定する場合、ユーザーは NameID 要素を使用せず、代わりに単純な永続 ID 属性を渡すことを選択することもできます。

受け入れられた永続 ID 属性は、上記の例 (受け入れられた 6 つのクレームのいずれかを含む) または以下の例 (5 つの受け入れられたクレームの 1 つを含む) のようになります。

  • name="eduPersonPrincipalName" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:basic"

  • name="persistent" nameFormat="urn:oasis:names:tc:SAML:2.0:nameid-­format:persistent"

  • name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:uri"

  • name="eduPersonPrincipalName" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:uri"

永続 ID 属性の例を次に示します。

<saml:Attribute Name="eduPersonPrincipalName" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"><saml:AttributeValue xsi:type="xs:string">user@domaindotcom</saml:AttributeValue></saml:Attribute>

主張は太字で示されています。この主張が受け入れられた例と一致する場合、この属性は問題ありません。斜体のテキストをチェックして、目的のSmartsheetアカウントの電子メール アドレスが渡されていることを確認します。上記の斜体のセクションが電子メールではない場合は、潜在的な問題として注意してください。

メールアドレスの属性

Ctrl + F (Mac の場合は Cmd + F) を使用して、「emailaddress」または「nameFormat」を検索します。

[電子メール アドレス] 属性は、 Smartsheetアカウントで検証済みの電子メール アドレスを渡す必要があり、NameID 要素 (上記の Persistent 属性など) は受け入れられません。この属性は、以下のクレームのいずれかと一致し、適切な電子メールを渡す必要があります。

  • name="emailAddress",nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:basic"

  • name="emailaddress",nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:basic"

  • name="Email",nameFormat="urn:oasis:names:tc:SAML:2.0:attrname­-format:basic"

  • name="saml_username",nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:basic"

  • name="emailAddress",nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:unspecified"

  • name="emailaddress",nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:unspecified"

  • name="urn:oid:0.9.2342.19200300.100.1.3",nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-­format:uri"

  • name="mail",nameFormat="urn:oasis:names:tc:SAML:2.0:attrname­-format:basic"

これがアサーションにどのように現れるかの例を次に示します。

<saml:Attribute name="emailaddress"nameFormat="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"><saml:AttributeValue xsi:type="xs:string" xmlns:xs="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">;user@domaindotcom</saml:AttributeValue>

主張は緑と青で強調表示されます。この主張が私たちの受け入れられた例と一致する限り、この属性は問題なく使用できます。紫色のテキストをチェックして、目的のSmartsheetアカウントの電子メール アドレスが渡されていることを確認します。

斜体のセクションが正しいメールではない場合は、IdP でユーザーの属性を更新するか、他のメールを確認済みの代替メール アドレスとしてSmartsheetに追加します。 IdP管理者に問い合わせて、最適なパスを決定してください。

調査結果を確認する

アサーションは次の要件を満たす必要があります。

  1. 証明書は組織メタデータ内の証明書に合格し、一致します。

  2. Persistent ID/NameID 属性はいずれかの例と一致し、目的のSmartsheetアカウントからの電子メール アドレスを渡します。 このクレームは別の値を渡すことがありますが、これは問題ない場合があることに注意してください。渡された値が意図したものであることを確認してください。他に問題がない場合は、代わりにその申し立てに対して確認済みのメール ( Smartsheetアカウント上) を渡してみてください。

  3. [電子メール アドレス] 属性は要求の例と一致し、目的のSmartsheetアカウントから電子メール アドレスを渡しています。