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、またはです。AWS アクセスポータルにサインインすると、そのユーザーのために設定されている AWS アカウント およびロールを表示できます。この手順では、AWS アクセスポータルを使用して、SDK/ツールの認証プロセスに必要な設定値を取得します。your_subdomain.awsapps.com/start -
AWS CLI は、コードによって実行される API 呼び出しで、IAM アイデンティティセンターの認証を使用するように SDK またはツールを設定するために使用されます。この 1 回限りのプロセスによって共有 AWS
configファイルが更新され、コードを実行する際に SDK またはツールによって使用されます。
前提条件
この手順を開始する前に、次の手順を完了しておく必要があります。
-
AWS アカウントをお持ちでない場合は、AWS アカウントのサインアップ
を行います。 -
IAM Identity Center をまだ有効にしていない場合は、「AWS IAM Identity Center ユーザーガイド」の手順に従って IAM Identity Center を有効にします。
IAM Identity Center を使用してプログラムによるアクセスを設定します
ステップ 1:アクセスを確立し、適切なアクセス許可セットを選択します
AWS 認証情報にアクセスするには、次のいずれかの方法を選択します。
-
「AWS IAM Identity Center ユーザーガイド」の「Configure user access with the default IAM Identity Center directory」の手順に従って、ユーザーを追加し、管理アクセス許可を追加します。
-
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グループに追加されたユーザー。
-
-
ポータルを終了して再度サインインすると、AWS アカウントおよび
AdministratorまたはPowerUserAccessのオプションが表示されます。ツール/SDK を使用する場合はPowerUserAccessを選択します。
ID プロバイダーのポータルから AWS にサインインします。クラウド管理者から PowerUserAccess (開発者) アクセス許可を付与されている場合は、アクセス権のある AWS アカウント とアクセス許可セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。
カスタム実装では、アクセス許可セット名が異なるなど、エクスペリエンスが異なる場合があります。どのアクセス許可セットを使用すればよいかわからない場合は、IT チームにお問い合わせください。
AWS アクセスポータルを通じて AWS にサインインするには クラウド管理者から PowerUserAccess (開発者) アクセス許可を付与されている場合は、アクセス権のある AWS アカウント とアクセス許可セットが表示されます。アクセス許可セットの名前の横に、そのアクセス許可セットを使用してアカウントに手動またはプログラムでアクセスするオプションが表示されます。
サポートについては、IT チームにお問い合わせください。
ステップ 2:IAM Identity Center を使用するように SDK とツールを設定します
-
開発マシンに最新の AWS CLI をインストールします。
-
「AWS Command Line Interface ユーザーガイド」の「AWS CLI の最新バージョンをインストールまたは更新します。」を参照してください。
-
(オプション)AWS CLI が動作していることを確認するには、コマンドプロンプトを開き、
aws --versionコマンドを実行します。
-
-
AWS アクセスポータルにサインインします。この URL は、雇用主から提供されたり、「ステップ 1: アクセスを確立する」の後に E メールで取得したりする場合があります。これ以外の場合は、https://console.aws.amazon.com/singlesignon/
のダッシュボードで AWS アクセスポータル URL を確認できます。 -
AWS アクセスポータルの [アカウント] タブで、管理する個々のアカウントを選択します。ユーザーのロールが表示されます。[アクセスキー] を選択して、適切なアクセス許可セットのコマンドラインまたはプログラムによるアクセスの認証情報を取得します。事前定義された
PowerUserAccess許可セットを使用するか、またはユーザーもしくは雇用主が開発のために最小特権の許可を適用するために作成した許可セットを使用してください。 -
[認証情報の取得] ダイアログボックスで、オペレーティングシステムに応じて、[MacOS と Linux] または [Windows] を選択します。
-
[IAM Identity Center 認証情報] メソッドを選択して、次のステップに必要な
Issuer URLとSSO Regionの値を取得します。注:SSO Start URLはIssuer URLと置き換えて使用できます。
-
-
AWS CLI コマンドラインプロンプトで、
aws configure ssoコマンドを実行します。プロンプトが表示されたら、前のステップで収集した設定値を入力します。この AWS CLI コマンドの詳細については、「aws configure ssoウィザードでプロファイルを設定する」を参照してください。-
プロンプト
SSO Start URLで、Issuer URL用に取得した値を入力します。 -
[CLI プロファイル名]には、開始時に
デフォルトを入力することをお勧めします。デフォルト以外の(名前付き)プロファイルとそれに関連する環境変数を設定する方法については、「プロファイル」を参照してください。
-
-
(オプション) AWS CLI コマンドプロントで、
aws sts get-caller-identityコマンドを実行してアクティブセッション ID を確認します。レスポンスには、設定した IAM Identity Center アクセス許可セットが表示されるはずです。 -
AWS SDK を使用している場合は、開発環境で SDK 用のアプリケーションを作成します。
-
一部の SDK では、IAM Identity Center 認証を使用する前に、
SSOやSSOOIDCなどの追加パッケージをアプリケーションに追加する必要があります。詳細については、具体的な SDK を参照してください。 -
以前に 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 ユーザーガイド:』の以下のトピックを参照してください。
-
IAM Identity Center セッション期間 – ユーザーが AWS ポータルにアクセスするセッションの期間を設定します
-
アクセス許可セットセッション期間 – セッション期間を設定します