メニュー
AWS Identity and Access Management
ユーザーガイド

OpenID Connect ID プロバイダーのサムプリントの取得

IAM で OpenID Connect(OIDC)ID プロバイダーを作成する場合、ID プロバイダー(IdP)のサムプリントを提供する必要があります。サムプリントは OIDC 互換 IdP プロバイダーによって使用される一意のサーバー証明書用の署名です。IAM で OIDC ID プロバイダーを作成する場合、その IdP からの ID を信頼し、AWS アカウントへのアクセス権限を与えることになります。OIDC IdP のサムプリントを提供することにより、特定の OIDC IdP を信頼し、このアクセス権限を与えることを AWS に対して認めます。

AWS Command Line Interface、Tools for Windows PowerShell、または IAM API を使用して OIDC ID プロバイダーを作成するときは、サムプリントを手動で取得し、AWS に提供する必要があります。IAM コンソールを使用して OIDC ID プロバイダーを作成すると、コンソールはサムプリントの取得を試みます。OIDC IdP のサムプリントも手動で取得し、IAM コンソールで取得されたサムプリントが、OIDC プロバイダーに対して予期しているサムプリントと一致することを確認するようにお勧めします。

OIDC プロバイダーのサムプリントを取得するには、ウェブブラウザーと OpenSSL コマンドラインツールを使用します。詳細については、次のセクションを参照してください。

OIDC IdP のサムプリントを取得するには

  1. OIDC IdP のサムプリントを取得する前に、OpenSSL コマンドラインツールを取得する必要があります。このツールを使用して、OIDC IdP の証明書チェーンをダウンロードし、証明書チェーンで最終的な証明書のサムプリントを作成します。OpenSSL のインストールと設定が必要な場合は、「OpenSSL のインストール」および「OpenSSL の設定」の手順に従います。

  2. 次のように、OIDC IdP の URL(https://server.example.com など)で開始し、/.well-known/openid-configuration を追加して IdP の設定ドキュメントの URL を作成します。

    https://server.example.com/.well-known/openid-configuration

    この URL をウェブブラウザーで開き、server.example.com を IdP のサーバー名で置き換えます。

  3. ウェブブラウザに表示されるドキュメントで、"jwks_uri" を検索します(ウェブブラウザの検索機能を使用して、ページでこのテキストを見つけます)。テキスト "jwks_uri" の直後のコロン(:)の後に URL があります。URL の完全修飾ドメイン名をコピーします。https:// または最上位ドメインより後のパスは含めないでください。

  4. OpenSSL コマンドラインツールを使用して、次のコマンドを実行します。keys.example.com を、ステップ 3 で取得したドメイン名に置き換えます。

    Copy
    openssl s_client -showcerts -connect keys.example.com:443
  5. コマンドウィンドウで、次の例のような証明書が表示されるまでスクロールアップします。複数の証明書が表示される場合は、表示される最後(コマンド出力の最後)の証明書を見つけます。

    Copy
    -----BEGIN CERTIFICATE----- MIICiTCCAfICCQD6m7oRw0uXOjANBgkqhkiG9w0BAQUFADCBiDELMAkGA1UEBhMC VVMxCzAJBgNVBAgTAldBMRAwDgYDVQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6 b24xFDASBgNVBAsTC0lBTSBDb25zb2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAd BgkqhkiG9w0BCQEWEG5vb25lQGFtYXpvbi5jb20wHhcNMTEwNDI1MjA0NTIxWhcN MTIwNDI0MjA0NTIxWjCBiDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAldBMRAwDgYD VQQHEwdTZWF0dGxlMQ8wDQYDVQQKEwZBbWF6b24xFDASBgNVBAsTC0lBTSBDb25z b2xlMRIwEAYDVQQDEwlUZXN0Q2lsYWMxHzAdBgkqhkiG9w0BCQEWEG5vb25lQGFt YXpvbi5jb20wgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAMaK0dn+a4GmWIWJ 21uUSfwfEvySWtC2XADZ4nB+BLYgVIk60CpiwsZ3G93vUEIO3IyNoH/f0wYK8m9T rDHudUZg3qX4waLG5M43q7Wgc/MbQITxOUSQv7c7ugFFDzQGBzZswY6786m86gpE Ibb3OhjZnzcvQAaRHhdlQWIMm2nrAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAtCu4 nUhVVxYUntneD9+h8Mg9q6q+auNKyExzyLwaxlAoo7TJHidbtS4J5iNmZgXL0Fkb FFBjvSfpJIlJ00zbhNYS5f6GuoEDmFJl0ZxBHjJnyp378OD8uTs7fLvjx79LjSTb NYiytVbZPQUQ5Yaxu2jXnimvw3rrszlaEXAMPLE= -----END CERTIFICATE-----

    証明書(-----END CERTIFICATE----- および -----BEGIN CERTIFICATE----- 行を含む)をコピーして、テキストファイルに貼り付けます。次に、ファイル名 certificate.crt を使用してファイルを保存します。

  6. OpenSSL コマンドラインツールを使用して、次のコマンドを実行します。

    Copy
    openssl x509 -in certificate.crt -fingerprint -noout

    コマンドウィンドウには、次の例のような証明書サムプリントが表示されます。

    Copy
    SHA1 Fingerprint=99:0F:41:93:97:2F:2B:EC:F1:2D:DE:DA:52:37:F9:C9:52:F2:0D:9E

    この文字列からコロン(:)を削除して、次のような最終的なサムプリントを作成します。

    Copy
    990F4193972F2BECF12DDEDA5237F9C952F20D9E
  7. AWS CLI、Tools for Windows PowerShell、または IAM API を使用して IAM ID プロバイダーを作成する場合は、プロバイダーの作成時にこのサムプリントを提供します。

    IAM コンソールで OIDC プロバイダーを作成する場合は、OIDC プロバイダーを作成するときに [Verify Provider Information] ページのコンソールに表示されるサムプリントに、このサムプリントを比較します。

    重要

    取得したサムプリントが、コンソールに表示されるサムプリントに一致しない場合は、IAM で OIDC プロバイダーを作成しないでください。代わりに、しばらく待ってから OIDC プロバイダーの作成を再試行します。これにより、プロバイダーを作成する前に、サムプリントが確実に一致するようになります。再試行してもサムプリントが一致しない場合は、IAM フォーラムを使用して AWS にお問い合わせください。

OpenSSL のインストール

OpenSSL をまだお持ちでない場合には、このセクションにある手順に従ってインストールを進めてください。

Linux または Unix に OpenSSL をインストールするには

  1. OpenSSL: Source, Tarballs (https://openssl.org/source/) を参照します。

  2. 最新のソースと直近にビルドされたパッケージをダウンロードします。

Windows へ OpenSSL をインストールするには

  1. Windows バージョンのインストール元となるサイトの一覧については、OpenSSL: Binary Distributions (https://wiki.openssl.org/index.php/Binaries) を参照してください。

  2. 選択したサイトの手順に従ってインストールを開始します。

  3. Microsoft Visual C++ 2008 Redistributables のインストールを求められ、これがシステムにまだインストールされていない場合は、ご利用の環境に応じたダウンロードリンクをクリックします。[Microsoft Visual C++ 2008 Redistributable Setup Wizard] に従って操作を進めます。

    注記

    システムに Microsoft Visual C++ 2008 Redistributables が既にインストールされているかについて不明な場合は、まず OpenSSL をインストールしてみます。Microsoft Visual C++ 2008 Redistributables がまだインストールされていない場合は、OpenSSL インストーラで警告が表示されます。 インストールする OpenSSL のバージョンと一致したアーキテクチャ (32 ビットまたは 64 ビット) をインストールする必要があります。

  4. Microsoft Visual C++ 2008 再頒布可能パッケージをインストールしたら、ご利用の環境に適したバージョンの OpenSSL バイナリを選択し、ローカルにファイルを保存します。[OpenSSL Setup Wizard] を開始します。

  5. [OpenSSL Setup Wizard] の手順の従って操作します。

OpenSSL の設定

OpenSSL コマンドを使う前に、OS の設定で OpenSSL をインストールした場所を指定する必要があります。

Linux または Unix で OpenSSL を設定するには

  1. コマンドラインから OpenSSL_HOME 変数の値を設定して、OpenSSL をインストールした場所を以下のように指定します。

    Copy
    export OpenSSL_HOME=path_to_your_OpenSSL_installation
  2. パスに OpenSSL インストールの情報を含めて設定します。

    Copy
    export PATH=$PATH:$OpenSSL_HOME/bin

    注記

    export コマンドの環境変数に対する変更は、現在のコマンドラインセッションでのみ有効です。 シェル設定ファイルで設定することによって、環境変数を永続的に変更することもできます。 詳細については、オペレーティングシステムのドキュメントを参照してください。

Windows で OpenSSL を設定するには

  1. [コマンドプロント] ウィンドウを開きます。

  2. OpenSSL_HOME 変数の値を設定して、OpenSSL をインストールした場所を指定します。

    Copy
    set OpenSSL_HOME=path_to_your_OpenSSL_installation
  3. OpenSSL_CONF 変数の値を設定して、OpenSSL インストールのコンフィギュレーションファイルの場所を指定します。

    Copy
    set OpenSSL_CONF=path_to_your_OpenSSL_installation\bin\openssl.cfg
  4. パスに OpenSSL インストールの情報を含めて設定します。

    Copy
    set Path=%Path%;%OpenSSL_HOME%\bin

    注記

    [Command Prompt] ウィンドウで Windows 環境変数を変更した場合、その変更は現在のコマンドラインセッションにおいてのみ有効になります。環境変数を永続的に変更するには、環境変数をシステムプロパティとして設定する必要があります。お使いの Windows のバージョンにより手順が異なりますが、Windows 7 の場合だと、[コントロールパネル]、[システムとセキュリティ]、[システム] に入り、[システムの詳細設定] の [詳細設定] タブにある [環境変数] を選択します。 詳細については、Windows のドキュメントを参照してください。