SAMLアサーションの問題を特定する
Smartsheetマニュアル|ステップバイステップのガイダンスとツールを使用して、Smartsheet SSOのSAMLアサーションの問題をトラブルシューティングする方法を説明します。
この記事の手順を使用して、SAML アサーションの潜在的な問題を特定します。まず自分の主張をキャプチャする必要があります。次の手順に従ってください: SAML トラブルシューティング ステップ: アサーションをキャプチャします。
Clean up your XML file (optional)
XML ファイルをクリーンアップします (オプション)
XML アサーション ファイルはテキストの壁のように表示されるため、探している要素を見つけるのが難しくなります。
XML ファイルを読みやすくするには、このプロセスに従ってください。
アサーションのテキストをコピーし、xmlprettyprint.com にアクセスします。コピーをテキスト フィールドに貼り付け、[Pretty Print XML] ボタンをクリックします。 xmlprettyprint.com が空白の画面を返す場合は、jsonformatter.org/xml-pretty-print を試してください。
ファイルを保存します。
アサーションが暗号化されていないことを確認する
Use Ctrl + F (Cmd + F on a Mac) to search your file for: Ctrl + F (Mac の場合は Cmd + F) を使用して、ファイルを検索します。
暗号化されたアサーション
暗号化されたデータ
暗号データ
これらの値のいずれかが存在する場合は、IdP管理者にアサーションの暗号化を無効にして、暗号化されていない新しいアサーションを生成するように依頼してください。 Smartsheetサポートはファイルの復号化を試みることができますが、社内リソースを使用して新しいアサーションを生成する方が高速です。
アサーションを分析する
アサーションには、以下で詳述するすべての項目が含まれます。各項目が期待どおりに表示されることを検証します。
証明書
証明書は、 Smartsheetに渡される情報を認証します。証明書が最新でない場合、または証明書が合格しない場合、ログイン プロセスは完了しません。
メタデータ内の証明書を確認してください。複数の証明書が存在する可能性があり、キーの有効期限が正確でない可能性があります。
アサーション内の証明書を見つける
アサーション ファイルを開きます。
Ctrl + F (Mac の場合は Cmd + F) を使用して 509Certificate を検索します
> の後と終了 < の前にあるすべてのデータをコピーします。
証明書を確認する
証明書データをテキストフィールドに貼り付け、「デコード」ボタンをクリックします。
すべてのフィールドが渡されていることを確認します。
証明書が組織のメタデータ内の証明書と一致することを確認します。 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="email" name="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress""
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="emailaddress",nameFormat="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress""
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管理者に問い合わせて、最適なパスを決定してください。
調査結果を確認する
アサーションは次の要件を満たす必要があります。
証明書は組織メタデータ内の証明書に合格し、一致します。
Persistent ID/NameID 属性はいずれかの例と一致し、目的のSmartsheetアカウントからの電子メール アドレスを渡します。 このクレームは別の値を渡すことがありますが、これは問題ない場合があることに注意してください。渡された値が意図したものであることを確認してください。他に問題がない場合は、代わりにその申し立てに対して確認済みのメール ( Smartsheetアカウント上) を渡してみてください。
[電子メール アドレス] 属性は要求の例と一致し、目的のSmartsheetアカウントから電子メール アドレスを渡しています。