IAM Identity Center を使用して AWS SDK とツールを認証する - AWS SDK とツール

IAM Identity Center を使用して AWS SDK とツールを認証する

AWS IAM Identity Center は、AWS 以外のコンピュートサービスで AWS アプリケーションを開発する場合、AWS 認証情報を提供する方法として推奨されます。たとえば、これはローカルの開発環境のようなものです。Amazon Elastic Compute Cloud (Amazon EC2) または AWS Cloud9 などの AWS リソースを使用して開発する場合は、代わりにそのサービスから認証情報を取得することをお勧めします。

このチュートリアルでは、IAM Identity Center へのアクセスを確立し、AWS アクセスポータルと AWS CLI を使用して SDK またはツール用に設定します。

  • AWS アクセスポータルは、IAM アイデンティティセンターに手動でサインインするウェブ上の場所です。URL のフォーマットは d-xxxxxxxxxx.awsapps.com/start、または your_subdomain.awsapps.com/start です。AWS アクセスポータルにサインインすると、そのユーザーのために設定されている AWS アカウント およびロールを表示できます。この手順では、AWS アクセスポータルを使用して、SDK/ツールの認証プロセスに必要な設定値を取得します。

  • AWS CLI は、コードによって実行される API 呼び出しで、IAM アイデンティティセンターの認証を使用するように SDK またはツールを設定するために使用されます。この 1 回限りのプロセスによって共有 AWS config ファイルが更新され、コードを実行する際に SDK またはツールによって使用されます。

前提条件

この手順を開始する前に、次の手順を完了しておく必要があります。

IAM Identity Center を使用してプログラムによるアクセスを設定します

ステップ 1:アクセスを確立し、適切なアクセス許可セットを選択します

AWS 認証情報にアクセスするには、次のいずれかの方法を選択します。

  1. AWS IAM Identity Center ユーザーガイド」の「Configure user access with the default IAM Identity Center directory」の手順に従って、ユーザーを追加し、管理アクセス許可を追加します。

  2. AdministratorAccess アクセス許可セットは、通常の開発には使用しないでください。代わりに、雇用主がこの目的のためにカスタムアクセス許可セットを作成していない限り、定義済みの PowerUserAccess アクセス許可セットを使用することをお勧めします。

    再度同じ「Configure user access with the default IAM Identity Center directory」の手順に従います。ただし今回は次のようにします。

    • Admin team グループを作成する代わりに Dev team グループを作成し、その後の手順ではこれを代わりに使用します。

    • 既存のユーザーを使用できますが、そのユーザーを新しい Dev team グループに追加する必要があります。

    • AdministratorAccess アクセス許可セットを作成する代わりに PowerUserAccess アクセス許可セットを作成し、その後の手順ではこれを代わりに使用します。

    完了したら、以下があるはずです。

    • Dev team グループ。

    • Dev team グループにアタッチされた PowerUserAccess アクセス許可セット。

    • Dev team グループに追加されたユーザー。

  3. ポータルを終了して再度サインインすると、AWS アカウントおよび Administrator またはPowerUserAccess のオプションが表示されます。ツール/SDK を使用する場合は PowerUserAccess を選択します。

ID プロバイダーのポータルから AWS にサインインします。クラウド管理者から PowerUserAccess (開発者) アクセス許可を付与されている場合は、アクセス権のある AWS アカウント とアクセス許可セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。

カスタム実装では、アクセス許可セット名が異なるなど、エクスペリエンスが異なる場合があります。どのアクセス許可セットを使用すればよいかわからない場合は、IT チームにお問い合わせください。

AWS アクセスポータルを通じて AWS にサインインするには クラウド管理者から PowerUserAccess (開発者) アクセス許可を付与されている場合は、アクセス権のある AWS アカウント とアクセス許可セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。

サポートについては、IT チームにお問い合わせください。

ステップ 2:IAM Identity Center を使用するように SDK とツールを設定します

  1. 開発マシンに最新の AWS CLI をインストールします。

    1. AWS Command Line Interface ユーザーガイド」の「AWS CLI の最新バージョンをインストールまたは更新します。」を参照してください。

    2. (オプション)AWS CLI が動作していることを確認するには、コマンドプロンプトを開き、aws --version コマンドを実行します。

  2. AWS アクセスポータルにサインインします。この URL は、雇用主から提供されたり、「ステップ 1: アクセスを確立する」の後に E メールで取得したりする場合があります。これ以外の場合は、https://console.aws.amazon.com/singlesignon/ダッシュボードAWS アクセスポータル URL を確認できます。

    1. AWS アクセスポータルの [アカウント] タブで、管理する個々のアカウントを選択します。ユーザーのロールが表示されます。[アクセスキー] を選択して、適切なアクセス許可セットのコマンドラインまたはプログラムによるアクセスの認証情報を取得します。事前定義された PowerUserAccess 許可セットを使用するか、またはユーザーもしくは雇用主が開発のために最小特権の許可を適用するために作成した許可セットを使用してください。

    2. [認証情報の取得] ダイアログボックスで、オペレーティングシステムに応じて、[MacOS と Linux] または [Windows] を選択します。

    3. [IAM Identity Center 認証情報] メソッドを選択して、次のステップに必要な Issuer URLSSO Region の値を取得します。注: SSO Start URLIssuer URL と置き換えて使用できます。

  3. AWS CLI コマンドラインプロンプトで、aws configure sso コマンドを実行します。プロンプトが表示されたら、前のステップで収集した設定値を入力します。この AWS CLI コマンドの詳細については、「aws configure sso ウィザードでプロファイルを設定する」を参照してください。

    1. プロンプト SSO Start URL で、Issuer URL 用に取得した値を入力します。

    2. [CLI プロファイル名]には、開始時にデフォルトを入力することをお勧めします。デフォルト以外の(名前付き)プロファイルとそれに関連する環境変数を設定する方法については、「プロファイル」を参照してください。

  4. (オプション) AWS CLI コマンドプロントで、aws sts get-caller-identity コマンドを実行してアクティブセッション ID を確認します。レスポンスには、設定した IAM Identity Center アクセス許可セットが表示されるはずです。

  5. AWS SDK を使用している場合は、開発環境で SDK 用のアプリケーションを作成します。

    1. 一部の SDK では、IAM Identity Center 認証を使用する前に、SSOSSOOIDC などの追加パッケージをアプリケーションに追加する必要があります。詳細については、具体的な SDK を参照してください。

    2. 以前に AWS へのアクセスを設定した場合、共有された AWS credentials ファイルの AWS アクセスキー を確認してください。認証情報プロバイダーチェーンを理解する 優先順位により、SDK またはツールが IAM Identity Center の認証情報を使用する前に、静的認証情報をすべて削除する必要があります。

SDK とツールがこの設定を使用して認証情報を使用および更新する方法についての詳細は、「AWS SDK とツールの IAM Identity Center 認証の解決方法」を参照してください。

IAM Identity Center プロバイダー設定を共有 config ファイルで直接設定するには、このガイドの「IAM Identity Center 認証情報プロバイダー」を参照してください。

ポータルアクセスセッションを更新する

アクセスはいずれ期限切れになり、SDK またはツールで認証エラーが発生します。この有効期限は、設定したセッションの長さによって異なります。必要なときにアクセスポータルセッションを再度更新するには、AWS CLI を使用して aws sso login コマンドを実行します。

IAM Identity Center アクセスポータルのセッション期間とアクセス許可セットのセッション期間の両方を延長できます。これにより、AWS CLI に手動でサインインし直す必要が出るまでにコードを実行できる時間が長くなります。詳細については、『AWS IAM Identity Center ユーザーガイド:』の以下のトピックを参照してください。