Dieser Artikel stellt vor, wie Sie die Instanz-RAM-Rolle über die API nach der Aktivierung des RAM-Dienstes verwenden, und konzentriert sich auf die Schritte.
Verwendung der Instanz-RAM-Rolle über die API
Nutzungsbeschränkungen
Die folgenden Einschränkungen gelten für die Verwendung der Instanz-RAM-Rolle :
Nur ECS-Instanzen des Netzwerktyps Privates Netzwerk (VPC) können die Instanz-RAM-Rolle verwenden.
Eine ECS-Instanz kann jeweils nur einer Instanz die RAM-Rolle zugewiesen werden.
Wenn Sie einer ECS-Instanz die Instanz-RAM-Rolle gewährt haben und auf die API des Cloud-Produkts in einer innerhalb der ECS-Instanz bereitgestellten Anwendung zugreifen möchten, müssen Sie das temporäre Autorisierungstoken der Instanz-RAM-Rolle erhalten über die Instanzmetadaten. Siehe 5. (Optional) Erhalten Sie ein temporäres Autorisierungstoken.
Wenn Sie das RAM-Benutzer-Unterkonto verwenden, um die Instanz-RAM-Rolle zu verwenden, müssen Sie den RAM-Benutzer autorisieren, die Instanz-RAM-Rolle über das Cloud-Konto 6 zu verwenden. (Optional).
Voraussetzungen
Sie haben den RAM-Dienst aktiviert. Informationen zur Aktivierungsmethode zum Aktivieren des RAM-Dienstes finden Sie im RAM-Dokument.
1. Erstellen Sie eine Instanz-RAM-Rolle
Rufen Sie die Schnittstelle CreateRole auf, um eine Instanz-RAM-Rolle zu erstellen.
Legen Sie den RoleName-Parameter fest, beispielsweise seinen Wert auf EcsRamRoleDocumentTesting.
Setzen Sie AssumeRolePolicyDocument gemäß der folgenden Richtlinie:
{ "Statement": [ { "Action": "sts:AssumeRole", "Effect": "Allow", "Principal": { "Service": [ "ecs.aliyuncs.com" ] } } ], "Version": "1" }
2. Autorisieren Sie die Instanz-RAM-Rolle
Rufen Sie die Schnittstelle CreatePolicy auf Erstellen Sie eine neue Autorisierungsrichtlinie.
Legen Sie den RoleName-Parameter fest, beispielsweise seinen Wert auf EcsRamRoleDocumentTestingPolicy.
Legen Sie PolicyDocument gemäß der folgenden Richtlinie fest:
{ "Statement": [ { "Action": [ "oss:Get*", "oss:List*" ], "Effect": "Allow", "Resource": "*" } ], "Version": "1" }
Rufen Sie die Schnittstelle AttachPolicyToRole Autorisierungsrollenrichtlinie auf.
Setzen Sie den Parameter „PolicyType“ auf „Benutzerdefiniert“.
Legen Sie den PolicyName-Parameter fest, z. B. EcsRamRoleDocumentTestingPolicy.
Legen Sie den RoleName-Parameter fest, z. B. EcsRamRoleDocumentTesting.
3. Gewähren Sie der Instanz die RAM-Rolle
Rufen Sie die Schnittstelle AttachInstanceRamRole auf, um der Instanz die RAM-Rolle zuzuweisen.
Legen Sie die Parameter RegionId und InstanceIds fest, um eine ECS-Instanz anzugeben.
Legen Sie den RamRoleName-Parameter fest, z. B. EcsRamRoleDocumentTesting.
4. (Optional) Fordern Sie die Instanz-RAM-Rolle zurück
Rufen Sie die Schnittstelle DetachInstanceRamRole auf, um die Instanz-RAM-Rolle zurückzufordern.
Legen Sie die Parameter RegionId und InstanceIds fest, um eine ECS-Instanz anzugeben.
Legen Sie den RamRoleName-Parameter fest, z. B. EcsRamRoleDocumentTesting.
5. (Optional) Erhalten Sie ein temporäres Autorisierungstoken
Sie können ein temporäres Autorisierungstoken für die Instanz-RAM-Rolle erhalten Das Token kann die Berechtigungen und Ressourcen der Instanz-RAM-Rolle ausführen, und das temporäre Autorisierungstoken wird regelmäßig automatisch aktualisiert. Beispiel:
Das temporäre Autorisierungstoken der Instanz-RAM-Rolle namens EcsRamRoleDocumentTesting abrufen:
Linux-Instanz: Führen Sie den Befehl „curl“ http://100.100.100.200/latest/meta-data/Ram/ aus. security -credentials/EcsRamRoleDocumentTesting.
Windows-Instanzen: Informationen zu Instanzmetadaten finden Sie in der Dokumentation.
Besorgen Sie sich ein temporäres Autorisierungstoken. Das Rückgabebeispiel lautet wie folgt:
{ "AccessKeyId" : "XXXXXXXXX", "AccessKeySecret" : "XXXXXXXXX", "Expiration" : "2017-11-01T05:20:01Z", "SecurityToken" : "XXXXXXXXX", "LastUpdated" : "2017-10-31T23:20:01Z", "Code" : "Success" }
6 (Optional) Autorisieren Sie den RAM-Benutzer, die Instanz-RAM-Rolle zu verwenden
Beschreibung
Wenn Sie einem RAM-Benutzer die Verwendung einer Instanz-RAM-Rolle autorisieren, müssen Sie dem RAM-Benutzer PassRole-Berechtigungen für die Instanz-RAM-Rolle erteilen. Unter anderem bestimmt PassRole, ob der RAM-Benutzer die durch die Rollenrichtlinie gewährten Berechtigungen direkt ausführen kann.
Melden Sie sich bei der RAM-Konsole an und lesen Sie in der Dokumentation nach, um RAM-Benutzern die Autorisierung wie folgt zu autorisieren:
{ "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": "*" } ] }
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Instanz-RAM-Rolle über die API, nachdem Sie den RAM-Dienst aktiviert haben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!