この記事では、RAM サービスをアクティブ化した後、API を介してインスタンス RAM ロールを使用する方法を紹介し、操作手順に焦点を当てます。
#API を介したインスタンス RAM ロールの使用##使用制限インスタンス RAM ロールの使用には次の制限があります。 :
プライベート ネットワーク (VPC) ネットワーク タイプの ECS インスタンスのみがインスタンス RAM ロールを使用できます。 ECS インスタンスには、一度に 1 つのインスタンスにのみ RAM ロールを付与できます。 ECS インスタンスにインスタンス RAM ロールを付与し、ECS インスタンス内にデプロイされたアプリケーションのクラウド製品の API にアクセスしたい場合は、インスタンス RAM ロールの一時認証トークンを取得する必要があります。インスタンスのメタデータを通じて。 「5」を参照してください。(オプション) 一時的な認可トークンを取得します。 RAM ユーザー サブアカウントを使用してインスタンス RAM ロールを使用する場合は、クラウド アカウントを通じて RAM ユーザーにインスタンス RAM ロールの使用を許可する必要があります 6. (オプション)。 前提条件RAM サービスをすでにアクティブ化している必要があります。RAM サービスをアクティブ化するためのアクティブ化方法については、RAM ドキュメントを参照してください。
1. インスタンス RAM ロールを作成します。インターフェイス CreateRole を呼び出して、インスタンス RAM ロールを作成します。
RoleName パラメーターを設定します (値を EcsRamRoleDocumentTesting に設定するなど)。 次のポリシーに従って AssumeRolePolicyDocument を設定します:{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ecs.aliyuncs.com" ] } } ], "Version": "1" }
インターフェイスを呼び出します。 CreatePolicy を使用して、新しい認可ポリシーを作成します。
RoleName パラメーターを設定します (値を EcsRamRoleDocumentTestingPolicy に設定するなど)。 次のポリシーに従って PolicyDocument を設定します。{ "Statement": [ { "Action": [ "oss:Get*", "oss:List*" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
インターフェイス AttachInstanceRamRole を呼び出して、インスタンスに RAM ロールを付与します。
RegionId パラメータと InstanceIds パラメータを設定して ECS インスタンスを指定します。 EcsRamRoleDocumentTesting などの RamRoleName パラメーターを設定します。 4. (オプション) インスタンス RAM ロールを再利用するインターフェイス DetachInstanceRamRole を呼び出して、インスタンス RAM ロールを再利用します。
RegionId パラメータと InstanceIds パラメータを設定して ECS インスタンスを指定します。 EcsRamRoleDocumentTesting などの RamRoleName パラメーターを設定します。 5. (オプション) 一時認可トークンの取得インスタンス RAM ロールの一時認可トークンを取得できます。トークンはインスタンス RAM ロールの権限とリソースを実行でき、一時認可トークンは定期的に自動的に更新されます。例:
EcsRamRoleDocumentTesting という名前のインスタンス RAM ロールの一時認証トークンを取得します。 Linux インスタンス: コマンドcurl http://100.100.100.200/latest/meta-data/Ram/ を実行します。セキュリティ -credentials/EcsRamRoleDocumentTesting。 Windows インスタンス: インスタンスのメタデータについてはドキュメントを参照してください。 一時的な認可トークンを取得します。返される例は次のとおりです:{ "AccessKeyId" : "XXXXXXXXX", "AccessKeySecret" : "XXXXXXXXX", "Expiration" : "2017-11-01T05:20:01Z", "SecurityToken" : "XXXXXXXXX", "LastUpdated" : "2017-10-31T23:20:01Z", "Code" : "Success" }
説明
条件 RAM ユーザーにインスタンス RAM ロールの使用を許可するときは、RAM ユーザーにインスタンス RAM ロールの PassRole 権限を付与する必要があります。このうち、PassRole は、ロール ポリシーによって付与されたアクセス許可を RAM ユーザーが直接実行できるかどうかを決定します。 RAM コンソールにログインし、ドキュメントを参照して RAM ユーザーに次のように認証を完了させます:{ "Version": "2016-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecs: [ECS RAM Action]", "ecs: CreateInstance", "ecs: AttachInstanceRamRole", "ecs: DetachInstanceRAMRole" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ram:PassRole", "Resource": "*" } ] }
以上がRAM サービスをアクティブ化した後、API を通じてインスタンス RAM ロールを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。