AWS RAM でのカスタマー管理アクセス許可の作成と使用 - AWS Resource Access Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS RAM でのカスタマー管理アクセス許可の作成と使用

AWS Resource Access Manager (AWS RAM) は、共有できるリソースタイプごとに 1 つ以上の AWS 管理アクセス許可を提供します。ただし、これらの管理アクセス許可では、共有のユースケースで最小特権しか付与されない場合があります。提供されている AWS 管理アクセス許可のいずれかが機能しない場合は、独自のカスタマー管理アクセス許可を作成できます。

カスタマー管理アクセス許可は、AWS RAM で共有リソースを使用する場合に、どのような条件下でどのアクションを実行できるかを正確に指定する、ユーザーが作成し管理する管理アクセス許可です。例えば、大規模な IP アドレスの管理に役立つ Amazon VPC IP Address Manager (IPAM) プールの読み取りアクセスを制限する場合を考えてみます。IP アドレスの割り当てはできるものの、他の開発者アカウントが割り当てた IP アドレスの範囲は表示できないようなカスタマー管理アクセス許可を開発者に対して作成することができます。最小特権のベストプラクティスに従って、必要なアクセス許可のみを付与し、共有リソースでタスクを実行できるような環境を構築することができます。

また、カスタマー管理アクセス許可は、必要に応じて更新または削除することができます。

カスタマー管理アクセス許可を作成する

カスタマー管理アクセス許可は AWS リージョン に固有のものです。カスタマー管理アクセス許可は、適切なリージョンに作成するようにしてください。

Console
カスタマー管理アクセス許可を作成するには
  1. 次のいずれかを実行します。

  2. [カスタマー管理アクセス許可の詳細] にカスタマー管理アクセス許可名を入力します。

  3. この管理アクセス許可を適用するリソースタイプを選択します。

  4. [ポリシーテンプレート] で、このリソースタイプで実行できる操作を定義します。

    • [マネージド型アクセス許可のインポート] を選択すると、既存の管理アクセス許可のアクションを使用できます。

    • ビジュアルエディタで、要件に合わせてアクセスレベル情報を選択または選択解除します。

    • [JSON エディタ] を使用して条件を追加または変更します。

  5. (オプション) タグを管理アクセス許可にアタッチするには、[タグ] にタグキーと値を入力します。タグを追加するには、[新しいタグを追加] を選択します。この手順を必要なだけ繰り返します。

  6. 終了したら、[カスタマー管理アクセス許可の作成] を選択します。

AWS CLI
カスタマー管理アクセス許可を作成するには
  • create-permission コマンドを実行して、名前、カスタマー管理アクセス許可を適用するリソースタイプ、およびポリシーテンプレートの本文を指定します。

    以下のコマンドの例は、imagebuilder:Component リソースタイプ用の管理アクセス許可を作成します。

    $ aws ram create-permission \ --name TestCMP \ --resource-type imagebuilder:Component \ --policy-template "{\"Effect\":\"Allow\",\"Action\":[\"imagebuilder:ListComponents\"]}" { "permission": { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "1", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "resourceType": "imagebuilder:Component", "status": "ATTACHABLE", "creationTime": 1680033769.401, "lastUpdatedTime": 1680033769.401 } }

カスタマー管理アクセス許可の新しいバージョンを作成する

カスタマー管理アクセス許可のユースケースが変更された場合は、管理アクセス許可の新しいバージョンを作成できます。これは既存のリソース共有には影響せず、カスタマー管理アクセス許可を使用する新しいリソース共有にのみ影響します。

各管理アクセス許可には最大 5 つのバージョンを設定できますが、関連付けることができるのはデフォルトバージョンのみです。

Console
カスタマー管理アクセス許可の新しいバージョンを作成するには
  1. [マネージド許可ライブラリ] に移動します。

  2. 管理アクセス許可リストを [カスタマー管理] でフィルタリングするか、変更するカスタマー管理アクセス許可の名前を検索します。

  3. 管理アクセス許可の詳細ページの [管理アクセス許可のバージョン] セクションで、[バージョンを作成] を選択します。

  4. [ポリシーテンプレート] で、ビジュアルエディタまたは JSON エディタを使用してアクションと条件を追加または削除します。

    また、[マネージド型アクセス許可のインポート] を選択して、既存のポリシーテンプレートを使用することもできます。

  5. 終了したら、ページ下部の [バージョンを作成] を選択します。

AWS CLI
カスタマー管理アクセス許可の新しいバージョンを作成するには
  1. 新しいバージョンを作成する管理アクセス許可の Amazon リソースネーム (ARN) を見つけます。これを行うには、--permission-type CUSTOMER_MANAGED パラメータを含む list-permissions を呼び出して、カスタマー管理アクセス許可のみを含めます。

    $ aws ram-cmp list-permissions --permission-type CUSTOMER_MANAGED { "permissions": [ { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "2", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "permissionType": "CUSTOMER_MANAGED", "resourceType": "imagebuilder:Component", "status": "ATTACHABLE", "creationTime": 1680035597.346, "lastUpdatedTime": 1680035597.346 } ] }
  2. ARN を取得したら、create-permission-version を呼び出して、更新されたポリシーテンプレートを指定します。

    $ aws ram create-permission-version \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \ --policy-template {"Effect":"Allow","Action":["imagebuilder:ListComponents"]} { "permission": { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "2", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "status": "ATTACHABLE", "resourceType": "imagebuilder:Component", "permission": "{\"Effect\":\"Allow\",\"Action\":[\"imagebuilder:ListComponents\"]}", "creationTime": 1680038973.79, "lastUpdatedTime": 1680038973.79 } }

    出力には新しいバージョンのバージョン番号が含まれます。

カスタマー管理アクセス許可のデフォルトとなる別のバージョンを選択する

別のカスタマー管理アクセス許可のバージョンを新しいデフォルトバージョンとして設定できます。

Console
カスタマー管理アクセス許可の新しいデフォルトバージョンを設定するには
  1. [マネージド許可ライブラリ] に移動します。

  2. 管理アクセス許可リストを [カスタマー管理] でフィルタリングするか、変更するカスタマー管理アクセス許可の名前を検索します。

  3. [カスタマー管理アクセス許可の詳細] ページの [マネージド型アクセス許可のバージョン] セクションでドロップダウンリストを使用して、新しいデフォルトとして設定するバージョンを選択します。

  4. [デフォルトバージョンとして設定] を選択します。

  5. ダイアログボックスが表示されたら、このバージョンをこのカスタマー管理アクセス許可を使用するすべての新しいリソース共有のデフォルトにするかどうかを確認します。[デフォルトバージョンとして設定] を選択します。

AWS CLI
カスタマー管理アクセス許可の新しいデフォルトバージョンを設定するには
  1. list-permission-versions を呼び出して、デフォルトのバージョンとして設定するバージョン番号を見つけます。

    次のコマンドの例は、指定した管理アクセス許可の現在のバージョンを取得します。

    $ aws ram list-permission-versions \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP { "permissions": [ { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "1", "defaultVersion": false, "isResourceTypeDefault": false, "name": "TestCMP", "permissionType": "CUSTOMER_MANAGED", "featureSet": "STANDARD", "resourceType": "imagebuilder:Component", "status": "UNATTACHABLE", "creationTime": 1680033769.401, "lastUpdatedTime": 1680035597.345 }, { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "2", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "permissionType": "CUSTOMER_MANAGED", "featureSet": "STANDARD", "resourceType": "imagebuilder:Component", "status": "ATTACHABLE", "creationTime": 1680035597.346, "lastUpdatedTime": 1680035597.346 } ] }
  2. バージョン番号をデフォルトとして設定したら、set-default-permission-version を呼び出します。

    $ aws ram-cmp set-default-permission-version \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \ --version 2

    このコマンドが正常に実行されると、出力が返されることはありません。list-permission-versions をもう一度実行して、選択したバージョンの defaultVersion フィールドが true に設定されたことを確認します。

カスタマー管理アクセス許可のバージョンを削除する

各カスタマー管理アクセス許可には最大 5 つのバージョンを作成できます。不要になった場合には、バージョンを削除できます。カスタマー管理アクセス許可のデフォルトバージョンを削除することはできません。削除したバージョンは、最大 2 時間コンソールに「削除済み」ステータスで表示され、その後完全に削除されます。

Console

カスタマー管理アクセス許可のバージョンを削除するには

  1. [マネージド許可ライブラリ] に移動します。

  2. 管理アクセス許可リストを [カスタマー管理] でフィルタリングするか、削除するカスタマー管理アクセス許可のバージョン名を検索します。

  3. 削除するバージョンが現在デフォルトバージョンでないことを確認します。

  4. ページの [バージョン] セクションの [関連付けられたリソース共有] タブを選択して、このバージョンを使用している共有がないか確認します。

    関連付けられている共有がある場合は、このバージョンを削除する前に、カスタマー管理アクセス許可のバージョンを変更する必要があります。

  5. [バージョン] セクションの右側にある [バージョンの削除] を選択します。

  6. 確認ダイアログボックスで [削除] を選択して、カスタマー管理アクセス許可のこのバージョンを削除することを確認します。

    カスタマー管理アクセス許可のバージョンを削除しない場合は、[キャンセル] を選択します。

AWS CLI
カスタマー管理アクセス許可のバージョンを削除するには
  1. list-permission-versions を呼び出して、使用可能なバージョン番号を取得します。

  2. バージョン番号を取得したら、そのバージョン番号を delete-permission-version のパラメータとして指定します。

    $ aws ram-cmp delete-permission-version \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP \ --version 1

    このコマンドが正常に実行されると、出力が返されることはありません。list-permission-versions をもう一度実行して、削除したバージョンが出力に含まれていないことを確認します。

カスタマー管理アクセス許可を削除する

カスタマー管理アクセス許可が不要になった場合、または使用していない場合、カスタマー管理アクセス許可を削除できます。共有リソースに関連付けられているカスタマー管理アクセス許可を削除することはできません。削除されたカスタマー管理アクセス許可は、2 時間後に表示されなくなります。それまでは、[管理アクセス許可ライブラリ] に「削除済み」ステータスで表示され続けます。

Console

カスタマー管理アクセス許可を削除するには

  1. [マネージド許可ライブラリ] に移動します。

  2. 管理アクセス許可リストを [カスタマー管理] でフィルタリングするか、削除するカスタマー管理アクセス許可の名前を検索します。

  3. カスタマー管理アクセス許可を選択する前に、管理アクセス許可リストで関連付けられている共有が 0 であることを確認します。

    管理アクセス許可に関連付けられているリソース共有がある場合は、続行する前にすべてのリソース共有に別の管理アクセス許可を割り当てる必要があります。

  4. [カスタマー管理アクセス許可の詳細] ページの右上隅で、[マネージド型アクセス許可の削除] を選択します。

  5. 確認ダイアログボックスが表示されたら、[削除] を選択して管理アクセス許可を削除します。

AWS CLI
カスタマー管理アクセス許可を削除するには
  1. カスタマー管理アクセス許可のみが含まれるように --permission-type CUSTOMER_MANAGED パラメータを含む list-permissions を呼び出して、削除する管理アクセス許可の ARN を見つけます。

    $ aws ram-cmp list-permissions --permission-type CUSTOMER_MANAGED { "permissions": [ { "arn": "arn:aws:ram:us-east-1:123456789012:permission/TestCMP", "version": "2", "defaultVersion": true, "isResourceTypeDefault": false, "name": "TestCMP", "permissionType": "CUSTOMER_MANAGED", "resourceType": "imagebuilder:Component", "status": "ATTACHABLE", "creationTime": 1680035597.346, "lastUpdatedTime": 1680035597.346 } ] }
  2. 削除する管理アクセス許可の ARN を取得したら、取得した ARN を delete-permission のパラメータとして指定します。

    $ aws ram delete-permission \ --permission-arn arn:aws:ram:us-east-1:123456789012:permission/TestCMP { "returnValue": true, "permissionStatus": "DELETING" }